summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Src/VertexShaderManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/VideoCommon/Src/VertexShaderManager.cpp')
-rw-r--r--Source/Core/VideoCommon/Src/VertexShaderManager.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/Source/Core/VideoCommon/Src/VertexShaderManager.cpp b/Source/Core/VideoCommon/Src/VertexShaderManager.cpp
index c90e8531f9..3a5936e3fe 100644
--- a/Source/Core/VideoCommon/Src/VertexShaderManager.cpp
+++ b/Source/Core/VideoCommon/Src/VertexShaderManager.cpp
@@ -100,9 +100,8 @@ void VertexShaderManager::SetConstants()
int startn = nNormalMatricesChanged[0] / 3;
int endn = (nNormalMatricesChanged[1] + 2) / 3;
const float *pnstart = (const float*)&xfmem[XFMEM_NORMALMATRICES+3*startn];
- for (int i = startn; i < endn; ++i, pnstart += 3)
- SetVSConstant4fv(C_NORMALMATRICES + i, pnstart); // looks like we're reading one too much..
- nNormalMatricesChanged[0] = nNormalMatricesChanged[1] = -1;
+ SetMultiVSConstant3fv(C_NORMALMATRICES + startn, endn - startn, pnstart);
+ nNormalMatricesChanged[0] = nNormalMatricesChanged[1] = -1;
}
if (nPostTransformMatricesChanged[0] >= 0)
@@ -165,9 +164,7 @@ void VertexShaderManager::SetConstants()
const float *norm = (const float *)xfmem + XFMEM_NORMALMATRICES + 3 * (MatrixIndexA.PosNormalMtxIdx & 31);
SetMultiVSConstant4fv(C_POSNORMALMATRIX, 3, pos);
- SetVSConstant4fv(C_POSNORMALMATRIX+3, norm);
- SetVSConstant4fv(C_POSNORMALMATRIX+4, norm + 3);
- SetVSConstant4fv(C_POSNORMALMATRIX+5, norm + 6);
+ SetMultiVSConstant3fv(C_POSNORMALMATRIX + 3, 3, norm);
}
if (bTexMatricesChanged[0])