i965: Don't use brw->fragment_program in the old brw_wm_pass2.c.
authorKenneth Graunke <kenneth@whitecape.org>
Sat, 1 Sep 2012 05:50:26 +0000 (22:50 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Wed, 5 Sep 2012 13:50:10 +0000 (06:50 -0700)
According to Eric, this shouldn't matter since we don't do precompiles
using the old backend.  In other words, brw->fragment_program (the
currently active program) should equal c->fp (the program currently
being compiled).

However, it's just not a good idea to access brw->fragment_program
directly in compiler code.  It's totally illegal in the new backend, so
let's just not do it here either.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reported-by: Paul Berry <stereotype441@gmail.com>
src/mesa/drivers/dri/i965/brw_wm_pass2.c

index 562a189251e01baa21b447f62186b6777d841cb1..f20e0b700e7e5265403a6a40b7c8ebec02124b70 100644 (file)
@@ -86,7 +86,7 @@ static void init_registers( struct brw_wm_compile *c )
 
    if (intel->gen >= 6) {
       for (unsigned int j = 0; j < FRAG_ATTRIB_MAX; j++) {
-        if (brw->fragment_program->Base.InputsRead & BITFIELD64_BIT(j)) {
+        if (c->fp->program.Base.InputsRead & BITFIELD64_BIT(j)) {
            nr_interp_regs++;
            prealloc_reg(c, &c->payload.input_interp[j], i++);
         }