Bug 1843749 - Block qcom_tiled_rendering on Adreno 308 GPUs. r=gfx-reviewers,lsalzman

We started using this extension as an optimization on Adreno GPUs in
bug 1828248. At the time, we discovered that there was a driver bug in
version 0490 of the Adreno driver resulting in rendering errors on a
variety of Adreno GPUs. We therefore blocked the usage of the
extension on that driver version.

We have now discovered another bug causing even more apparent
rendering issues. This appears to only affect Adreno 308 GPUs running
driver versions 331 or 415. This patch therefore additionally blocks
the extension on such devices.

Differential Revision: https://phabricator.services.mozilla.com/D184388
This commit is contained in:
Jamie Nicol 2023-07-24 16:23:20 +00:00
parent afff7ac68a
commit d6960b4e32

View file

@ -1841,11 +1841,19 @@ impl Device {
true true
}; };
// We have encountered rendering errors on a variety of Adreno GPUs specifically on driver let supports_qcom_tiled_rendering = if is_adreno && version_string.contains("V@0490") {
// version V@0490, so block this extension on that driver version. // We have encountered rendering errors on a variety of Adreno GPUs specifically on
let supports_qcom_tiled_rendering = // driver version V@0490, so block this extension on that driver version. See bug 1828248.
false
} else if renderer_name == "Adreno (TM) 308"
&& (version_string.contains("V@331") || version_string.contains("V@415"))
{
// And specifically on Areno 308 GPUs we have encountered rendering errors on driver
// versions V@331 and V@415. See bug 1843749.
false
} else {
supports_extension(&extensions, "GL_QCOM_tiled_rendering") supports_extension(&extensions, "GL_QCOM_tiled_rendering")
&& !(is_adreno && version_string.contains("V@0490")); };
// On some Adreno 3xx devices the vertex array object must be unbound and rebound after // On some Adreno 3xx devices the vertex array object must be unbound and rebound after
// an attached buffer has been orphaned. // an attached buffer has been orphaned.