зеркало из https://github.com/mozilla/gecko-dev.git
1b90388e5a
On some Adreno 3xx devices the brush blend shader renders garbage. This appears to be due to declaring the v_funcs varying (used for component transfer filters) as an ivec4, though it is unclear exactly why this breaks it. Previously we used an int[4], but that ran afoul of another driver bug on some Adreno 3xx devices (bug 1695912). This patch alternatively packs each of the component functions in to 4 bits of an integer, and unpacks the values in the fragment shader. However, due to yet another Adreno 3xx driver bug (bug 1630356) we cannot simply use an int, and instead must use the x component of a vec2. This fixes the brush_blend shader for the majority of blend modes, whilst avoiding the known bugs above. Component transfer itself is still broken, though no moreso than prior to this patch. Fixing component transfer will be handled in a separate bug. Differential Revision: https://phabricator.services.mozilla.com/D126967 |
||
---|---|---|
.. | ||
2d | ||
angle | ||
cairo | ||
config | ||
docs | ||
gl | ||
graphite2 | ||
harfbuzz | ||
ipc | ||
layers | ||
ots | ||
qcms | ||
skia | ||
src | ||
tests | ||
thebes | ||
vr | ||
webrender_bindings | ||
wgpu_bindings | ||
wr | ||
ycbcr | ||
metrics.yaml | ||
moz.build |