i965/vs: Fix support for zero uniforms in use.
authorEric Anholt <eric@anholt.net>
Sat, 6 Aug 2011 02:18:31 +0000 (19:18 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 16 Aug 2011 20:04:42 +0000 (13:04 -0700)
We were looking for attributes in the wrong place, and pointlessly
doing the work on gen6 at all.

src/mesa/drivers/dri/i965/brw_vec4_emit.cpp

index 1f2853e11186039ca34256c2b37ac637c5da0d19..be089369bcfaea3c0f8884c669b98a12a4515d65 100644 (file)
@@ -94,7 +94,7 @@ vec4_visitor::setup_uniforms(int reg)
    /* The pre-gen6 VS requires that some push constants get loaded no
     * matter what, or the GPU would hang.
     */
-   if (this->uniforms == 0) {
+   if (intel->gen < 6 && this->uniforms == 0) {
       this->uniform_size[this->uniforms] = 1;
 
       for (unsigned int i = 0; i < 4; i++) {
@@ -105,6 +105,7 @@ vec4_visitor::setup_uniforms(int reg)
       }
 
       this->uniforms++;
+      reg++;
    } else {
       reg += ALIGN(uniforms, 2) / 2;
    }