diff options
author | Marek Olšák <[email protected]> | 2017-05-15 23:45:57 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2017-05-18 22:15:02 +0200 |
commit | edb59ef2dc8085631e14153d2b7838b63961f2f0 (patch) | |
tree | c7e45e9dc859369797367770172ec8572c04b4c6 /src/gallium/drivers/radeonsi/si_state.h | |
parent | 06690e63f76441641379d8606c28b17f83c0776e (diff) |
radeonsi: do only 1 big CE dump at end of IBs and one reload in the preamble
A later commit will only upload descriptors used by shaders, so we won't do
full dumps anymore, so the only way to have a complete mirror of CE RAM
in memory is to do a separate dump after the last draw call.
Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_state.h')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_state.h | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state.h b/src/gallium/drivers/radeonsi/si_state.h index c4ef90372fb..9b506a8e3f7 100644 --- a/src/gallium/drivers/radeonsi/si_state.h +++ b/src/gallium/drivers/radeonsi/si_state.h @@ -232,9 +232,6 @@ struct si_descriptors { /* Whether CE is used to upload this descriptor array. */ bool uses_ce; - /* Whether the CE ram is dirty and needs to be reinitialized entirely - * before we can do partial updates. */ - bool ce_ram_dirty; /* The shader userdata offset within a shader where the 64-bit pointer to the descriptor * array will be stored. */ @@ -282,7 +279,8 @@ struct si_buffer_resources { } while(0) /* si_descriptors.c */ -void si_ce_reinitialize_all_descriptors(struct si_context *sctx); +void si_ce_save_all_descriptors_at_ib_end(struct si_context* sctx); +void si_ce_restore_all_descriptors_at_ib_start(struct si_context *sctx); void si_ce_enable_loads(struct radeon_winsys_cs *ib); void si_set_mutable_tex_desc_fields(struct si_screen *sscreen, struct r600_texture *tex, |