Closed
Bug 1401609
Opened 8 years ago
Closed 8 years ago
Some canvases on perf-html.io don't update
Categories
(Core :: Graphics: WebRender, defect, P1)
Core
Graphics: WebRender
Tracking
()
VERIFIED
FIXED
mozilla58
Tracking | Status | |
---|---|---|
firefox57 | --- | unaffected |
firefox58 | --- | unaffected |
People
(Reporter: mstange, Assigned: sotaro)
References
Details
(Whiteboard: [wr-mvp] [gfx-noted])
Attachments
(3 files)
488 bytes,
text/html
|
Details | |
20.10 KB,
patch
|
jrmuizel
:
review+
|
Details | Diff | Splinter Review |
900 bytes,
patch
|
mstange
:
review+
|
Details | Diff | Splinter Review |
Steps to reproduce:
1. Enable webrender, webrendest, layers-free and blob images.
2. Open this profile: https://perfht.ml/2jM7NEH
3. Create a selection in the upper part of the page by dragging the mouse over the graphs.
4. "Zoom" into that selection by clicking the magnifying glass.
The markers and the graphs should now be zoomed in to show only the selected time range. However, only the "marker" canvases update; the "stack graph" canvases still show the pre-zoom state.
Updated•8 years ago
|
Priority: -- → P3
Whiteboard: [gfx-noted]
Updated•8 years ago
|
Blocks: stage-wr-trains
Updated•8 years ago
|
Priority: P3 → P2
Whiteboard: [gfx-noted] → [wr-mvp] [gfx-noted]
Reporter | ||
Comment 1•8 years ago
|
||
This bug was not fixed by bug 1405481.
Reporter | ||
Comment 2•8 years ago
|
||
Click the canvas. Every time you click, the canvas should toggle between green and blue. With WebRender it seems to stay green forever.
Whenever the canvas's internal surface gets reset because the canvas width or height gets changed, with WebRender we seem to fail to adopt the new surface. Instead, the original surface keeps being displayed forever.
Sotaro, would you like to look into this?
Flags: needinfo?(sotaro.ikeda.g)
Assignee | ||
Comment 3•8 years ago
|
||
Thanks, I am going to look into it.
Assignee: nobody → sotaro.ikeda.g
Flags: needinfo?(sotaro.ikeda.g)
Updated•8 years ago
|
Status: NEW → ASSIGNED
Priority: P2 → P1
Updated•8 years ago
|
Assignee | ||
Comment 4•8 years ago
|
||
Non-WebRender case, CanvasRenderingContext2D recreates CanvasLayer and CanvasRenderer when after CanvasRenderingContext2D::ClearTarget() is called. But WebRender case, CanvasRenderer is not re-created, but CanvasRenderingContext2D assumes it.
Assignee | ||
Comment 5•8 years ago
|
||
CanvasRenderingContext2D::SetDimensions() calls CanvasRenderingContext2D::ClearTarget(). Then CanvasRenderingContext2D creates new BufferProvider for rendering, but WebRenderCanvasData(CanvasRenderer) continues to use old obsoleted BufferProvider.
Assignee | ||
Comment 6•8 years ago
|
||
Assignee | ||
Comment 7•8 years ago
|
||
attachment 8921771 [details] [diff] [review] was created by referencing GetCanvasLayer().
Assignee | ||
Updated•8 years ago
|
Attachment #8921771 -
Attachment description: patch - Add UpdateWebRenderCanvasData() to handle CanvasRenderer re-creation → patch part 1 - Add UpdateWebRenderCanvasData() to handle CanvasRenderer re-creation
Assignee | ||
Comment 8•8 years ago
|
||
Assignee | ||
Comment 9•8 years ago
|
||
Assignee | ||
Updated•8 years ago
|
Attachment #8921771 -
Flags: review?(jmuizelaar)
Assignee | ||
Updated•8 years ago
|
Attachment #8921798 -
Flags: review?(jmuizelaar)
Updated•8 years ago
|
Attachment #8921771 -
Flags: review?(jmuizelaar) → review+
Assignee | ||
Comment 10•8 years ago
|
||
jrmuizel, can you also review attachment 8921798 [details] [diff] [review]? Thanks!
Flags: needinfo?(jmuizelaar)
Reporter | ||
Updated•8 years ago
|
Attachment #8921798 -
Flags: review?(jmuizelaar) → review+
Reporter | ||
Updated•8 years ago
|
Flags: needinfo?(jmuizelaar)
Assignee | ||
Comment 11•8 years ago
|
||
:mstange, thanks!
Assignee | ||
Comment 12•8 years ago
|
||
Comment 13•8 years ago
|
||
Pushed by sikeda@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/8cb78523022e
Add UpdateWebRenderCanvasData() to handle CanvasRenderer re-creation r=jrmuizel,mstange
![]() |
||
Comment 14•8 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla58
Updated•8 years ago
|
Has STR: --- → yes
OS: Mac OS X → All
Comment 15•8 years ago
|
||
(In reply to Markus Stange [:mstange] from comment #2)
> Created attachment 8920661 [details]
> testcase
>
> Click the canvas. Every time you click, the canvas should toggle between green and blue. With WebRender it seems to stay green forever.
Verified fixed in Nightly 58 x64 20171029220112 de_DE @ Debian Testing (Radeon RX480). Thank you!
Status: RESOLVED → VERIFIED
You need to log in
before you can comment on or make changes to this bug.
Description
•