i965: Fix missing CACHE_NEW_WM_PROG in 3DSTATE_PS_EXTRA.
authorKenneth Graunke <kenneth@whitecape.org>
Sat, 8 Nov 2014 10:06:11 +0000 (02:06 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Fri, 28 Nov 2014 04:24:15 +0000 (20:24 -0800)
brw->wm.prog_data is covered by CACHE_NEW_WM_PROG, not
BRW_NEW_FRAGMENT_PROGRAM.  So, we should listen to it.

However, I believe that BRW_NEW_FRAGMENT_PROGRAM is sufficient to cover
all the necessary cases - CACHE_NEW_WM_PROG happens in a subset of
cases.  So, the code being wrong shouldn't have triggered bugs.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
src/mesa/drivers/dri/i965/gen8_ps_state.c

index 3d3df19916a3bc60cc8e4cfdae920625cf257e5f..7e3d78b634873c4a29b80c375cd147b93c514301 100644 (file)
@@ -41,7 +41,7 @@ upload_ps_extra(struct brw_context *brw)
    if (fp->program.UsesKill)
       dw1 |= GEN8_PSX_KILL_ENABLE;
 
-   /* BRW_NEW_FRAGMENT_PROGRAM */
+   /* CACHE_NEW_WM_PROG */
    if (brw->wm.prog_data->num_varying_inputs != 0)
       dw1 |= GEN8_PSX_ATTRIBUTE_ENABLE;
 
@@ -87,7 +87,7 @@ const struct brw_tracked_state gen8_ps_extra = {
    .dirty = {
       .mesa  = _NEW_MULTISAMPLE,
       .brw   = BRW_NEW_CONTEXT | BRW_NEW_FRAGMENT_PROGRAM | BRW_NEW_NUM_SAMPLES,
-      .cache = 0,
+      .cache = CACHE_NEW_WM_PROG,
    },
    .emit = upload_ps_extra,
 };