VertexShaderManager: Fix redundant shader constant updates.

Thanks to konpie for spotting this.

Might give a fairly perceivable speedup in the D3D11 backend.
This commit is contained in:
NeoBrainX 2012-12-01 14:23:24 +01:00
parent aaeeef48da
commit bed260aa14
1 changed files with 1 additions and 0 deletions

View File

@ -207,6 +207,7 @@ void VertexShaderManager::SetConstants()
int endn = (nPostTransformMatricesChanged[1] + 3 ) / 4; int endn = (nPostTransformMatricesChanged[1] + 3 ) / 4;
const float* pstart = (const float*)&xfmem[XFMEM_POSTMATRICES + startn * 4]; const float* pstart = (const float*)&xfmem[XFMEM_POSTMATRICES + startn * 4];
SetMultiVSConstant4fv(C_POSTTRANSFORMMATRICES + startn, endn - startn, pstart); SetMultiVSConstant4fv(C_POSTTRANSFORMMATRICES + startn, endn - startn, pstart);
nPostTransformMatricesChanged[0] = nPostTransformMatricesChanged[1] = -1;
} }
if (nLightsChanged[0] >= 0) if (nLightsChanged[0] >= 0)