diff options
Diffstat (limited to 'src/libGLESv2/renderer/Renderer11.cpp')
-rw-r--r-- | src/libGLESv2/renderer/Renderer11.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/libGLESv2/renderer/Renderer11.cpp b/src/libGLESv2/renderer/Renderer11.cpp index 334e2114..dd7b6bdb 100644 --- a/src/libGLESv2/renderer/Renderer11.cpp +++ b/src/libGLESv2/renderer/Renderer11.cpp @@ -849,7 +849,11 @@ bool Renderer11::applyPrimitiveType(GLenum mode, GLsizei count) return gl::error(GL_INVALID_ENUM, false); } - mDeviceContext->IASetPrimitiveTopology(primitiveTopology); + if (primitiveTopology != mCurrentPrimitiveTopology) + { + mDeviceContext->IASetPrimitiveTopology(primitiveTopology); + mCurrentPrimitiveTopology = primitiveTopology; + } return count > 0; } @@ -1816,6 +1820,8 @@ void Renderer11::markAllStateDirty() mCurrentVertexConstantBuffer = NULL; mCurrentPixelConstantBuffer = NULL; mCurrentGeometryConstantBuffer = NULL; + + mCurrentPrimitiveTopology = D3D_PRIMITIVE_TOPOLOGY_UNDEFINED; } void Renderer11::releaseDeviceResources() |