Don't compile D3D geometry shader when using instanced point emulation
If ANGLE is using instanced point sprites (e.g. on Feature Level 9_3) then it
still tries to compile the point sprite geometry shader. It shouldn't do this.
Change-Id: I6e7753dd337c385893fc4bea6c8438aeaf5e8427
Reviewed-on: https://chromium-review.googlesource.com/321397
Tryjob-Request: Austin Kinross <aukinros@microsoft.com>
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/renderer/d3d/ProgramD3D.cpp b/src/libANGLE/renderer/d3d/ProgramD3D.cpp
index aff39b0..b512046 100644
--- a/src/libANGLE/renderer/d3d/ProgramD3D.cpp
+++ b/src/libANGLE/renderer/d3d/ProgramD3D.cpp
@@ -1242,9 +1242,8 @@
*outExecutable = nullptr;
}
- // We only uses a geometry shader for point sprite emulation, or for fixing the provoking
- // vertex problem. Otherwise, return a null shader.
- if (drawMode != GL_POINTS && !mUsesFlatInterpolation)
+ // Return a null shader if the current rendering doesn't use a geometry shader
+ if (!usesGeometryShader(drawMode))
{
return gl::Error(GL_NO_ERROR);
}