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