summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/nouveau/nouveau_state_cache.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/drivers/dri/nouveau/nouveau_state_cache.h')
-rw-r--r--src/mesa/drivers/dri/nouveau/nouveau_state_cache.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/nouveau/nouveau_state_cache.h b/src/mesa/drivers/dri/nouveau/nouveau_state_cache.h
index 2488274846..5f9d426450 100644
--- a/src/mesa/drivers/dri/nouveau/nouveau_state_cache.h
+++ b/src/mesa/drivers/dri/nouveau/nouveau_state_cache.h
@@ -5,6 +5,10 @@
#include "mtypes.h"
#define NOUVEAU_STATE_CACHE_ENTRIES 2048
+// size of a dirty requests block
+// you can play with that and tune the value to increase/decrease performance
+// but keep it a power of 2 !
+#define NOUVEAU_STATE_CACHE_HIER_SIZE 32
typedef struct nouveau_state_atom_t{
uint32_t value;
@@ -14,8 +18,10 @@ typedef struct nouveau_state_atom_t{
typedef struct nouveau_state_cache_t{
nouveau_state_atom atoms[NOUVEAU_STATE_CACHE_ENTRIES];
uint32_t current_pos;
+ // hierarchical dirty flags
+ uint8_t hdirty[NOUVEAU_STATE_CACHE_ENTRIES/NOUVEAU_STATE_CACHE_HIER_SIZE];
// master dirty flag
- uint32_t dirty;
+ uint8_t dirty;
}nouveau_state_cache;