void PipelineStateCache::setVertexShader(const VertexShader& vertexShader) { // FIXME: cache this ID3D11Buffer* const* constantBuffers; uint32 numConstantBuffers = vertexShader.queryBuffersArray(constantBuffers); m_deviceContext->VSSetConstantBuffers(0, numConstantBuffers, constantBuffers); ID3D11VertexShader* shaderResourcePtr = vertexShader.getResourcePtr(); if (shaderResourcePtr != m_currentVertexShader) { m_currentVertexShader = shaderResourcePtr; m_deviceContext->VSSetShader(shaderResourcePtr, NULL, 0); } }