This will allow us to select either rasterizing the tiles with a
scale factor of 1.0 (for high performance mode) or at the current
scale of the pinch-zoom (for high quality mode).
Differential Revision: https://phabricator.services.mozilla.com/D116796
We still need the blocklist to control rollout on Android, but on
desktop, we should be shipping Software WebRender to all users, except
those in safe mode or whom have explicitly disabled WebRender.
Differential Revision: https://phabricator.services.mozilla.com/D117088
We still need the blocklist to control rollout on Android, but on
desktop, we should be shipping Software WebRender to all users, except
those in safe mode or whom have explicitly disabled WebRender.
Differential Revision: https://phabricator.services.mozilla.com/D117088
If a user is able to get D3D11, and Software WebRender hasn't been
forced on (either by the Fission experiment or our pref), then we prefer
D3D11 in late beta and release. This will allow users who start with
D3D11 in the GPU process, to fallback to Software WebRender in the GPU
process.
Differential Revision: https://phabricator.services.mozilla.com/D114286
Currently, reftest-content uses GfxInfo::GetInfo() to obtain information about
the Azure backend. GetInfo() uses Win32k APIs, and therefore will mostly
return garbage in content processes.
This adds a new way to obtain the same information directly from GfxInfo
without using Win32k APIs.
Differential Revision: https://phabricator.services.mozilla.com/D111890
Crashtests on Android in CI for SW-WR to get more testing coverage.
Problem of 1678938-1.html is going to be handled by bug 1704943.
Differential Revision: https://phabricator.services.mozilla.com/D112519
This patch leaves DirectComposition turned on by default on nightly but
disables DirectComposition on beta/release due to known rendering
artifact issues.
Differential Revision: https://phabricator.services.mozilla.com/D111965
Not all transforms we encounter for image clip masks are invertible. When the unmap of the
world rect back to the local rect fails, we can safely fall back to using a scissor rect.
Skipping the scissor rect is an optimization and is not needed for correctness.
Differential Revision: https://phabricator.services.mozilla.com/D111677
Loading cached shaders with glProgramBinary fails consistently for all
but the most trivial of our shaders on Adreno 3xx, so caching and
attempting to load them is a waste of time. Chromium and other
projects also appear to have disabled their shader caches on Adreno
3xx due to bugs.
This patch moves the gfx.webrender.program-binary-disk pref
declaration from all.js to StaticPrefList.yaml. Rather than directly
using the value of the pref to decide whether to create the shader
cache, we now initialize a Feature in gfxConfigManager with a default
value from the pref and then configure it from the blocklist. On
Android we block the feature on Adreno 3xx devices. The pref remains
true by default on Android and Windows, and false by default on Linux
and Macos.
Differential Revision: https://phabricator.services.mozilla.com/D111427
Windows users on Basic / without D3D11 compositing, with the GPU
process, and with small screens may get Software WebRender on the
late beta and release channel.
Differential Revision: https://phabricator.services.mozilla.com/D107920
This reftest seems to have strange interactions with the reftest harness on
Android. Disable this for now until we have a better idea what's going on.
Differential Revision: https://phabricator.services.mozilla.com/D107781
This fixes a bug wherein we were calculating the distance to the corner apex incorrectly
which could result in it being clipped in the presence of transforms that cause the step
scale to not be axis-aligned.
Differential Revision: https://phabricator.services.mozilla.com/D107618
It is possible to support 24-bit depth in SWGL without a large performance hit
and without increasing the size of the depth buffer. Since depth runs already
have 32-bit entries, if we carefully limit the depth run size to 8 bits we have
24 bits left over to store the actual depth value.
Differential Revision: https://phabricator.services.mozilla.com/D107409
We should be reasonably hardened these days against using linear filters and over-reading
things when we shouldn't. There isn't as much need for strict alignment requirements on
external buffers anymore.
Differential Revision: https://phabricator.services.mozilla.com/D106989
This removes the parts of the gtest that were using these
functions. That specific testing is already happeing in src/gtest.rs
Differential Revision: https://phabricator.services.mozilla.com/D106471
Webrender's pre-optimized shaders result in completely broken
rendering on a Huawei MediaPad M2 (Mali-T628). As a precaution,
disable optimized shaders on all Mali-T6xx devices.
Differential Revision: https://phabricator.services.mozilla.com/D104752
Webrender's pre-optimized shaders result in completely broken
rendering on a Huawei MediaPad M2 (Mali-T628). As a precaution,
disable optimized shaders on all Mali-T6xx devices.
Differential Revision: https://phabricator.services.mozilla.com/D104752
Due to rendering issues reported on a Mali-T628 and Mali-T760, disable
partial present on all Mali-T6xx and T7xx devices. We know that not
all T6xx and T7xx devices are affected, so this is being cautious. The
driver version is probably more important than the GPU model. We
should make the block more precise once more is known about the bug.
Differential Revision: https://phabricator.services.mozilla.com/D104678