diff options
author | Brian Paul <[email protected]> | 2010-04-09 10:03:31 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2010-04-09 10:03:36 -0600 |
commit | b22a00bff4aadd390dd8af6b5b05bd2833ec7f85 (patch) | |
tree | 447e8e71663137cee731a5955fa5bf9aba4c465b /src/mesa/shader/program.c | |
parent | 21cf976ad970bb407b53a863a30efbcd1c8bbf7c (diff) |
mesa: fix instruction indexing bugs
We were looping over instructions but only looking at the 0th instruction's
opcode.
Fixes fd.o bug 27566.
Diffstat (limited to 'src/mesa/shader/program.c')
-rw-r--r-- | src/mesa/shader/program.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mesa/shader/program.c b/src/mesa/shader/program.c index f4f701b5461..f77a7737530 100644 --- a/src/mesa/shader/program.c +++ b/src/mesa/shader/program.c @@ -625,7 +625,7 @@ replace_registers(struct prog_instruction *inst, GLuint numInst, GLuint i, j; for (i = 0; i < numInst; i++) { /* src regs */ - for (j = 0; j < _mesa_num_inst_src_regs(inst->Opcode); j++) { + for (j = 0; j < _mesa_num_inst_src_regs(inst[i].Opcode); j++) { if (inst[i].SrcReg[j].File == oldFile && inst[i].SrcReg[j].Index == oldIndex) { inst[i].SrcReg[j].File = newFile; @@ -652,7 +652,7 @@ adjust_param_indexes(struct prog_instruction *inst, GLuint numInst, { GLuint i, j; for (i = 0; i < numInst; i++) { - for (j = 0; j < _mesa_num_inst_src_regs(inst->Opcode); j++) { + for (j = 0; j < _mesa_num_inst_src_regs(inst[i].Opcode); j++) { GLuint f = inst[i].SrcReg[j].File; if (f == PROGRAM_CONSTANT || f == PROGRAM_UNIFORM || |