r600g: use long long integers for instance addr calculation
authorChristian König <deathsimple@vodafone.de>
Sun, 6 Mar 2011 22:34:03 +0000 (23:34 +0100)
committerChristian König <deathsimple@vodafone.de>
Sun, 6 Mar 2011 22:37:47 +0000 (23:37 +0100)
Using a long for instance addr calculation isn't
big enough on 32bit systems, use a long long int instead.

Thanks to Rafael Monica for fixing this.

src/gallium/drivers/r600/r600_asm.c

index d4d8de2fe876cbd962b69e20b4289d8de6c80385..e788c6c054ec87abaf0d3f32919f612f84330d06 100644 (file)
@@ -2102,7 +2102,7 @@ int r600_vertex_elements_build_fetch_shader(struct r600_pipe_context *rctx, stru
                        alu.src[0].chan = 3;
 
                        alu.src[1].sel = V_SQ_ALU_SRC_LITERAL;
-                       alu.src[1].value = (1l << 32) / elements[i].instance_divisor + 1;
+                       alu.src[1].value = (1ll << 32) / elements[i].instance_divisor + 1;
 
                        alu.dst.sel = i + 1;
                        alu.dst.chan = 3;