summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r300/r300_vertprog.h
diff options
context:
space:
mode:
authorOliver McFadden <z3ro.geek@gmail.com>2008-02-27 04:23:11 +0000
committerOliver McFadden <z3ro.geek@gmail.com>2008-03-01 06:33:06 +0000
commitfb0947ed33cb290ca0179c836abccc86eaff7600 (patch)
treec2f613ca48f424e3db716655b6408280496c116e /src/mesa/drivers/dri/r300/r300_vertprog.h
parente3a0a8dc7def2e154048d2c327896e99561b53e4 (diff)
r300: Cleaned up the vertex program macros.
Diffstat (limited to 'src/mesa/drivers/dri/r300/r300_vertprog.h')
-rw-r--r--src/mesa/drivers/dri/r300/r300_vertprog.h57
1 files changed, 24 insertions, 33 deletions
diff --git a/src/mesa/drivers/dri/r300/r300_vertprog.h b/src/mesa/drivers/dri/r300/r300_vertprog.h
index 462f655c00..b8dc5a5ad6 100644
--- a/src/mesa/drivers/dri/r300/r300_vertprog.h
+++ b/src/mesa/drivers/dri/r300/r300_vertprog.h
@@ -3,6 +3,30 @@
#include "r300_reg.h"
+#define PVS_VECTOR_OPCODE(op, out_reg_index, out_reg_fields, class) \
+ ((op) \
+ | ((out_reg_index) << R300_VPI_OUT_REG_INDEX_SHIFT) \
+ | ((out_reg_fields) << 20) \
+ | ((class) << 8))
+
+#define PVS_MATH_OPCODE(op, out_reg_index, out_reg_fields, class) \
+ ((op) \
+ | (1 << 6) /* FIXME: PVS_DST_MATH_INST */ \
+ | ((out_reg_index) << R300_VPI_OUT_REG_INDEX_SHIFT) \
+ | ((out_reg_fields) << 20) \
+ | ((class) << 8))
+
+#define PVS_SOURCE_OPCODE(in_reg_index, comp_x, comp_y, comp_z, comp_w, class, negate) \
+ (((in_reg_index) << R300_VPI_IN_REG_INDEX_SHIFT) \
+ | ((comp_x) << R300_VPI_IN_X_SHIFT) \
+ | ((comp_y) << R300_VPI_IN_Y_SHIFT) \
+ | ((comp_z) << R300_VPI_IN_Z_SHIFT) \
+ | ((comp_w) << R300_VPI_IN_W_SHIFT) \
+ | ((negate) << 25) \
+ | ((class)))
+
+#if 1
+
#define VSF_FLAG_X 1
#define VSF_FLAG_Y 2
#define VSF_FLAG_Z 4
@@ -11,39 +35,6 @@
#define VSF_FLAG_ALL 0xf
#define VSF_FLAG_NONE 0
-/* first DWORD of an instruction */
-
-#define PVS_VECTOR_OPCODE(op, out_reg_index, out_reg_fields, class) \
- ((op) \
- | ((out_reg_index) << R300_VPI_OUT_REG_INDEX_SHIFT) \
- | ((out_reg_fields) << 20) \
- | ( (class) << 8 ) )
-
-#define PVS_DST_MATH_INST (1 << 6)
-
-#define PVS_MATH_OPCODE(op, out_reg_index, out_reg_fields, class) \
- ((op) \
- | PVS_DST_MATH_INST \
- | ((out_reg_index) << R300_VPI_OUT_REG_INDEX_SHIFT) \
- | ((out_reg_fields) << 20) \
- | ( (class) << 8 ) )
-
-/* according to Nikolai, the subsequent 3 DWORDs are sources, use same define for each */
-
-#define PVS_SOURCE_OPCODE(in_reg_index, comp_x, comp_y, comp_z, comp_w, class, negate) \
- ( ((in_reg_index)<<R300_VPI_IN_REG_INDEX_SHIFT) \
- | ((comp_x)<<R300_VPI_IN_X_SHIFT) \
- | ((comp_y)<<R300_VPI_IN_Y_SHIFT) \
- | ((comp_z)<<R300_VPI_IN_Z_SHIFT) \
- | ((comp_w)<<R300_VPI_IN_W_SHIFT) \
- | ((negate)<<25) | ((class)))
-
-#if 1
-
-/**
- * Vertex program helper macros
- */
-
#define VP_OUTMASK_X R300_VPI_OUT_WRITE_X
#define VP_OUTMASK_Y R300_VPI_OUT_WRITE_Y
#define VP_OUTMASK_Z R300_VPI_OUT_WRITE_Z