Mesa (mesa_7_6_branch): r300/compiler: Fix R300 fragment program regression introduced by 0723cd1...

Nicolai Hähnle nh at kemper.freedesktop.org
Sun Sep 20 14:41:37 UTC 2009


Module: Mesa
Branch: mesa_7_6_branch
Commit: 6c323a2473cbfcdf41a8b3c395fcd277e16b963c
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6c323a2473cbfcdf41a8b3c395fcd277e16b963c

Author: Nicolai Hähnle <nhaehnle at gmail.com>
Date:   Sun Sep 20 16:33:59 2009 +0200

r300/compiler: Fix R300 fragment program regression introduced by 0723cd1...

We obviously need to move the code addr register backwards because their may
be overlap.

This bug affected in particular the Compiz water plugin.

Signed-off-by: Nicolai Hähnle <nhaehnle at gmail.com>

---

 .../drivers/dri/r300/compiler/r300_fragprog_emit.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/mesa/drivers/dri/r300/compiler/r300_fragprog_emit.c b/src/mesa/drivers/dri/r300/compiler/r300_fragprog_emit.c
index 305dc07..c7227bb 100644
--- a/src/mesa/drivers/dri/r300/compiler/r300_fragprog_emit.c
+++ b/src/mesa/drivers/dri/r300/compiler/r300_fragprog_emit.c
@@ -352,7 +352,7 @@ void r300BuildFragmentProgramHwCode(struct r300_fragment_program_compiler *compi
 	if (emit.current_node < 3) {
 		int shift = 3 - emit.current_node;
 		int i;
-		for(i = 0; i <= emit.current_node; ++i)
+		for(i = emit.current_node; i >= 0; --i)
 			code->code_addr[shift + i] = code->code_addr[i];
 		for(i = 0; i < shift; ++i)
 			code->code_addr[i] = 0;




More information about the mesa-commit mailing list