Find and fix rounding errors in WebRender update int regions, remove runtime asserts in NativeLayerCA.
Categories
(Core :: Graphics: WebRender, defect, P3)
Tracking
()
People
(Reporter: bradwerth, Assigned: bradwerth)
References
Details
Judging by the asserts hit in Bug 1817691, It appears that WebRender is providing off-by-one dirtyRects
in RenderCompositorNativeOGL::Bind
. The dirty rects are leaving NativeLayerCA
invalid region tracking with one-pixel tall or wide regions, which trip the asserts. There's no evidence that WebRender is sending bad pixels, but the asserts are runtime asserts and have a runtime cost.
Find and fix the rounding error and remove the runtime asserts in NativeLayerCA.
Assignee | ||
Comment 1•2 years ago
|
||
Further up the callstack to RenderCompositorNativeOGL::Bind
, we'll be passing through wr_compositor_bind
. That is the culprit point of entry for a badly-rounded int device rect or int update rect. Just leaving a note here for when we try to solve this.
Assignee | ||
Comment 2•2 years ago
|
||
The runtime asserts are removed, and we were never able to find a case where any off-by-one rounding errors were leading to the display of bad pixels. This is all probably fine.
Description
•