summaryrefslogtreecommitdiff
path: root/src/libGLESv2/renderer/Renderer11.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libGLESv2/renderer/Renderer11.cpp')
-rw-r--r--src/libGLESv2/renderer/Renderer11.cpp8
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()