summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2009-12-11 09:51:27 -0700
committerBrian Paul <brianp@vmware.com>2009-12-11 09:51:27 -0700
commite128cc205e30540597ecd57849060a6bf4714d9f (patch)
tree23b44ead4f4ed55c7c43d8cef9e0d691c1419f2b
parentb605f4ff11c894500f2d0273c5d4653ff413448d (diff)
parent7d41b4248bee1d926646ef5fdff07da4f9026589 (diff)
Merge branch 'mesa_7_6_branch' into mesa_7_7_branch
-rw-r--r--docs/relnotes-7.6.1.html1
-rw-r--r--src/mesa/shader/programopt.c14
2 files changed, 6 insertions, 9 deletions
diff --git a/docs/relnotes-7.6.1.html b/docs/relnotes-7.6.1.html
index 752f9cac64..7160168d98 100644
--- a/docs/relnotes-7.6.1.html
+++ b/docs/relnotes-7.6.1.html
@@ -58,6 +58,7 @@ tbd
<li>Endianness fixes for the DRI swrast driver (bug 22767).</li>
<li>Point sprite fixes for i915/945 driver.
<li>Fixed assorted memory leaks (usually on error paths)
+<li>Fixed some GLSL compiler bugs (ex: 25579)
</ul>
<h2>Changes</h2>
diff --git a/src/mesa/shader/programopt.c b/src/mesa/shader/programopt.c
index a0daac1b80..9514545709 100644
--- a/src/mesa/shader/programopt.c
+++ b/src/mesa/shader/programopt.c
@@ -528,15 +528,11 @@ _mesa_remove_output_reads(struct gl_program *prog, gl_register_file type)
/* look for instructions which write to the varying vars identified above */
for (i = 0; i < prog->NumInstructions; i++) {
struct prog_instruction *inst = prog->Instructions + i;
- const GLuint numSrc = _mesa_num_inst_src_regs(inst->Opcode);
- GLuint j;
- for (j = 0; j < numSrc; j++) {
- if (inst->DstReg.File == type &&
- outputMap[inst->DstReg.Index] >= 0) {
- /* change inst to write to the temp reg, instead of the varying */
- inst->DstReg.File = PROGRAM_TEMPORARY;
- inst->DstReg.Index = outputMap[inst->DstReg.Index];
- }
+ if (inst->DstReg.File == type &&
+ outputMap[inst->DstReg.Index] >= 0) {
+ /* change inst to write to the temp reg, instead of the varying */
+ inst->DstReg.File = PROGRAM_TEMPORARY;
+ inst->DstReg.Index = outputMap[inst->DstReg.Index];
}
}