diff options
author | Kenneth Graunke <kenneth@whitecape.org> | 2014-09-26 01:50:04 -0700 |
---|---|---|
committer | Kenneth Graunke <kenneth@whitecape.org> | 2014-11-29 02:18:38 -0800 |
commit | f421db70ba5b987891458b98ae3b0d0ddc586315 (patch) | |
tree | bf06f4f32d611e456c1c39537b53ab9add03a52c /src/mesa/drivers/dri/i965/brw_vs_state.c | |
parent | bea9b8e306e8424ffacbdfc99ca2fc91f1c9912b (diff) | |
download | external_mesa3d-f421db70ba5b987891458b98ae3b0d0ddc586315.zip external_mesa3d-f421db70ba5b987891458b98ae3b0d0ddc586315.tar.gz external_mesa3d-f421db70ba5b987891458b98ae3b0d0ddc586315.tar.bz2 |
i965: Combine CACHE_NEW_*_UNIT into BRW_NEW_GEN4_UNIT_STATE.
On Gen4-5, unit state is specified as indirect state, rather than
commands. If any unit state changes, we upload it via brw_state_batch
and arrange for 3DSTATE_PIPELINED_POINTERS to be re-emitted, which
updates pointers to all unit state at once.
Since there's only one command and state atom (brw_psp_urb_cs) that
needs to know about this, there's no benefit to having six separate
flags. We can combine CACHE_NEW_*_UNIT into a single flag.
We also haven't cached these in a long time, so it doesn't make sense
to use the "CACHE_NEW_" prefix. Instead, use the "BRW_NEW_" prefix.
This also saves 12 * sizeof(void *) bytes of memory per context, as
we remove useless aux_compare/aux_free functions for each CACHE bit.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_vs_state.c')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_vs_state.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_vs_state.c b/src/mesa/drivers/dri/i965/brw_vs_state.c index 8859200..cd740db 100644 --- a/src/mesa/drivers/dri/i965/brw_vs_state.c +++ b/src/mesa/drivers/dri/i965/brw_vs_state.c @@ -181,7 +181,7 @@ brw_upload_vs_unit(struct brw_context *brw) I915_GEM_DOMAIN_RENDER, I915_GEM_DOMAIN_RENDER); } - brw->state.dirty.cache |= CACHE_NEW_VS_UNIT; + brw->state.dirty.brw |= BRW_NEW_GEN4_UNIT_STATE; } const struct brw_tracked_state brw_vs_unit = { |