[i965] fix broken glsl texdemo1
authorZou Nan hai <nanhai.zou@intel.com>
Tue, 19 Feb 2008 06:47:57 +0000 (14:47 +0800)
committerZou Nan hai <nanhai.zou@intel.com>
Tue, 19 Feb 2008 06:47:57 +0000 (14:47 +0800)
src/mesa/drivers/dri/i965/brw_wm_pass2.c

index 8541cbcbec06d97184a9301aa46fd58cfa34d450..766edc8dacce620d813daac9f450f616336cc7d7 100644 (file)
@@ -86,8 +86,15 @@ static void init_registers( struct brw_wm_compile *c )
 
    for (j = 0; j < FRAG_ATTRIB_MAX; j++) 
       if (inputs & (1<<j)) {
+        /* index for vs output and ps input are not the same 
+           in shader varying */
+        GLuint index;
+        if (j > FRAG_ATTRIB_VAR0)
+            index = j - (VERT_RESULT_VAR0 - FRAG_ATTRIB_VAR0) 
+        else
+            index = j;
         nr_interp_regs++;
-        prealloc_reg(c, &c->payload.input_interp[j], i++);
+        prealloc_reg(c, &c->payload.input_interp[index], i++);
       }
 
    assert(nr_interp_regs >= 1);