summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/gen7_gs_state.c
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2014-04-28 11:27:22 -0700
committerEric Anholt <eric@anholt.net>2014-05-02 17:01:40 -0700
commitf9a2679db5886a65eac7e08a8f75674cf3dff8b7 (patch)
tree9be19f6b22dbb0d74ca10f93e73669ce036bafbe /src/mesa/drivers/dri/i965/gen7_gs_state.c
parent680d202d49d2f2f67921940cc8b44bcb40b04d2a (diff)
downloadexternal_mesa3d-f9a2679db5886a65eac7e08a8f75674cf3dff8b7.zip
external_mesa3d-f9a2679db5886a65eac7e08a8f75674cf3dff8b7.tar.gz
external_mesa3d-f9a2679db5886a65eac7e08a8f75674cf3dff8b7.tar.bz2
i965/gen7+: Move sampler state packets to the stage sampler state table update.
Now that we have the stage state coming into our setup of sampler states, it's easy to drop an identifier into it of which stage the stage_state is, and then look up which packet to emit in a little table. No performance difference on cairo on glamor (n=492). v2: Don't forget to do the workaround flush on IVB. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Diffstat (limited to 'src/mesa/drivers/dri/i965/gen7_gs_state.c')
-rw-r--r--src/mesa/drivers/dri/i965/gen7_gs_state.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/src/mesa/drivers/dri/i965/gen7_gs_state.c b/src/mesa/drivers/dri/i965/gen7_gs_state.c
index d18ae15..06e6cf7 100644
--- a/src/mesa/drivers/dri/i965/gen7_gs_state.c
+++ b/src/mesa/drivers/dri/i965/gen7_gs_state.c
@@ -66,12 +66,6 @@ upload_gs_state(struct brw_context *brw)
/* CACHE_NEW_GS_PROG */
const struct brw_vec4_prog_data *prog_data = &brw->gs.prog_data->base;
- /* CACHE_NEW_SAMPLER */
- BEGIN_BATCH(2);
- OUT_BATCH(_3DSTATE_SAMPLER_STATE_POINTERS_GS << 16 | (2 - 2));
- OUT_BATCH(stage_state->sampler_offset);
- ADVANCE_BATCH();
-
gen7_upload_constant_state(brw, stage_state, active, _3DSTATE_CONSTANT_GS);
/**
@@ -198,7 +192,7 @@ const struct brw_tracked_state gen7_gs_state = {
BRW_NEW_GS_BINDING_TABLE |
BRW_NEW_BATCH |
BRW_NEW_PUSH_CONSTANT_ALLOCATION),
- .cache = CACHE_NEW_GS_PROG | CACHE_NEW_SAMPLER
+ .cache = CACHE_NEW_GS_PROG
},
.emit = upload_gs_state,
};