Disable tessellation path renderer on Wembley devices.

Bug: skia:12597 skia:12598 skia:12589
Change-Id: I0468a035b835825bf7d94af98c2a3320b4685006
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/467079
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
This commit is contained in:
Greg Daniel 2021-11-03 15:45:53 -04:00 committed by SkCQ
parent 6990ee0dad
commit dfeced7059

View File

@ -4028,6 +4028,16 @@ void GrGLCaps::applyDriverCorrectnessWorkarounds(const GrGLContextInfo& ctxInfo,
ctxInfo.angleBackend() == GrGLANGLEBackend::kD3D9) { // D3D9 conic strokes fail.
fDisableTessellationPathRenderer = true;
}
// We found that on Wembley devices (PowerVR GE8320) that using tessellation path renderer would
// cause lots of rendering errors where it seemed like vertices were in the wrong place. This
// led to lots of GMs drawing nothing (e.g. dashing4) or lots of garbage. The Wembley devices
// were running Android 12 with a driver version of 1.13. We previously had TecnoSpark devices
// with the same GPU running on Android P (driver 1.10) which did not have this issue. We don't
// know when the bug appeared in the driver so for now we disable tessellation path renderer for
// all matching gpus regardless of driver version.
if (ctxInfo.renderer() == GrGLRenderer::kPowerVRRogue) {
fDisableTessellationPathRenderer = true;
}
// http://skbug.com/9739
bool isNVIDIAPascal =