diff options
author | Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> | 2016-04-15 01:00:41 +0200 |
---|---|---|
committer | Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> | 2016-04-19 18:10:30 +0200 |
commit | 058b54c6244416e47ec211e2300624cd9e3ae623 (patch) | |
tree | 04752b477b777045160091d5b788634c155aa356 /src/gallium/drivers/radeonsi/si_state.h | |
parent | aabc7d61d6826164f5ecf8243a6265af6c6ee62c (diff) | |
download | external_mesa3d-058b54c6244416e47ec211e2300624cd9e3ae623.zip external_mesa3d-058b54c6244416e47ec211e2300624cd9e3ae623.tar.gz external_mesa3d-058b54c6244416e47ec211e2300624cd9e3ae623.tar.bz2 |
radeonsi: Replace list_dirty with a mask.
We can then upload only the dirty ones with the constant engine.
Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_state.h')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_state.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state.h b/src/gallium/drivers/radeonsi/si_state.h index fbdc8ee..a0ae72e 100644 --- a/src/gallium/drivers/radeonsi/si_state.h +++ b/src/gallium/drivers/radeonsi/si_state.h @@ -191,8 +191,6 @@ struct si_descriptors { unsigned element_dw_size; /* The maximum number of descriptors. */ unsigned num_elements; - /* Whether the list has been changed and should be re-uploaded. */ - bool list_dirty; /* The buffer where the descriptors have been uploaded. */ struct r600_resource *buffer; @@ -204,6 +202,13 @@ struct si_descriptors { /* The i-th bit is set if that element is enabled (non-NULL resource). */ uint64_t enabled_mask; + /* elements of the list that are changed and need to be uploaded */ + uint64_t dirty_mask; + + /* 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. */ unsigned shader_userdata_offset; |