On 12/22/2014 04:22 PM, Mike Stroyan wrote: > A fragment program can change because of Non-Orthogonal-State changes. > brw_update_texture_surfaces needs to run because of changed surface offsets. > Set BRW_NEW_FRAGMENT_PROGRAM dirty bit in brw_upload_wm_prog to signal that.
Please add Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=87619 Cc: "10.3 10.4" mesa-sta...@lists.freedesktop.org to the commit message. I'll let Ken or Matt comment about the actual patch. > --- > src/mesa/drivers/dri/i965/brw_wm.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_wm.c > b/src/mesa/drivers/dri/i965/brw_wm.c > index e7939f0..c212892 100644 > --- a/src/mesa/drivers/dri/i965/brw_wm.c > +++ b/src/mesa/drivers/dri/i965/brw_wm.c > @@ -601,7 +601,14 @@ brw_upload_wm_prog(struct brw_context *brw) > (void) success; > assert(success); > } > - brw->wm.base.prog_data = &brw->wm.prog_data->base; > + if (brw->wm.base.prog_data != &brw->wm.prog_data->base) { > + /* Fragment program can change because of only NOS changes. > + * Set dirty bit to signal that change. > + * brw_update_texture_surfaces needs to run for changed surface > offsets. > + */ > + brw->wm.base.prog_data = &brw->wm.prog_data->base; > + brw->state.dirty.brw |= BRW_NEW_FRAGMENT_PROGRAM; > + } > } > > > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev