From fb0947ed33cb290ca0179c836abccc86eaff7600 Mon Sep 17 00:00:00 2001 From: Oliver McFadden Date: Wed, 27 Feb 2008 04:23:11 +0000 Subject: r300: Cleaned up the vertex program macros. --- src/mesa/drivers/dri/r300/r300_vertprog.h | 57 +++++++++++++------------------ 1 file changed, 24 insertions(+), 33 deletions(-) (limited to 'src/mesa/drivers/dri/r300') 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)<