[PATCH] r600g: fix relative addressing when splitting constant accesses

2010-10-12 Thread Stephan Schmid
Hello, 
currently r600g ignores relative constant addressing when splitting constant 
accesses into multiple instructions which is fixed by the attached patch.
I noticed it when messing with vp-tris arl.txt of 
git://anongit.freedesktop.org/mesa/demos (I modified "arr[addr.x-2]" into 
"arr[addr.x]" in arl.txt to get rid of the negative register indices)

Cheers
Stephan Schmid
From 200cf6884ca06ecd4f3a8dcbf8f88e2d04ebab32 Mon Sep 17 00:00:00 2001
From: Stephan Schmid 
Date: Mon, 11 Oct 2010 15:49:56 +0200
Subject: [PATCH] r600g: fix relative addressing when splitting constant accesses

---
 src/gallium/drivers/r600/r600_shader.c |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c
index 3418003..df2789d 100644
--- a/src/gallium/drivers/r600/r600_shader.c
+++ b/src/gallium/drivers/r600/r600_shader.c
@@ -796,6 +796,7 @@ static int tgsi_split_constant(struct r600_shader_ctx *ctx, struct r600_bc_alu_s
 alu.inst = CTX_INST(V_SQ_ALU_WORD1_OP2_SQ_OP2_INST_MOV);
 alu.src[0].sel = r600_src[i].sel;
 alu.src[0].chan = k;
+alu.src[0].rel = r600_src[i].rel;
 alu.dst.sel = treg;
 alu.dst.chan = k;
 alu.dst.write = 1;
@@ -806,6 +807,7 @@ static int tgsi_split_constant(struct r600_shader_ctx *ctx, struct r600_bc_alu_s
 	return r;
 			}
 			r600_src[i].sel = treg;
+			r600_src[i].rel =0;
 			j--;
 		}
 	}
-- 
1.7.1

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[PATCH] r600g: fix relative addressing when splitting constant accesses

2010-10-12 Thread Stephan Schmid
Hello, 
currently r600g ignores relative constant addressing when splitting constant 
accesses into multiple instructions which is fixed by the attached patch.
I noticed it when messing with vp-tris arl.txt of 
git://anongit.freedesktop.org/mesa/demos (I modified "arr[addr.x-2]" into 
"arr[addr.x]" in arl.txt to get rid of the negative register indices)

Cheers
Stephan Schmid
-- next part --
A non-text attachment was scrubbed...
Name: 0001-r600g-fix-relative-addressing-when-splitting-constan.patch
Type: text/x-patch
Size: 1095 bytes
Desc: not available
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20101012/18453915/attachment.bin>