Reviewed-by: Chris Forbes <chr...@ijw.co.nz>
On Tue, Dec 23, 2014 at 3:58 PM, Kenneth Graunke <kenn...@whitecape.org> wrote: > This was probably missed when moving from a fixed binding table layout > to a dynamic one that changes based on the shader. > > Fixes newly proposed Piglit test fbo-mrt-new-bind. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=87619 > Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> > Cc: Mike Stroyan <m...@lunarg.com> > Cc: "10.4 10.3" <mesa-sta...@lists.freedesktop.org> > --- > src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 12 ++++++++++-- > 1 file changed, 10 insertions(+), 2 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c > b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c > index 7361c2f..85a08d5 100644 > --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c > +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c > @@ -536,6 +536,7 @@ brw_update_null_renderbuffer_surface(struct brw_context > *brw, unsigned int unit) > drm_intel_bo *bo = NULL; > unsigned pitch_minus_1 = 0; > uint32_t multisampling_state = 0; > + /* BRW_NEW_FS_PROG_DATA */ > uint32_t surf_index = > brw->wm.prog_data->binding_table.render_target_start + unit; > > @@ -621,6 +622,7 @@ brw_update_renderbuffer_surface(struct brw_context *brw, > uint32_t format = 0; > /* _NEW_BUFFERS */ > mesa_format rb_format = _mesa_get_render_format(ctx, > intel_rb_format(irb)); > + /* BRW_NEW_FS_PROG_DATA */ > uint32_t surf_index = > brw->wm.prog_data->binding_table.render_target_start + unit; > > @@ -737,7 +739,8 @@ const struct brw_tracked_state brw_renderbuffer_surfaces > = { > .dirty = { > .mesa = _NEW_BUFFERS | > _NEW_COLOR, > - .brw = BRW_NEW_BATCH, > + .brw = BRW_NEW_BATCH | > + BRW_NEW_FS_PROG_DATA, > }, > .emit = brw_update_renderbuffer_surfaces, > }; > @@ -763,6 +766,8 @@ update_stage_texture_surfaces(struct brw_context *brw, > struct gl_context *ctx = &brw->ctx; > > uint32_t *surf_offset = stage_state->surf_offset; > + > + /* BRW_NEW_*_PROG_DATA */ > if (for_gather) > surf_offset += > stage_state->prog_data->binding_table.gather_texture_start; > else > @@ -824,9 +829,12 @@ const struct brw_tracked_state brw_texture_surfaces = { > .mesa = _NEW_TEXTURE, > .brw = BRW_NEW_BATCH | > BRW_NEW_FRAGMENT_PROGRAM | > + BRW_NEW_FS_PROG_DATA | > BRW_NEW_GEOMETRY_PROGRAM | > + BRW_NEW_GS_PROG_DATA | > BRW_NEW_TEXTURE_BUFFER | > - BRW_NEW_VERTEX_PROGRAM, > + BRW_NEW_VERTEX_PROGRAM | > + BRW_NEW_VS_PROG_DATA, > }, > .emit = brw_update_texture_surfaces, > }; > -- > 2.2.1 > > _______________________________________________ > mesa-stable mailing list > mesa-sta...@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-stable _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev