Tizen 2.0 Release
[profile/ivi/osmesa.git] / src / mesa / drivers / dri / tdfx / X86 / fx_3dnow_fastpath.S
1
2 #include "../../X86/assyntax.h"
3
4 #define SETUP_RGBA  0x1
5 #define SETUP_TMU0  0x2
6 #define SETUP_TMU1  0x4
7
8
9 /* Pack either rgba or texture into the remaining half of a 32 byte vertex.
10  */
11 #define CLIP_R  24
12 #define CLIP_G  16
13 #define CLIP_B  20
14 #define CLIP_A  28                      /*  defined inf fxdrv.h              */
15
16 #define CLIP_S0 16
17 #define CLIP_T0 20
18 #define CLIP_S1 24
19 #define CLIP_T1 28
20
21 #define SIZE 4
22 #define TYPE (0)
23 #define TAG(x) x
24 #include "fx_3dnow_fasttmp.h"
25
26 #define SIZE 8
27 #define TYPE (SETUP_RGBA)
28 #define TAG(x) x##_RGBA
29 #include "fx_3dnow_fasttmp.h"
30
31 #define SIZE 6
32 #define TYPE (SETUP_TMU0)
33 #define TAG(x) x##_TMU0
34 #include "fx_3dnow_fasttmp.h"
35
36 #define SIZE 8
37 #define TYPE (SETUP_TMU0|SETUP_TMU1)
38 #define TAG(x) x##_TMU0_TMU1
39 #include "fx_3dnow_fasttmp.h"
40
41 #undef CLIP_S1
42 #undef CLIP_T1
43 #define CLIP_S1 16
44 #define CLIP_T1 20
45
46 #define SIZE 6
47 #define TYPE (SETUP_TMU1)
48 #define TAG(x) x##_TMU1
49 #include "fx_3dnow_fasttmp.h"
50
51 /* These three need to use a full 64 byte clip-space vertex.
52  */
53 #undef CLIP_S0
54 #undef CLIP_T0
55 #undef CLIP_S1
56 #undef CLIP_T1
57
58 #define CLIP_S0 32
59 #define CLIP_T0 36
60 #define CLIP_S1 40
61 #define CLIP_T1 44
62
63 #define SIZE 10
64 #define TYPE (SETUP_RGBA|SETUP_TMU0)
65 #define TAG(x) x##_RGBA_TMU0
66 #include "fx_3dnow_fasttmp.h"
67
68 #define SIZE 12
69 #define TYPE (SETUP_RGBA|SETUP_TMU0|SETUP_TMU1)
70 #define TAG(x) x##_RGBA_TMU0_TMU1
71 #include "fx_3dnow_fasttmp.h"
72
73 #undef CLIP_S1
74 #undef CLIP_T1
75 #define CLIP_S1 32
76 #define CLIP_T1 36
77
78 #define SIZE 10
79 #define TYPE (SETUP_RGBA|SETUP_TMU1)
80 #define TAG(x) x##_RGBA_TMU1
81 #include "fx_3dnow_fasttmp.h"
82
83