Closed Bug 1604664 Opened 2 months ago Closed 2 months ago

Enforce the WebRender shaders to be bound after the blend changes

Categories

(Core :: Graphics: WebRender, task, P3)

task

Tracking

()

RESOLVED FIXED
mozilla73
Tracking Status
firefox73 --- fixed

People

(Reporter: kvark, Assigned: kvark)

Details

Attachments

(1 file)

The Renderer currently issues set_blend mixed with Shader::bind. The blending is mostly set up first, but not every time. This comes up as a problem for the next-gen APIs where the blending and the shader are both a part of the pipeline state, and we don't want to eagerly be setting the new pipeline on the change of either.

What we could do is to enforce (.e.g. by a debug-only runtime flag) that there is always a call to bind a shader between a blend setting and a draw call. This would allow the Szeged team to unconditionally change the pipeline on the shader binding. See https://github.com/szeged/webrender/pull/342

Assignee: nobody → dmalyshau
Status: NEW → ASSIGNED
Pushed by dmalyshau@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/8b96d1241d11
WR force program rebinding after blend changes r=gw
Status: ASSIGNED → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla73
You need to log in before you can comment on or make changes to this bug.