diff options
author | Vadim Girlin <[email protected]> | 2012-06-26 12:23:31 -0400 |
---|---|---|
committer | Vadim Girlin <[email protected]> | 2012-06-27 02:06:55 +0400 |
commit | 470d00c0e270c6079232d0d5ab10bf3219768faf (patch) | |
tree | 4fe9acabc66c3bd7e6e672e315d3bdb9fbe1f980 /src/gallium/drivers/r600/evergreend.h | |
parent | 0c47d9dcab80923c61b3f5375128e9b511b842fb (diff) |
r600g: enable DUAL_EXPORT mode when possible
It seems DUAL_EXPORT on evergreen may be enabled when all CBs use 16-bit export
mode (EXPORT_4C_16BPC), also there should be at least one CB, and the PS
shouldn't export depth/stencil.
Signed-off-by: Vadim Girlin <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/evergreend.h')
-rw-r--r-- | src/gallium/drivers/r600/evergreend.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/evergreend.h b/src/gallium/drivers/r600/evergreend.h index 5d57ce3a9a2..a067ad260dc 100644 --- a/src/gallium/drivers/r600/evergreend.h +++ b/src/gallium/drivers/r600/evergreend.h @@ -746,6 +746,13 @@ #define S_02880C_DUAL_EXPORT_ENABLE(x) (((x) & 0x1) << 9) #define G_02880C_DUAL_EXPORT_ENABLE(x) (((x) >> 9) & 0x1) #define C_02880C_DUAL_EXPORT_ENABLE 0xFFFFFDFF +#define S_02880C_DB_SOURCE_FORMAT(x) (((x) & 0x3) << 13) +#define G_02880C_DB_SOURCE_FORMAT(x) (((x) >> 13) & 0x3) +#define C_02880C_DB_SOURCE_FORMAT 0xFFFF9FFF +#define V_02880C_EXPORT_DB_FULL 0x00 +#define V_02880C_EXPORT_DB_FOUR16 0x01 +#define V_02880C_EXPORT_DB_TWO 0x02 + #define R_028A00_PA_SU_POINT_SIZE 0x028A00 #define S_028A00_HEIGHT(x) (((x) & 0xFFFF) << 0) #define G_028A00_HEIGHT(x) (((x) >> 0) & 0xFFFF) |