diff options
author | Marek Olšák <[email protected]> | 2013-04-11 14:54:40 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2013-05-15 20:19:45 +0200 |
commit | 61c995bc47b838317a4a62fba2ff2031bcb0c23e (patch) | |
tree | ce944ced016e5fbca14b36dcaf225efc3f758ad3 /src/gallium/drivers/r600/evergreend.h | |
parent | 61506257f68c18cc927a44f25344ee0584fdbd0e (diff) |
r600g: rewrite FMASK allocation, fix FMASK texturing with 2 and 4 samples
This fixes and enables texturing with compressed MSAA colorbuffers
on Evergreen and Cayman. For the first time, multisample textures work
on Cayman.
This requires the libdrm flag RADEON_SURF_FMASK.
v2: require libdrm_radeon 2.4.45
Reviewed-by: Alex Deucher <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/evergreend.h')
-rw-r--r-- | src/gallium/drivers/r600/evergreend.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/evergreend.h b/src/gallium/drivers/r600/evergreend.h index 757c9512e5f..8990d6c3fad 100644 --- a/src/gallium/drivers/r600/evergreend.h +++ b/src/gallium/drivers/r600/evergreend.h @@ -1140,9 +1140,12 @@ #define G_030014_LAST_ARRAY(x) (((x) >> 17) & 0x1FFF) #define C_030014_LAST_ARRAY 0xC001FFFF #define R_030018_SQ_TEX_RESOURCE_WORD6_0 0x030018 +/* FMASK_BANK_HEIGHT and MAX_ANISO share the first two bits. + * The former is only used with MSAA textures. */ #define S_030018_MAX_ANISO(x) (((x) & 0x7) << 0) #define G_030018_MAX_ANISO(x) (((x) >> 0) & 0x7) #define C_030018_MAX_ANISO 0xFFFFFFF8 +#define S_030018_FMASK_BANK_HEIGHT(x) (((x) & 0x3) << 0) #define S_030018_PERF_MODULATION(x) (((x) & 0x7) << 3) #define G_030018_PERF_MODULATION(x) (((x) >> 3) & 0x7) #define C_030018_PERF_MODULATION 0xFFFFFFC7 |