r300_fragprog: Use nqssa+dce and program_pair for emit
[mesa.git] / src / mesa / drivers / dri / nouveau / nouveau_state_cache.h
1
2 #ifndef __NOUVEAU_STATE_CACHE_H__
3 #define __NOUVEAU_STATE_CACHE_H__
4
5 #include "mtypes.h"
6
7 #define NOUVEAU_STATE_CACHE_ENTRIES 2048
8 // size of a dirty requests block
9 // you can play with that and tune the value to increase/decrease performance
10 // but keep it a power of 2 !
11 #define NOUVEAU_STATE_CACHE_HIER_SIZE 32
12
13 typedef struct nouveau_state_atom_t{
14 uint32_t value;
15 uint32_t dirty;
16 }nouveau_state_atom;
17
18 typedef struct nouveau_state_cache_t{
19 nouveau_state_atom atoms[NOUVEAU_STATE_CACHE_ENTRIES];
20 uint32_t current_pos;
21 // hierarchical dirty flags
22 uint8_t hdirty[NOUVEAU_STATE_CACHE_ENTRIES/NOUVEAU_STATE_CACHE_HIER_SIZE];
23 // master dirty flag
24 uint8_t dirty;
25 }nouveau_state_cache;
26
27
28 #endif
29