i965/vs: Fix regression on pre-gen6 with no VS uniforms in use.
authorEric Anholt <eric@anholt.net>
Fri, 30 Aug 2013 17:45:00 +0000 (10:45 -0700)
committerEric Anholt <eric@anholt.net>
Fri, 30 Aug 2013 18:29:50 +0000 (11:29 -0700)
df06745c5adb524e15d157f976c08f1718f08efa made it so that we didn't
allocate extra uniform space for unused clip planes, which also
incidentally made us not allocate any space at all, which we were relying
on for this no-uniforms case.  Instead of putting the knowledge of this
special HW exception into the thing that normally preallocates prog_data
for us, just allocate it here.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=68766
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_vec4.cpp

index ae836d31ef1afda72c53fe959a4d437ba6bf3091..ab472b009ec9856159b318509fa256456a9c7354 100644 (file)
@@ -1271,6 +1271,7 @@ vec4_visitor::setup_uniforms(int reg)
    if (brw->gen < 6 && this->uniforms == 0) {
       this->uniform_vector_size[this->uniforms] = 1;
 
+      prog_data->param = reralloc(NULL, prog_data->param, const float *, 4);
       for (unsigned int i = 0; i < 4; i++) {
         unsigned int slot = this->uniforms * 4 + i;
         static float zero = 0.0;