Pārlūkot izejas kodu

i965: Make Gen6+ renderbuffer surface updates not depend on NEW_COLOR.

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
Kenneth Graunke pirms 14 gadiem
vecāks
revīzija
9ae10e9cbd

+ 1
- 0
src/mesa/drivers/dri/i965/brw_state.h Parādīt failu

@@ -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;

+ 2
- 2
src/mesa/drivers/dri/i965/brw_state_upload.c Parādīt failu

@@ -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,


+ 9
- 0
src/mesa/drivers/dri/i965/brw_wm_surface_state.c Parādīt failu

@@ -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.
*/

Notiek ielāde…
Atcelt
Saglabāt