Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

nv20_shader.h

Go to the documentation of this file.
00001 /* NV20_TCL_PRIMITIVE_3D_0x0B00 */
00002 #define NV20_VP_INST_0B00   0x00000000 /* always 0? */
00003 #define NV20_VP_INST0_KNOWN 0
00004 
00005 /* NV20_TCL_PRIMITIVE_3D_0x0B04 */
00006 #define NV20_VP_INST_SCA_OPCODE_SHIFT               25
00007 #define NV20_VP_INST_SCA_OPCODE_MASK                (0x0F << 25)
00008 #define NV20_VP_INST_OPCODE_RCP 0x2
00009 #define NV20_VP_INST_OPCODE_RCC 0x3
00010 #define NV20_VP_INST_OPCODE_RSQ 0x4
00011 #define NV20_VP_INST_OPCODE_EXP 0x5
00012 #define NV20_VP_INST_OPCODE_LOG 0x6
00013 #define NV20_VP_INST_OPCODE_LIT 0x7
00014 #define NV20_VP_INST_VEC_OPCODE_SHIFT               21
00015 #define NV20_VP_INST_VEC_OPCODE_MASK                (0x0F << 21)
00016 #define NV20_VP_INST_OPCODE_NOP 0x0 /* guess */
00017 #define NV20_VP_INST_OPCODE_MOV 0x1
00018 #define NV20_VP_INST_OPCODE_MUL 0x2
00019 #define NV20_VP_INST_OPCODE_ADD 0x3
00020 #define NV20_VP_INST_OPCODE_MAD 0x4
00021 #define NV20_VP_INST_OPCODE_DP3 0x5
00022 #define NV20_VP_INST_OPCODE_DPH 0x6
00023 #define NV20_VP_INST_OPCODE_DP4 0x7
00024 #define NV20_VP_INST_OPCODE_DST 0x8
00025 #define NV20_VP_INST_OPCODE_MIN 0x9
00026 #define NV20_VP_INST_OPCODE_MAX 0xA
00027 #define NV20_VP_INST_OPCODE_SLT 0xB
00028 #define NV20_VP_INST_OPCODE_SGE 0xC
00029 #define NV20_VP_INST_OPCODE_ARL 0xD
00030 #define NV20_VP_INST_CONST_SRC_SHIFT                13
00031 #define NV20_VP_INST_CONST_SRC_MASK             (0xFF << 13)
00032 #define NV20_VP_INST_INPUT_SRC_SHIFT                9
00033 #define NV20_VP_INST_INPUT_SRC_MASK             (0xF << 9) /* guess */
00034 #define NV20_VP_INST_INPUT_SRC_POS  0
00035 #define NV20_VP_INST_INPUT_SRC_COL0 3
00036 #define NV20_VP_INST_INPUT_SRC_COL1 4
00037 #define NV20_VP_INST_INPUT_SRC_TC(n)    (9+n)
00038 #define NV20_VP_INST_SRC0H_SHIFT                0
00039 #define NV20_VP_INST_SRC0H_MASK                 (0x1FF << 0)
00040 #define NV20_VP_INST1_KNOWN ( \
00041     NV20_VP_INST_OPCODE_MASK | \
00042     NV20_VP_INST_CONST_SRC_MASK | \
00043     NV20_VP_INST_INPUT_SRC_MASK | \
00044     NV20_VP_INST_SRC0H_MASK \
00045     )
00046 
00047 /* NV20_TCL_PRIMITIVE_3D_0x0B08 */
00048 #define NV20_VP_INST_SRC0L_SHIFT                26
00049 #define NV20_VP_INST_SRC0L_MASK                 (0x3F  <<26)
00050 #define NV20_VP_INST_SRC1_SHIFT                 11
00051 #define NV20_VP_INST_SRC1_MASK                  (0x7FFF<<11)
00052 #define NV20_VP_INST_SRC2H_SHIFT                0
00053 #define NV20_VP_INST_SRC2H_MASK                 (0x7FF << 0)
00054 
00055 /* NV20_TCL_PRIMITIVE_3D_0x0B0C */
00056 #define NV20_VP_INST_SRC2L_SHIFT                28
00057 #define NV20_VP_INST_SRC2L_MASK                 (0x0F  <<28)
00058 #define NV20_VP_INST_VTEMP_WRITEMASK_SHIFT          24
00059 #define NV20_VP_INST_VTEMP_WRITEMASK_MASK           (0x0F  <<24)
00060 #    define NV20_VP_INST_TEMP_WRITEMASK_X   (1<<27)
00061 #    define NV20_VP_INST_TEMP_WRITEMASK_Y   (1<<26)
00062 #    define NV20_VP_INST_TEMP_WRITEMASK_Z   (1<<25)
00063 #    define NV20_VP_INST_TEMP_WRITEMASK_W   (1<<24)
00064 #define NV20_VP_INST_DEST_TEMP_ID_SHIFT             20
00065 #define NV20_VP_INST_DEST_TEMP_ID_MASK              (0x0F  <<20)
00066 #define NV20_VP_INST_STEMP_WRITEMASK_SHIFT          16
00067 #define NV20_VP_INST_STEMP_WRITEMASK_MASK           (0x0F  <<16)
00068 #    define NV20_VP_INST_STEMP_WRITEMASK_X  (1<<19)
00069 #    define NV20_VP_INST_STEMP_WRITEMASK_Y  (1<<18)
00070 #    define NV20_VP_INST_STEMP_WRITEMASK_Z  (1<<17)
00071 #    define NV20_VP_INST_STEMP_WRITEMASK_W  (1<<16)
00072 #define NV20_VP_INST_DEST_WRITEMASK_SHIFT           12
00073 #define NV20_VP_INST_DEST_WRITEMASK_MASK            (0x0F  <<12)
00074 #    define NV20_VP_INST_DEST_WRITEMASK_X   (1<<15)
00075 #    define NV20_VP_INST_DEST_WRITEMASK_Y   (1<<14)
00076 #    define NV20_VP_INST_DEST_WRITEMASK_Z   (1<<13)
00077 #    define NV20_VP_INST_DEST_WRITEMASK_W   (1<<12)
00078 #define NV20_VP_INST_DEST_SHIFT                 3
00079 #define NV20_VP_INST_DEST_MASK                  (0xF << 3) /* guess */
00080 #define NV20_VP_INST_DEST_POS   0
00081 #define NV20_VP_INST_DEST_COL0  3
00082 #define NV20_VP_INST_DEST_COL1  4
00083 #define NV20_VP_INST_DEST_TC(n) (9+n)
00084 #define NV20_VP_INST_INDEX_CONST                (1<<1)
00085 #define NV20_VP_INST3_KNOWN ( \
00086     NV20_VP_INST_SRC2L_MASK | \
00087     NV20_VP_INST_TEMP_WRITEMASK_MASK | \
00088     NV20_VP_INST_DEST_TEMP_ID_MASK | \
00089     NV20_VP_INST_STEMP_WRITEMASK_MASK | \
00090     NV20_VP_INST_DEST_WRITEMASK_MASK | \
00091     NV20_VP_INST_DEST_MASK | \
00092     NV20_VP_INST_INDEX_CONST \
00093     )
00094 
00095 /* Useful to split the source selection regs into their pieces */
00096 #define NV20_VP_SRC0_HIGH_SHIFT 6
00097 #define NV20_VP_SRC0_HIGH_MASK  0x00007FC0
00098 #define NV20_VP_SRC0_LOW_MASK   0x0000003F
00099 #define NV20_VP_SRC2_HIGH_SHIFT 4
00100 #define NV20_VP_SRC2_HIGH_MASK  0x00007FF0
00101 #define NV20_VP_SRC2_LOW_MASK   0x0000000F
00102 
00103 #define NV20_VP_SRC_REG_NEGATE                  (1<<14)
00104 #define NV20_VP_SRC_REG_SWZ_X_SHIFT             12
00105 #define NV20_VP_SRC_REG_SWZ_X_MASK              (0x03  <<12)
00106 #define NV20_VP_SRC_REG_SWZ_Y_SHIFT             10
00107 #define NV20_VP_SRC_REG_SWZ_Y_MASK              (0x03  <<10)
00108 #define NV20_VP_SRC_REG_SWZ_Z_SHIFT             8
00109 #define NV20_VP_SRC_REG_SWZ_Z_MASK              (0x03  << 8)
00110 #define NV20_VP_SRC_REG_SWZ_W_SHIFT             6
00111 #define NV20_VP_SRC_REG_SWZ_W_MASK              (0x03  << 6)
00112 #define NV20_VP_SRC_REG_SWZ_ALL_SHIFT               6
00113 #define NV20_VP_SRC_REG_SWZ_ALL_MASK                (0xFF  << 6)
00114 #define NV20_VP_SRC_REG_TEMP_ID_SHIFT               2
00115 #define NV20_VP_SRC_REG_TEMP_ID_MASK                (0x0F  << 0)
00116 #define NV20_VP_SRC_REG_TYPE_SHIFT              0
00117 #define NV20_VP_SRC_REG_TYPE_MASK               (0x03  << 0)
00118 #define NV20_VP_SRC_REG_TYPE_TEMP   1
00119 #define NV20_VP_SRC_REG_TYPE_INPUT  2
00120 #define NV20_VP_SRC_REG_TYPE_CONST  3   /* guess */
00121 

Generated on Sat Aug 19 20:40:53 2006 for Renouveau by  doxygen 1.4.4