1// 2//------------------------------------------------------------ 3// Copyright(c) 2009-2010 by Digital Media Professionals Inc. 4// All rights reserved. 5//------------------------------------------------------------ 6// This source code is the confidential and proprietary 7// of Digital Media Professionals Inc. 8//------------------------------------------------------------ 9// 10 11//------------------------------------------ 12// related cmp 13//------------------------------------------ 14#define CMP_MODE_EQ 0 15#define CMP_MODE_NE 1 16#define CMP_MODE_LT 2 17#define CMP_MODE_LE 3 18#define CMP_MODE_GT 4 19#define CMP_MODE_GE 5 20 21//------------------------------------------ 22// related condition 23//------------------------------------------ 24#define COND_MODE_OR 0 25#define COND_MODE_AND 1 26#define COND_MODE_STA0 2 27#define COND_MODE_STA1 3 28 29//------------------------------------------ 30// related status reg 31//------------------------------------------ 32#define STAT0_0 0 33#define STAT0_1 1 34#define STAT1_0 0 35#define STAT1_1 1 36 37// Input registers map 38#define aPosition v0 39#define aTexCoord v1 40#define aColor v2 41 42// Output registers map 43#define vPosition o0 44#define vTexCoord o1 45#define vColor o2 46 47// Constant registers map 48#define MATRIX_ModelView c0 49#define MATRIX_ModelView0 c0 50#define MATRIX_ModelView00 c0 51#define MATRIX_ModelView01 c1 52#define MATRIX_ModelView02 c2 53#define MATRIX_ModelView03 c3 54 55#define MATRIX_Proj c4 56#define MATRIX_Proj0 c4 57#define MATRIX_Proj1 c5 58#define MATRIX_Proj2 c6 59#define MATRIX_Proj3 c7 60 61#define CONST c95 // 0.0 0.5 1.0 3.0 62 63#define EQ 0 64#define NEQ 1 65#define LESS 2 66#define LEQ 3 67#define GT 4 68#define GEQ 5 69 70// Temporary registers map 71#define TEMP0 r0 72#define TEMP1 r1 73#define TEMP2 r2 74#define TEMP3 r3 75#define TEMP4 r4 76 77#define TEMP_TEX0 r10 78#define TEMP_TEX1 r11 79#define TEMP_TEX2 r12 80#define TEMP_TEX3 r13 81#define TEMP_TANG r13 82#define TEMP_NORM r14 83#define TEMP_VIEW r15 84#define TEMP_POS r12 85 86// Constant registers 87def CONST, 0.0, 0.5, 1.0, 3.0 88 89#pragma bind_symbol( aPosition.xyz, v0, v0) 90#pragma bind_symbol( aTexCoord.xy, v1, v1) 91#pragma bind_symbol( aColor, v2, v2) 92 93#pragma output_map ( position, o0 ) 94#pragma output_map ( texture0, o1 ) 95#pragma output_map ( color, o2 ) 96 97main: 98 mov vPosition.xyz, aPosition.xyz 99 mov vPosition.w, CONST.z 100 mov vColor, aColor 101 mov vTexCoord, aTexCoord 102 end 103endmain: 104