With current Webrender dithering implementation, when dithering is enabled, brush_linear_gradient and cs_linear_gradient always does dithering. - https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/src/renderer/shade.rs#1024 - https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/src/renderer/shade.rs#1024 - https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/res/gradient.glsl#15 For now, dithering is disabled only when fast path of linear gradient is used. Then the disabling dithering is depends on the following code. It disables dithering when linear gradient has 2 stops and same color. - https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/src/prim_store/gradient/linear.rs#400 Triggering it is affected by [optimize_linear_gradient()](https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/src/prim_store/gradient/linear.rs#117).
Bug 1980565 Comment 10 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
With current Webrender dithering implementation, when dithering is enabled, brush_linear_gradient and cs_linear_gradient always does dithering. - https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/src/renderer/shade.rs#1024 - https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/src/renderer/shade.rs#1024 - https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/res/gradient.glsl#15 For now, dithering is disabled only when fast path of linear gradient is used. Then the disabling dithering is depends on the following code. It disables dithering when linear gradient has 2 stops and same color. - https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/src/prim_store/gradient/linear.rs#400 Triggering it is affected by [optimize_linear_gradient()](https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/src/prim_store/gradient/linear.rs#117). optimize_linear_gradient() could not detect all cases that no color change between stops.
With current Webrender dithering implementation, when dithering is enabled, brush_linear_gradient and cs_linear_gradient always does dithering. - https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/src/renderer/shade.rs#1024 - https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/src/renderer/shade.rs#1024 - https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/res/gradient.glsl#15 For now, dithering is disabled only when fast path of linear gradient is used. Then the disabling dithering is depends on the following code. It disables dithering when linear gradient has 2 stops and same color. - https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/src/prim_store/gradient/linear.rs#400 Triggering it is affected by [optimize_linear_gradient()](https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/src/prim_store/gradient/linear.rs#117). optimize_linear_gradient() fails to detect all cases where there are no color transitions.
With current Webrender dithering implementation, when dithering is enabled, brush_linear_gradient and cs_linear_gradient always does dithering. - https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/src/renderer/shade.rs#1024 - https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/src/renderer/shade.rs#1024 - https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/res/gradient.glsl#15 For now, dithering is disabled only when fast path of linear gradient is used. Then the disabling dithering is depends on the following code. It disables dithering when linear gradient has 2 stops and same color. - https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/src/prim_store/gradient/linear.rs#400 Triggering it is affected by [optimize_linear_gradient()](https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/src/prim_store/gradient/linear.rs#117). optimize_linear_gradient() fails to detect/handle all cases where there are no color transitions.
With current Webrender dithering implementation, when dithering is enabled, brush_linear_gradient and cs_linear_gradient always does dithering. - https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/src/renderer/shade.rs#1024 - https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/src/renderer/shade.rs#1024 - https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/res/gradient.glsl#15 For now, dithering is disabled only when fast path of linear gradient is used. Then the disabling dithering is depends on the following code. It disables dithering when linear gradient has 2 stops and same color. - https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/src/prim_store/gradient/linear.rs#400 Triggering it is affected by [optimize_linear_gradient()](https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/src/prim_store/gradient/linear.rs#117). optimize_linear_gradient() and LinearGradientTemplate::from() fail to detect/handle all cases where there are no color transitions.
With current Webrender dithering implementation, when dithering is enabled, brush_linear_gradient and cs_linear_gradient always does dithering. - https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/src/renderer/shade.rs#1024 - https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/src/renderer/shade.rs#1024 - https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/res/gradient.glsl#15 For now, dithering is disabled only when fast path of linear gradient is used. Then the disabling dithering is depends on the following code. It disables dithering when linear gradient has 2 stops and same color. - https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/src/prim_store/gradient/linear.rs#400 The triggering it is affected by [optimize_linear_gradient()](https://searchfox.org/mozilla-central/rev/00d2cc8ebe323e0cde5619004c588d5e08ad1f46/gfx/wr/webrender/src/prim_store/gradient/linear.rs#117). optimize_linear_gradient() and LinearGradientTemplate::from() fail to detect/handle all cases where there are no color transitions.