Get NeHe lesson08 to work. Note: it appears the filtering does not work properly...
[mesa.git] / src / mesa / drivers / dri / r300 / r300_fixed_pipelines.h
1 #ifndef __R300_FIXED_PIPELINES_H__
2 #define __R300_FIXED_PIPELINES_H__
3
4 /******** Flat color pipeline **********/
5 static struct r300_vertex_shader_state FLAT_COLOR_VERTEX_SHADER={
6 program: {
7 length: 20,
8
9 body:{ d: {
10 EASY_VSF_OP(MUL, 0, ALL, TMP),
11 VSF_PARAM(3),
12 VSF_ATTR_W(0),
13 EASY_VSF_SOURCE(0, W, W, W, W, NONE, NONE),
14
15 EASY_VSF_OP(MUL, 1, ALL, RESULT),
16 VSF_REG(1),
17 VSF_ATTR_UNITY(1),
18 VSF_UNITY(1),
19
20 EASY_VSF_OP(MAD, 0, ALL, TMP),
21 VSF_PARAM(2),
22 VSF_ATTR_Z(0),
23 VSF_TMP(0),
24
25 EASY_VSF_OP(MAD, 0, ALL, TMP),
26 VSF_PARAM(1),
27 VSF_ATTR_Y(0),
28 VSF_TMP(0),
29
30 EASY_VSF_OP(MAD, 0, ALL, RESULT),
31 VSF_PARAM(0),
32 VSF_ATTR_X(0),
33 VSF_TMP(0),
34 } }
35 },
36
37 matrix:{
38 {
39 length: 16,
40 body: { f: {
41 2.0,
42 0,
43 0.0,
44 0.0,
45 0,
46 2.5,
47 0,
48 0,
49 0.0,
50 0,
51 -1.00,
52 -1.0,
53 -3.0,
54 0,
55 6.0,
56 6.0
57 } }
58 },
59 {
60 length: 0,
61 },
62 {
63 length: 0,
64 }
65 },
66
67 vector: {
68 {
69 length: 0,
70 },
71 {
72 length: 0,
73 }
74 },
75
76 unknown1: {
77 length: 0
78 },
79
80 unknown2: {
81 length: 0
82 },
83
84 program_start: 0,
85 unknown_ptr1: 4,
86 program_end: 4,
87
88 param_offset: 0,
89 param_count: 4,
90
91 unknown_ptr2: 0,
92 unknown_ptr3: 4
93 };
94
95 static struct r300_pixel_shader_state FLAT_COLOR_PIXEL_SHADER={
96 program: {
97 tex: {
98 length: 0
99 },
100 alu: {
101 length: 2,
102 inst: {
103 {0x50a80, 0x1c020800, 0x40889, 0x1020800},
104 {0x50a80, 0x1c020800, 0x40889, 0x1020800}
105 }
106 },
107 node: {
108 { 0, 0, 0, 0},
109 { 0, 0, 0, 0},
110 { 0, 0, 0, 0},
111 { 0, 0, 0, 0}
112 },
113 active_nodes: 1,
114 first_node_has_tex: 0,
115 temp_register_count: 0,
116
117 tex_offset: 0,
118 tex_end: 0,
119 alu_offset: 0,
120 alu_end: 0
121 },
122
123 param_length: 0
124 };
125
126
127 /******** Single texture pipeline ***********/
128 static struct r300_vertex_shader_state SINGLE_TEXTURE_VERTEX_SHADER={
129 program: {
130 length: 24,
131
132 body: { d: {
133 EASY_VSF_OP(MUL, 0, ALL, TMP),
134 VSF_PARAM(3),
135 VSF_ATTR_W(0),
136 EASY_VSF_SOURCE(0, W, W, W, W, NONE, NONE),
137
138 EASY_VSF_OP(MUL, 2, ALL, RESULT),
139 VSF_REG(2),
140 VSF_ATTR_UNITY(2),
141 VSF_UNITY(2),
142
143 EASY_VSF_OP(MAD, 0, ALL, TMP),
144 VSF_PARAM(2),
145 VSF_ATTR_Z(0),
146 VSF_TMP(0),
147
148 EASY_VSF_OP(MUL, 1, ALL, RESULT),
149 VSF_REG(1),
150 VSF_ATTR_UNITY(1),
151 VSF_UNITY(1),
152
153 EASY_VSF_OP(MAD, 0, ALL, TMP),
154 VSF_PARAM(1),
155 VSF_ATTR_Y(0),
156 VSF_TMP(0),
157
158 EASY_VSF_OP(MAD, 0, ALL, RESULT),
159 VSF_PARAM(0),
160 VSF_ATTR_X(0),
161 VSF_TMP(0),
162 } }
163 },
164
165 matrix:{
166 {
167 length: 16,
168 body: { f: {
169 2.0,
170 0,
171 0.0,
172 0.0,
173 0,
174 2.5,
175 0,
176 0,
177 0.0,
178 0,
179 -1.00,
180 -1.0,
181 -3.0,
182 0,
183 6.0,
184 6.0
185 } }
186 },
187 {
188 length: 0,
189 },
190 {
191 length: 0,
192 }
193 },
194
195 vector: {
196 {
197 length: 0,
198 },
199 {
200 length: 0,
201 }
202 },
203
204 unknown1: {
205 length: 0
206 },
207
208 unknown2: {
209 length: 4,
210 body: { f: {
211 0.0,
212 0.0,
213 1.0,
214 0.0
215 } }
216 },
217
218 program_start: 0,
219 unknown_ptr1: 5,
220 program_end: 5,
221
222 param_offset: 0,
223 param_count: 4,
224
225 unknown_ptr2: 0,
226 unknown_ptr3: 5
227 };
228
229 static struct r300_pixel_shader_state SINGLE_TEXTURE_PIXEL_SHADER={
230 program: {
231 tex: {
232 length: 1,
233 inst: { 0x00018000 }
234 },
235 alu: {
236 length: 3,
237 inst: {
238 {0x50a80, 0x1c020800, 0x40889, 0x1020800},
239 {0x50200, 0x1c020040, 0x40889, 0x1020801},
240 {0x50a80, 0x1c020800, 0x40889, 0x1020800}
241 }
242 },
243 node: {
244 { 0, 0, 0, 0},
245 { 0, 0, 0, 0},
246 { 0, 0, 0, 0},
247 { 0, 0, 0, 0}
248 },
249
250 active_nodes: 1,
251 first_node_has_tex: 1,
252 temp_register_count: 1,
253
254 tex_offset: 0,
255 tex_end: 0,
256 alu_offset: 1,
257 alu_end: 0
258 },
259
260 param_length: 8,
261 param: {
262 { 0.0, 0.0, 0.0, 0.0},
263 { 0.0, 0.0, 0.0, 0.0},
264 { 0.0, 0.0, 0.0, 0.0},
265 { 0.0, 0.0, 0.0, 0.0},
266 { 0.0, 0.0, 0.0, 0.0},
267 { 0.0, 0.0, 0.0, 0.0},
268 { 0.0, 0.0, 0.0, 0.0},
269 { 0.0, 0.0, 0.0, 0.0}
270 }
271 };
272
273 #endif