summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/mesa/drivers/dri/r300/r300_vertprog.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/r300/r300_vertprog.c b/src/mesa/drivers/dri/r300/r300_vertprog.c
index 52fd1de4495..e8917980ba5 100644
--- a/src/mesa/drivers/dri/r300/r300_vertprog.c
+++ b/src/mesa/drivers/dri/r300/r300_vertprog.c
@@ -883,10 +883,11 @@ static void position_invariant(struct gl_program *prog)
gl_state_index tokens[STATE_LENGTH] = { STATE_MVP_MATRIX, 0, 0, 0, 0 };
+ /* tokens[4] = matrix modifier */
#ifdef PREFER_DP4
- tokens[5] = STATE_MATRIX;
+ tokens[4] = 0; /* not transposed or inverted */
#else
- tokens[5] = STATE_MATRIX_TRANSPOSE;
+ tokens[4] = STATE_MATRIX_TRANSPOSE;
#endif
paramList = prog->Parameters;
@@ -895,7 +896,7 @@ static void position_invariant(struct gl_program *prog)
for (i=0; i < 4; i++) {
GLint idx;
- tokens[3] = tokens[4] = i;
+ tokens[2] = tokens[3] = i; /* matrix row[i]..row[i] */
idx = _mesa_add_state_reference(paramList, tokens);
#ifdef PREFER_DP4
vpi[i].Opcode = OPCODE_DP4;