uint*t -> u_int*t changes
[mesa.git] / src / mesa / drivers / dri / gamma / gamma_tritmp.h
1 /* $XFree86: xc/extras/Mesa/src/mesa/drivers/dri/gamma/gamma_tritmp.h,v 1.2 2004/12/13 22:40:49 tsi Exp $ */
2
3 static void TAG(gamma_point)( gammaContextPtr gmesa,
4 const gammaVertex *v0 )
5 {
6 u_int32_t vColor;
7 u_int32_t vBegin;
8
9 vBegin = gmesa->Begin | B_PrimType_Points;
10
11 CHECK_DMA_BUFFER(gmesa, 1);
12 WRITE(gmesa->buf, Begin, vBegin);
13
14 #if (IND & GAMMA_RAST_ALPHA_BIT)
15 vColor = (v0->v.color.alpha << 24) |
16 (v0->v.color.blue << 16) |
17 (v0->v.color.green << 8) |
18 (v0->v.color.red << 0);
19
20 CHECK_DMA_BUFFER(gmesa, 1);
21 WRITE(gmesa->buf, PackedColor4, vColor);
22 #else
23 vColor = (v0->v.color.blue << 16) |
24 (v0->v.color.green << 8) |
25 (v0->v.color.red << 0);
26
27 CHECK_DMA_BUFFER(gmesa, 1);
28 WRITE(gmesa->buf, PackedColor3, vColor);
29 #endif
30
31 #if (IND & GAMMA_RAST_TEX_BIT)
32 CHECK_DMA_BUFFER(gmesa, 6);
33 WRITEF(gmesa->buf, Tt2, v0->v.u0);
34 WRITEF(gmesa->buf, Ts2, v0->v.v0);
35 WRITEF(gmesa->buf, Vw, v0->v.w);
36 WRITEF(gmesa->buf, Vz, v0->v.z);
37 WRITEF(gmesa->buf, Vy, v0->v.y);
38 WRITEF(gmesa->buf, Vx4, v0->v.x);
39 #else
40 CHECK_DMA_BUFFER(gmesa, 4);
41 WRITEF(gmesa->buf, Vw, v0->v.w);
42 WRITEF(gmesa->buf, Vz, v0->v.z);
43 WRITEF(gmesa->buf, Vy, v0->v.y);
44 WRITEF(gmesa->buf, Vx4, v0->v.x);
45 #endif
46
47 #if !(IND & GAMMA_RAST_FLAT_BIT)
48 CHECK_DMA_BUFFER(gmesa, 1);
49 WRITE(gmesa->buf, FlushSpan, 0);
50 #endif
51
52 CHECK_DMA_BUFFER(gmesa, 1);
53 WRITE(gmesa->buf, End, 0);
54 }
55
56 static void TAG(gamma_line)( gammaContextPtr gmesa,
57 const gammaVertex *v0,
58 const gammaVertex *v1 )
59 {
60 u_int32_t vColor;
61 u_int32_t vBegin;
62
63 vBegin = gmesa->Begin | B_PrimType_Lines;
64
65 CHECK_DMA_BUFFER(gmesa, 1);
66 WRITE(gmesa->buf, Begin, vBegin);
67
68 #if !(IND & GAMMA_RAST_FLAT_BIT)
69 #if (IND & GAMMA_RAST_ALPHA_BIT)
70 vColor = (v0->v.color.alpha << 24) |
71 (v0->v.color.blue << 16) |
72 (v0->v.color.green << 8) |
73 (v0->v.color.red << 0);
74
75 CHECK_DMA_BUFFER(gmesa, 1);
76 WRITE(gmesa->buf, PackedColor4, vColor);
77 #else
78 vColor = (v0->v.color.blue << 16) |
79 (v0->v.color.green << 8) |
80 (v0->v.color.red << 0);
81
82 CHECK_DMA_BUFFER(gmesa, 1);
83 WRITE(gmesa->buf, PackedColor3, vColor);
84 #endif
85 #else
86 #if (IND & GAMMA_RAST_ALPHA_BIT)
87 vColor = (v1->v.color.alpha << 24) |
88 (v1->v.color.blue << 16) |
89 (v1->v.color.green << 8) |
90 (v1->v.color.red << 0);
91
92 CHECK_DMA_BUFFER(gmesa, 1);
93 WRITE(gmesa->buf, PackedColor4, vColor);
94 #else
95 vColor = (v1->v.color.blue << 16) |
96 (v1->v.color.green << 8) |
97 (v1->v.color.red << 0);
98
99 CHECK_DMA_BUFFER(gmesa, 1);
100 WRITE(gmesa->buf, PackedColor3, vColor);
101 #endif
102 #endif
103
104 #if (IND & GAMMA_RAST_TEX_BIT)
105 CHECK_DMA_BUFFER(gmesa, 6);
106 WRITEF(gmesa->buf, Tt2, v0->v.u0);
107 WRITEF(gmesa->buf, Ts2, v0->v.v0);
108 WRITEF(gmesa->buf, Vw, v0->v.w);
109 WRITEF(gmesa->buf, Vz, v0->v.z);
110 WRITEF(gmesa->buf, Vy, v0->v.y);
111 WRITEF(gmesa->buf, Vx4, v0->v.x);
112 #else
113 CHECK_DMA_BUFFER(gmesa, 4);
114 WRITEF(gmesa->buf, Vw, v0->v.w);
115 WRITEF(gmesa->buf, Vz, v0->v.z);
116 WRITEF(gmesa->buf, Vy, v0->v.y);
117 WRITEF(gmesa->buf, Vx4, v0->v.x);
118 #endif
119
120 #if !(IND & GAMMA_RAST_FLAT_BIT)
121 #if (IND & GAMMA_RAST_ALPHA_BIT)
122 vColor = (v1->v.color.alpha << 24) |
123 (v1->v.color.blue << 16) |
124 (v1->v.color.green << 8) |
125 (v1->v.color.red << 0);
126
127 CHECK_DMA_BUFFER(gmesa, 1);
128 WRITE(gmesa->buf, PackedColor4, vColor);
129 #else
130 vColor = (v1->v.color.blue << 16) |
131 (v1->v.color.green << 8) |
132 (v1->v.color.red << 0);
133
134 CHECK_DMA_BUFFER(gmesa, 1);
135 WRITE(gmesa->buf, PackedColor3, vColor);
136 #endif
137 #endif
138
139 #if (IND & GAMMA_RAST_TEX_BIT)
140 CHECK_DMA_BUFFER(gmesa, 6);
141 WRITEF(gmesa->buf, Tt2, v1->v.u0);
142 WRITEF(gmesa->buf, Ts2, v1->v.v0);
143 WRITEF(gmesa->buf, Vw, v1->v.w);
144 WRITEF(gmesa->buf, Vz, v1->v.z);
145 WRITEF(gmesa->buf, Vy, v1->v.y);
146 WRITEF(gmesa->buf, Vx4, v1->v.x);
147 #else
148 CHECK_DMA_BUFFER(gmesa, 4);
149 WRITEF(gmesa->buf, Vw, v1->v.w);
150 WRITEF(gmesa->buf, Vz, v1->v.z);
151 WRITEF(gmesa->buf, Vy, v1->v.y);
152 WRITEF(gmesa->buf, Vx4, v1->v.x);
153 #endif
154
155 #if !(IND & GAMMA_RAST_FLAT_BIT)
156 CHECK_DMA_BUFFER(gmesa, 1);
157 WRITE(gmesa->buf, FlushSpan, 0);
158 #endif
159
160 CHECK_DMA_BUFFER(gmesa, 1);
161 WRITE(gmesa->buf, End, 0);
162 }
163
164 static void TAG(gamma_triangle)( gammaContextPtr gmesa,
165 const gammaVertex *v0,
166 const gammaVertex *v1,
167 const gammaVertex *v2 )
168 {
169 u_int32_t vColor;
170 u_int32_t vBegin;
171
172 vBegin = gmesa->Begin | B_PrimType_Triangles;
173
174 CHECK_DMA_BUFFER(gmesa, 1);
175 WRITE(gmesa->buf, Begin, vBegin);
176
177 #if !(IND & GAMMA_RAST_FLAT_BIT)
178 #if (IND & GAMMA_RAST_ALPHA_BIT)
179 vColor = (v0->v.color.alpha << 24) |
180 (v0->v.color.blue << 16) |
181 (v0->v.color.green << 8) |
182 (v0->v.color.red << 0);
183
184 CHECK_DMA_BUFFER(gmesa, 1);
185 WRITE(gmesa->buf, PackedColor4, vColor);
186 #else
187 vColor = (v0->v.color.blue << 16) |
188 (v0->v.color.green << 8) |
189 (v0->v.color.red << 0);
190
191 CHECK_DMA_BUFFER(gmesa, 1);
192 WRITE(gmesa->buf, PackedColor3, vColor);
193 #endif
194 #else
195 #if (IND & GAMMA_RAST_ALPHA_BIT)
196 vColor = (v2->v.color.alpha << 24) |
197 (v2->v.color.blue << 16) |
198 (v2->v.color.green << 8) |
199 (v2->v.color.red << 0);
200
201 CHECK_DMA_BUFFER(gmesa, 1);
202 WRITE(gmesa->buf, PackedColor4, vColor);
203 #else
204 vColor = (v2->v.color.blue << 16) |
205 (v2->v.color.green << 8) |
206 (v2->v.color.red << 0);
207
208 CHECK_DMA_BUFFER(gmesa, 1);
209 WRITE(gmesa->buf, PackedColor3, vColor);
210 #endif
211 #endif
212
213 #if (IND & GAMMA_RAST_TEX_BIT)
214 CHECK_DMA_BUFFER(gmesa, 6);
215 WRITEF(gmesa->buf, Tt2, v0->v.u0);
216 WRITEF(gmesa->buf, Ts2, v0->v.v0);
217 WRITEF(gmesa->buf, Vw, v0->v.w);
218 WRITEF(gmesa->buf, Vz, v0->v.z);
219 WRITEF(gmesa->buf, Vy, v0->v.y);
220 WRITEF(gmesa->buf, Vx4, v0->v.x);
221 #else
222 CHECK_DMA_BUFFER(gmesa, 4);
223 WRITEF(gmesa->buf, Vw, v0->v.w);
224 WRITEF(gmesa->buf, Vz, v0->v.z);
225 WRITEF(gmesa->buf, Vy, v0->v.y);
226 WRITEF(gmesa->buf, Vx4, v0->v.x);
227 #endif
228
229 #if !(IND & GAMMA_RAST_FLAT_BIT)
230 #if (IND & GAMMA_RAST_ALPHA_BIT)
231 vColor = (v1->v.color.alpha << 24) |
232 (v1->v.color.blue << 16) |
233 (v1->v.color.green << 8) |
234 (v1->v.color.red << 0);
235
236 CHECK_DMA_BUFFER(gmesa, 1);
237 WRITE(gmesa->buf, PackedColor4, vColor);
238 #else
239 vColor = (v1->v.color.blue << 16) |
240 (v1->v.color.green << 8) |
241 (v1->v.color.red << 0);
242
243 CHECK_DMA_BUFFER(gmesa, 1);
244 WRITE(gmesa->buf, PackedColor3, vColor);
245 #endif
246 #endif
247
248 #if (IND & GAMMA_RAST_TEX_BIT)
249 CHECK_DMA_BUFFER(gmesa, 6);
250 WRITEF(gmesa->buf, Tt2, v1->v.u0);
251 WRITEF(gmesa->buf, Ts2, v1->v.v0);
252 WRITEF(gmesa->buf, Vw, v1->v.w);
253 WRITEF(gmesa->buf, Vz, v1->v.z);
254 WRITEF(gmesa->buf, Vy, v1->v.y);
255 WRITEF(gmesa->buf, Vx4, v1->v.x);
256 #else
257 CHECK_DMA_BUFFER(gmesa, 4);
258 WRITEF(gmesa->buf, Vw, v1->v.w);
259 WRITEF(gmesa->buf, Vz, v1->v.z);
260 WRITEF(gmesa->buf, Vy, v1->v.y);
261 WRITEF(gmesa->buf, Vx4, v1->v.x);
262 #endif
263
264 #if !(IND & GAMMA_RAST_FLAT_BIT)
265 #if (IND & GAMMA_RAST_ALPHA_BIT)
266 vColor = (v2->v.color.alpha << 24) |
267 (v2->v.color.blue << 16) |
268 (v2->v.color.green << 8) |
269 (v2->v.color.red << 0);
270
271 CHECK_DMA_BUFFER(gmesa, 1);
272 WRITE(gmesa->buf, PackedColor4, vColor);
273 #else
274 vColor = (v2->v.color.blue << 16) |
275 (v2->v.color.green << 8) |
276 (v2->v.color.red << 0);
277
278 CHECK_DMA_BUFFER(gmesa, 1);
279 WRITE(gmesa->buf, PackedColor3, vColor);
280 #endif
281 #endif
282
283 #if (IND & GAMMA_RAST_TEX_BIT)
284 CHECK_DMA_BUFFER(gmesa, 6);
285 WRITEF(gmesa->buf, Tt2, v2->v.u0);
286 WRITEF(gmesa->buf, Ts2, v2->v.v0);
287 WRITEF(gmesa->buf, Vw, v2->v.w);
288 WRITEF(gmesa->buf, Vz, v2->v.z);
289 WRITEF(gmesa->buf, Vy, v2->v.y);
290 WRITEF(gmesa->buf, Vx4, v2->v.x);
291 #else
292 CHECK_DMA_BUFFER(gmesa, 4);
293 WRITEF(gmesa->buf, Vw, v2->v.w);
294 WRITEF(gmesa->buf, Vz, v2->v.z);
295 WRITEF(gmesa->buf, Vy, v2->v.y);
296 WRITEF(gmesa->buf, Vx4, v2->v.x);
297 #endif
298
299 #if !(IND & GAMMA_RAST_FLAT_BIT)
300 CHECK_DMA_BUFFER(gmesa, 1);
301 WRITE(gmesa->buf, FlushSpan, 0);
302 #endif
303
304 CHECK_DMA_BUFFER(gmesa, 1);
305 WRITE(gmesa->buf, End, 0);
306 }
307
308 static void TAG(gamma_quad)( gammaContextPtr gmesa,
309 const gammaVertex *v0,
310 const gammaVertex *v1,
311 const gammaVertex *v2,
312 const gammaVertex *v3 )
313 {
314 u_int32_t vColor;
315 u_int32_t vBegin;
316
317 vBegin = gmesa->Begin | B_PrimType_Quads;
318
319 CHECK_DMA_BUFFER(gmesa, 1);
320 WRITE(gmesa->buf, Begin, vBegin);
321
322 #if !(IND & GAMMA_RAST_FLAT_BIT)
323 #if (IND & GAMMA_RAST_ALPHA_BIT)
324 vColor = (v0->v.color.alpha << 24) |
325 (v0->v.color.blue << 16) |
326 (v0->v.color.green << 8) |
327 (v0->v.color.red << 0);
328
329 CHECK_DMA_BUFFER(gmesa, 1);
330 WRITE(gmesa->buf, PackedColor4, vColor);
331 #else
332 vColor = (v0->v.color.blue << 16) |
333 (v0->v.color.green << 8) |
334 (v0->v.color.red << 0);
335
336 CHECK_DMA_BUFFER(gmesa, 1);
337 WRITE(gmesa->buf, PackedColor3, vColor);
338 #endif
339 #else
340 #if (IND & GAMMA_RAST_ALPHA_BIT)
341 vColor = (v3->v.color.alpha << 24) |
342 (v3->v.color.blue << 16) |
343 (v3->v.color.green << 8) |
344 (v3->v.color.red << 0);
345
346 CHECK_DMA_BUFFER(gmesa, 1);
347 WRITE(gmesa->buf, PackedColor4, vColor);
348 #else
349 vColor = (v3->v.color.blue << 16) |
350 (v3->v.color.green << 8) |
351 (v3->v.color.red << 0);
352
353 CHECK_DMA_BUFFER(gmesa, 1);
354 WRITE(gmesa->buf, PackedColor3, vColor);
355 #endif
356 #endif
357
358 #if (IND & GAMMA_RAST_TEX_BIT)
359 CHECK_DMA_BUFFER(gmesa, 6);
360 WRITEF(gmesa->buf, Tt2, v0->v.u0);
361 WRITEF(gmesa->buf, Ts2, v0->v.v0);
362 WRITEF(gmesa->buf, Vw, v0->v.w);
363 WRITEF(gmesa->buf, Vz, v0->v.z);
364 WRITEF(gmesa->buf, Vy, v0->v.y);
365 WRITEF(gmesa->buf, Vx4, v0->v.x);
366 #else
367 CHECK_DMA_BUFFER(gmesa, 4);
368 WRITEF(gmesa->buf, Vw, v0->v.w);
369 WRITEF(gmesa->buf, Vz, v0->v.z);
370 WRITEF(gmesa->buf, Vy, v0->v.y);
371 WRITEF(gmesa->buf, Vx4, v0->v.x);
372 #endif
373
374 #if !(IND & GAMMA_RAST_FLAT_BIT)
375 #if (IND & GAMMA_RAST_ALPHA_BIT)
376 vColor = (v1->v.color.alpha << 24) |
377 (v1->v.color.blue << 16) |
378 (v1->v.color.green << 8) |
379 (v1->v.color.red << 0);
380
381 CHECK_DMA_BUFFER(gmesa, 1);
382 WRITE(gmesa->buf, PackedColor4, vColor);
383 #else
384 vColor = (v1->v.color.blue << 16) |
385 (v1->v.color.green << 8) |
386 (v1->v.color.red << 0);
387
388 CHECK_DMA_BUFFER(gmesa, 1);
389 WRITE(gmesa->buf, PackedColor3, vColor);
390 #endif
391 #endif
392
393 #if (IND & GAMMA_RAST_TEX_BIT)
394 CHECK_DMA_BUFFER(gmesa, 6);
395 WRITEF(gmesa->buf, Tt2, v1->v.u0);
396 WRITEF(gmesa->buf, Ts2, v1->v.v0);
397 WRITEF(gmesa->buf, Vw, v1->v.w);
398 WRITEF(gmesa->buf, Vz, v1->v.z);
399 WRITEF(gmesa->buf, Vy, v1->v.y);
400 WRITEF(gmesa->buf, Vx4, v1->v.x);
401 #else
402 CHECK_DMA_BUFFER(gmesa, 4);
403 WRITEF(gmesa->buf, Vw, v1->v.w);
404 WRITEF(gmesa->buf, Vz, v1->v.z);
405 WRITEF(gmesa->buf, Vy, v1->v.y);
406 WRITEF(gmesa->buf, Vx4, v1->v.x);
407 #endif
408
409 #if !(IND & GAMMA_RAST_FLAT_BIT)
410 #if (IND & GAMMA_RAST_ALPHA_BIT)
411 vColor = (v2->v.color.alpha << 24) |
412 (v2->v.color.blue << 16) |
413 (v2->v.color.green << 8) |
414 (v2->v.color.red << 0);
415
416 CHECK_DMA_BUFFER(gmesa, 1);
417 WRITE(gmesa->buf, PackedColor4, vColor);
418 #else
419 vColor = (v2->v.color.blue << 16) |
420 (v2->v.color.green << 8) |
421 (v2->v.color.red << 0);
422
423 CHECK_DMA_BUFFER(gmesa, 1);
424 WRITE(gmesa->buf, PackedColor3, vColor);
425 #endif
426 #endif
427
428 #if (IND & GAMMA_RAST_TEX_BIT)
429 CHECK_DMA_BUFFER(gmesa, 6);
430 WRITEF(gmesa->buf, Tt2, v2->v.u0);
431 WRITEF(gmesa->buf, Ts2, v2->v.v0);
432 WRITEF(gmesa->buf, Vw, v2->v.w);
433 WRITEF(gmesa->buf, Vz, v2->v.z);
434 WRITEF(gmesa->buf, Vy, v2->v.y);
435 WRITEF(gmesa->buf, Vx4, v2->v.x);
436 #else
437 CHECK_DMA_BUFFER(gmesa, 4);
438 WRITEF(gmesa->buf, Vw, v2->v.w);
439 WRITEF(gmesa->buf, Vz, v2->v.z);
440 WRITEF(gmesa->buf, Vy, v2->v.y);
441 WRITEF(gmesa->buf, Vx4, v2->v.x);
442 #endif
443
444 #if !(IND & GAMMA_RAST_FLAT_BIT)
445 #if (IND & GAMMA_RAST_ALPHA_BIT)
446 vColor = (v3->v.color.alpha << 24) |
447 (v3->v.color.blue << 16) |
448 (v3->v.color.green << 8) |
449 (v3->v.color.red << 0);
450
451 CHECK_DMA_BUFFER(gmesa, 1);
452 WRITE(gmesa->buf, PackedColor4, vColor);
453 #else
454 vColor = (v3->v.color.blue << 16) |
455 (v3->v.color.green << 8) |
456 (v3->v.color.red << 0);
457
458 CHECK_DMA_BUFFER(gmesa, 1);
459 WRITE(gmesa->buf, PackedColor3, vColor);
460 #endif
461 #endif
462
463 #if (IND & GAMMA_RAST_TEX_BIT)
464 CHECK_DMA_BUFFER(gmesa, 6);
465 WRITEF(gmesa->buf, Tt2, v3->v.u0);
466 WRITEF(gmesa->buf, Ts2, v3->v.v0);
467 WRITEF(gmesa->buf, Vw, v3->v.w);
468 WRITEF(gmesa->buf, Vz, v3->v.z);
469 WRITEF(gmesa->buf, Vy, v3->v.y);
470 WRITEF(gmesa->buf, Vx4, v3->v.x);
471 #else
472 CHECK_DMA_BUFFER(gmesa, 4);
473 WRITEF(gmesa->buf, Vw, v3->v.w);
474 WRITEF(gmesa->buf, Vz, v3->v.z);
475 WRITEF(gmesa->buf, Vy, v3->v.y);
476 WRITEF(gmesa->buf, Vx4, v3->v.x);
477 #endif
478
479 #if !(IND & GAMMA_RAST_FLAT_BIT)
480 CHECK_DMA_BUFFER(gmesa, 1);
481 WRITE(gmesa->buf, FlushSpan, 0);
482 #endif
483
484 CHECK_DMA_BUFFER(gmesa, 1);
485 WRITE(gmesa->buf, End, 0);
486 }
487
488 static void TAG(gamma_init)(void)
489 {
490 gamma_point_tab[IND] = TAG(gamma_point);
491 gamma_line_tab[IND] = TAG(gamma_line);
492 gamma_tri_tab[IND] = TAG(gamma_triangle);
493 gamma_quad_tab[IND] = TAG(gamma_quad);
494 }
495
496 #undef IND
497 #undef TAG