summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/evergreend.h
diff options
context:
space:
mode:
authorVadim Girlin <[email protected]>2012-06-26 12:23:31 -0400
committerVadim Girlin <[email protected]>2012-06-27 02:06:55 +0400
commit470d00c0e270c6079232d0d5ab10bf3219768faf (patch)
tree4fe9acabc66c3bd7e6e672e315d3bdb9fbe1f980 /src/gallium/drivers/r600/evergreend.h
parent0c47d9dcab80923c61b3f5375128e9b511b842fb (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.h7
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)