Re-disable indirect draw on ANGLE D3D
Bug: skia:11998
Change-Id: I55520747088feeb5c554179a91adff152a2c5b64
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/408116
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
diff --git a/src/gpu/gl/GrGLCaps.cpp b/src/gpu/gl/GrGLCaps.cpp
index eafd99f..e2f43a4 100644
--- a/src/gpu/gl/GrGLCaps.cpp
+++ b/src/gpu/gl/GrGLCaps.cpp
@@ -643,6 +643,13 @@
fUseClientSideIndirectBuffers = true;
fDrawRangeElementsSupport = version >= GR_GL_VER(2,0);
}
+ // We used to disable this as a correctness workaround (http://anglebug.com/4536). Now it is
+ // disabled because of poor performance (http://skbug.com/11998).
+ if (ctxInfo.angleBackend() == GrGLANGLEBackend::kD3D11) {
+ fBaseVertexBaseInstanceSupport = false;
+ fNativeDrawIndirectSupport = false;
+ fMultiDrawType = MultiDrawType::kNone;
+ }
// We prefer GL sync objects but also support NV_fence_sync. The former can be
// used to implements GrFence and GrSemaphore. The latter only implements GrFence.