diff --git a/src/renderer_d3d11.cpp b/src/renderer_d3d11.cpp index 499267785..4d360d8cb 100644 --- a/src/renderer_d3d11.cpp +++ b/src/renderer_d3d11.cpp @@ -3606,15 +3606,17 @@ namespace bgfx } if (programChanged - || currentState.m_vertexBuffer.idx != draw.m_vertexBuffer.idx + || currentState.m_vertexDecl.idx != draw.m_vertexDecl.idx + || currentState.m_vertexBuffer.idx != draw.m_vertexBuffer.idx || currentState.m_instanceDataBuffer.idx != draw.m_instanceDataBuffer.idx - || currentState.m_instanceDataOffset != draw.m_instanceDataOffset - || currentState.m_instanceDataStride != draw.m_instanceDataStride) + || currentState.m_instanceDataOffset != draw.m_instanceDataOffset + || currentState.m_instanceDataStride != draw.m_instanceDataStride) { - currentState.m_vertexBuffer = draw.m_vertexBuffer; + currentState.m_vertexDecl = draw.m_vertexDecl; + currentState.m_vertexBuffer = draw.m_vertexBuffer; currentState.m_instanceDataBuffer.idx = draw.m_instanceDataBuffer.idx; - currentState.m_instanceDataOffset = draw.m_instanceDataOffset; - currentState.m_instanceDataStride = draw.m_instanceDataStride; + currentState.m_instanceDataOffset = draw.m_instanceDataOffset; + currentState.m_instanceDataStride = draw.m_instanceDataStride; uint16_t handle = draw.m_vertexBuffer.idx; if (invalidHandle != handle)