diff options
author | Kenneth Graunke <[email protected]> | 2013-06-11 10:31:39 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2013-06-11 10:53:44 -0700 |
commit | 3dacb7d40b3a15be1133deaac55b993e8b7809dc (patch) | |
tree | 407ec5891eb073d3669f6b05eef1f5f1dd4bfe7b /src | |
parent | 42adf5f0dd807c43a13df62dc1aa6774de07cd59 (diff) |
Revert "i965: Disable unused pipeline stages once at startup on Gen7+."
This reverts commit 6c966ccf07bcaf64fba1a9b699440c30dc96e732.
Apparently causes GPU hangs.
Conflicts:
src/mesa/drivers/dri/i965/brw_state.h
src/mesa/drivers/dri/i965/brw_state_upload.c
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_state.h | 4 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_state_upload.c | 2 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/gen7_disable.c | 13 |
3 files changed, 13 insertions, 6 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_state.h b/src/mesa/drivers/dri/i965/brw_state.h index f14c44cb131..8af933ea94c 100644 --- a/src/mesa/drivers/dri/i965/brw_state.h +++ b/src/mesa/drivers/dri/i965/brw_state.h @@ -111,6 +111,7 @@ extern const struct brw_tracked_state gen7_cc_state_pointer; extern const struct brw_tracked_state gen7_cc_viewport_state_pointer; extern const struct brw_tracked_state gen7_clip_state; extern const struct brw_tracked_state gen7_depth_stencil_state_pointer; +extern const struct brw_tracked_state gen7_disable_stages; extern const struct brw_tracked_state gen7_ps_state; extern const struct brw_tracked_state gen7_samplers; extern const struct brw_tracked_state gen7_sbe_state; @@ -213,9 +214,6 @@ uint32_t get_attr_override(const struct brw_vue_map *vue_map, int urb_entry_read_offset, int fs_attr, bool two_side_color, uint32_t *max_source_attr); -/* gen7_disable.c */ -void gen7_disable_unused_stages(struct brw_context *brw); - /* gen7_urb.c */ void gen7_allocate_push_constants(struct brw_context *brw); diff --git a/src/mesa/drivers/dri/i965/brw_state_upload.c b/src/mesa/drivers/dri/i965/brw_state_upload.c index a9e269eebd6..00aea41ef2d 100644 --- a/src/mesa/drivers/dri/i965/brw_state_upload.c +++ b/src/mesa/drivers/dri/i965/brw_state_upload.c @@ -210,6 +210,7 @@ static const struct brw_tracked_state *gen7_atoms[] = &gen7_samplers, &gen6_multisample_state, + &gen7_disable_stages, &gen7_vs_state, &gen7_sol_state, &gen7_clip_state, @@ -253,7 +254,6 @@ brw_upload_initial_gpu_state(struct brw_context *brw) if (intel->gen >= 7) { gen7_allocate_push_constants(brw); - gen7_disable_unused_stages(brw); } } diff --git a/src/mesa/drivers/dri/i965/gen7_disable.c b/src/mesa/drivers/dri/i965/gen7_disable.c index c152d0accaa..aaf88a8bba8 100644 --- a/src/mesa/drivers/dri/i965/gen7_disable.c +++ b/src/mesa/drivers/dri/i965/gen7_disable.c @@ -26,8 +26,8 @@ #include "brw_defines.h" #include "intel_batchbuffer.h" -void -gen7_disable_unused_stages(struct brw_context *brw) +static void +disable_stages(struct brw_context *brw) { struct intel_context *intel = &brw->intel; @@ -123,3 +123,12 @@ gen7_disable_unused_stages(struct brw_context *brw) OUT_BATCH(0); ADVANCE_BATCH(); } + +const struct brw_tracked_state gen7_disable_stages = { + .dirty = { + .mesa = 0, + .brw = BRW_NEW_CONTEXT, + .cache = 0, + }, + .emit = disable_stages, +}; |