diff options
author | Stephane Marchesin <marchesin@icps.u-strasbg.fr> | 2007-01-14 21:17:08 +0100 |
---|---|---|
committer | Stephane Marchesin <marchesin@icps.u-strasbg.fr> | 2007-01-14 21:17:08 +0100 |
commit | 65e3d5e45e3d14f4ff98a15af0662e6c6e589cd2 (patch) | |
tree | 3b2e6e2fd0b8a486715875cec74291ed7a15a195 /src/mesa/drivers/dri/nouveau/nouveau_state_cache.h | |
parent | 8d7e5651fba9fd62e1055c05d1814c7d2de7f43c (diff) |
nouveau: Make the state cache hierarchical.
Diffstat (limited to 'src/mesa/drivers/dri/nouveau/nouveau_state_cache.h')
-rw-r--r-- | src/mesa/drivers/dri/nouveau/nouveau_state_cache.h | 8 |
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; |