зеркало из https://github.com/mozilla/gecko-dev.git
9ef53fde87
This bug occurs under the following conditions: - The clip chain instance has multiple clip items. - The first item in the clip chain is a clip rectangle, with: - ClipMode::Clip - Is in the same coordinate system as the primitive. In this case, the code would skip adding the clip rect to the mask (due to the same coord system). However, the logic that determines whether to render subsequent masks with blend disabled or multiplicative blend was only considering the index of the clip item in the clip chain. In this case, these masks would get added to the blend enabled batches, but the first clip mask which would have written the initial mask values was skipped. The end result was that the subsequent clip masks would be blending with uninitialized render target contents from a previous frame. This patch changes the logic to track when the first clip mask has actually been added to the batch, rather than relying on the index. In this case, it means that the rounded rect mask will get drawn in the blend disabled path, writing the correct mask values without blending with the existing render target contents. Differential Revision: https://phabricator.services.mozilla.com/D20590 --HG-- extra : moz-landing-system : lando |
||
---|---|---|
.. | ||
doc | ||
res | ||
src | ||
tests | ||
Cargo.toml | ||
build.rs |