Avoid non-indexed quad draws on PowerVR Rogue and 54x
Bug: chromium:1203652
Change-Id: Id83ac81c40eda2653e97a7c8ae9326c273f0f00b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/420537
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
diff --git a/src/gpu/ops/GrQuadPerEdgeAA.cpp b/src/gpu/ops/GrQuadPerEdgeAA.cpp
index 307eb0a..4ce8103 100644
--- a/src/gpu/ops/GrQuadPerEdgeAA.cpp
+++ b/src/gpu/ops/GrQuadPerEdgeAA.cpp
@@ -244,10 +244,10 @@
namespace GrQuadPerEdgeAA {
-IndexBufferOption CalcIndexBufferOption(GrAAType aa, int numQuads) {
+IndexBufferOption CalcIndexBufferOption(GrAAType aa, int numQuads, const GrCaps& caps) {
if (aa == GrAAType::kCoverage) {
return IndexBufferOption::kPictureFramed;
- } else if (numQuads > 1) {
+ } else if (numQuads > 1 || caps.alwaysDrawQuadsIndexed()) {
return IndexBufferOption::kIndexedRects;
} else {
return IndexBufferOption::kTriStrips;