NEW_COLOR is only needed on Gen4-5 as brw_update_renderbuffer_surfaces only uses ctx->Color when intel->gen < 6. This should reduce unnecessary state updates. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net>tags/mesa-8.0-rc1
@@ -89,6 +89,7 @@ extern const struct brw_tracked_state gen6_clip_vp; | |||
extern const struct brw_tracked_state gen6_color_calc_state; | |||
extern const struct brw_tracked_state gen6_depth_stencil_state; | |||
extern const struct brw_tracked_state gen6_gs_state; | |||
extern const struct brw_tracked_state gen6_renderbuffer_surfaces; | |||
extern const struct brw_tracked_state gen6_sampler_state; | |||
extern const struct brw_tracked_state gen6_scissor_state; | |||
extern const struct brw_tracked_state gen6_sf_state; |
@@ -143,7 +143,7 @@ static const struct brw_tracked_state *gen6_atoms[] = | |||
*/ | |||
&brw_vs_pull_constants, | |||
&brw_wm_pull_constants, | |||
&brw_renderbuffer_surfaces, | |||
&gen6_renderbuffer_surfaces, | |||
&brw_texture_surfaces, | |||
&brw_binding_table, | |||
@@ -210,7 +210,7 @@ const struct brw_tracked_state *gen7_atoms[] = | |||
*/ | |||
&brw_vs_pull_constants, | |||
&brw_wm_pull_constants, | |||
&brw_renderbuffer_surfaces, | |||
&gen6_renderbuffer_surfaces, | |||
&brw_texture_surfaces, | |||
&brw_binding_table, | |||
@@ -577,6 +577,15 @@ const struct brw_tracked_state brw_renderbuffer_surfaces = { | |||
.emit = brw_update_renderbuffer_surfaces, | |||
}; | |||
const struct brw_tracked_state gen6_renderbuffer_surfaces = { | |||
.dirty = { | |||
.mesa = _NEW_BUFFERS, | |||
.brw = BRW_NEW_BATCH, | |||
.cache = 0 | |||
}, | |||
.emit = brw_update_renderbuffer_surfaces, | |||
}; | |||
/** | |||
* Construct SURFACE_STATE objects for enabled textures. | |||
*/ |