~ubuntu-branches/ubuntu/raring/mesa/raring

« back to all changes in this revision

Viewing changes to src/mesa/vbo/vbo_attrib_tmp.h

  • Committer: Package Import Robot
  • Author(s): Maarten Lankhorst
  • Date: 2013-01-22 11:54:09 UTC
  • mfrom: (1.7.13)
  • Revision ID: package-import@ubuntu.com-20130122115409-5e9xii2ee1whab3e
Tags: 9.0.2-0ubuntu1
* New upstream release.
* Decrease size of mesa's libgl1-mesa-dri again
  - re-enable 117-static-gallium.patch
  - add 118-dricore-gallium.patch to link against libdricore again

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
**************************************************************************/
27
27
 
28
28
/* float */
29
 
#define ATTR1FV( A, V ) ATTR( A, 1, (V)[0], 0, 0, 1 )
30
 
#define ATTR2FV( A, V ) ATTR( A, 2, (V)[0], (V)[1], 0, 1 )
31
 
#define ATTR3FV( A, V ) ATTR( A, 3, (V)[0], (V)[1], (V)[2], 1 )
32
 
#define ATTR4FV( A, V ) ATTR( A, 4, (V)[0], (V)[1], (V)[2], (V)[3] )
 
29
#define ATTR1FV( A, V ) ATTR( A, 1, GL_FLOAT, (V)[0], 0, 0, 1 )
 
30
#define ATTR2FV( A, V ) ATTR( A, 2, GL_FLOAT, (V)[0], (V)[1], 0, 1 )
 
31
#define ATTR3FV( A, V ) ATTR( A, 3, GL_FLOAT, (V)[0], (V)[1], (V)[2], 1 )
 
32
#define ATTR4FV( A, V ) ATTR( A, 4, GL_FLOAT, (V)[0], (V)[1], (V)[2], (V)[3] )
33
33
 
34
 
#define ATTR1F( A, X )          ATTR( A, 1, X, 0, 0, 1 )
35
 
#define ATTR2F( A, X, Y )       ATTR( A, 2, X, Y, 0, 1 )
36
 
#define ATTR3F( A, X, Y, Z )    ATTR( A, 3, X, Y, Z, 1 )
37
 
#define ATTR4F( A, X, Y, Z, W ) ATTR( A, 4, X, Y, Z, W )
 
34
#define ATTR1F( A, X )          ATTR( A, 1, GL_FLOAT, X, 0, 0, 1 )
 
35
#define ATTR2F( A, X, Y )       ATTR( A, 2, GL_FLOAT, X, Y, 0, 1 )
 
36
#define ATTR3F( A, X, Y, Z )    ATTR( A, 3, GL_FLOAT, X, Y, Z, 1 )
 
37
#define ATTR4F( A, X, Y, Z, W ) ATTR( A, 4, GL_FLOAT, X, Y, Z, W )
38
38
 
39
39
/* int */
40
 
#define ATTR2IV( A, V ) ATTR( A, 2, (V)[0], (V)[1], 0, 1 )
41
 
#define ATTR3IV( A, V ) ATTR( A, 3, (V)[0], (V)[1], (V)[2], 1 )
42
 
#define ATTR4IV( A, V ) ATTR( A, 4, (V)[0], (V)[1], (V)[2], (V)[3] )
43
 
 
44
 
#define ATTR1I( A, X )          ATTR( A, 1, X, 0, 0, 1 )
45
 
#define ATTR2I( A, X, Y )       ATTR( A, 2, X, Y, 0, 1 )
46
 
#define ATTR3I( A, X, Y, Z )    ATTR( A, 3, X, Y, Z, 1 )
47
 
#define ATTR4I( A, X, Y, Z, W ) ATTR( A, 4, X, Y, Z, W )
 
40
#define ATTRI( A, N, X, Y, Z, W) ATTR( A, N, GL_INT, \
 
41
                                       INT_AS_FLT(X), INT_AS_FLT(Y), \
 
42
                                       INT_AS_FLT(Z), INT_AS_FLT(W) )
 
43
 
 
44
#define ATTR2IV( A, V ) ATTRI( A, 2, (V)[0], (V)[1], 0, 1 )
 
45
#define ATTR3IV( A, V ) ATTRI( A, 3, (V)[0], (V)[1], (V)[2], 1 )
 
46
#define ATTR4IV( A, V ) ATTRI( A, 4, (V)[0], (V)[1], (V)[2], (V)[3] )
 
47
 
 
48
#define ATTR1I( A, X )          ATTRI( A, 1, X, 0, 0, 1 )
 
49
#define ATTR2I( A, X, Y )       ATTRI( A, 2, X, Y, 0, 1 )
 
50
#define ATTR3I( A, X, Y, Z )    ATTRI( A, 3, X, Y, Z, 1 )
 
51
#define ATTR4I( A, X, Y, Z, W ) ATTRI( A, 4, X, Y, Z, W )
48
52
 
49
53
 
50
54
/* uint */
51
 
#define ATTR2UIV( A, V ) ATTR( A, 2, (V)[0], (V)[1], 0, 1 )
52
 
#define ATTR3UIV( A, V ) ATTR( A, 3, (V)[0], (V)[1], (V)[2], 1 )
53
 
#define ATTR4UIV( A, V ) ATTR( A, 4, (V)[0], (V)[1], (V)[2], (V)[3] )
54
 
 
55
 
#define ATTR1UI( A, X )          ATTR( A, 1, X, 0, 0, 1 )
56
 
#define ATTR2UI( A, X, Y )       ATTR( A, 2, X, Y, 0, 1 )
57
 
#define ATTR3UI( A, X, Y, Z )    ATTR( A, 3, X, Y, Z, 1 )
58
 
#define ATTR4UI( A, X, Y, Z, W ) ATTR( A, 4, X, Y, Z, W )
59
 
 
60
 
#define MAT_ATTR( A, N, V ) ATTR( A, N, (V)[0], (V)[1], (V)[2], (V)[3] )
 
55
#define ATTRUI( A, N, X, Y, Z, W) ATTR( A, N, GL_UNSIGNED_INT, \
 
56
                                        UINT_AS_FLT(X), UINT_AS_FLT(Y), \
 
57
                                        UINT_AS_FLT(Z), UINT_AS_FLT(W) )
 
58
 
 
59
#define ATTR2UIV( A, V ) ATTRUI( A, 2, (V)[0], (V)[1], 0, 1 )
 
60
#define ATTR3UIV( A, V ) ATTRUI( A, 3, (V)[0], (V)[1], (V)[2], 1 )
 
61
#define ATTR4UIV( A, V ) ATTRUI( A, 4, (V)[0], (V)[1], (V)[2], (V)[3] )
 
62
 
 
63
#define ATTR1UI( A, X )          ATTRUI( A, 1, X, 0, 0, 1 )
 
64
#define ATTR2UI( A, X, Y )       ATTRUI( A, 2, X, Y, 0, 1 )
 
65
#define ATTR3UI( A, X, Y, Z )    ATTRUI( A, 3, X, Y, Z, 1 )
 
66
#define ATTR4UI( A, X, Y, Z, W ) ATTRUI( A, 4, X, Y, Z, W )
 
67
 
 
68
#define MAT_ATTR( A, N, V ) ATTR( A, N, GL_FLOAT, (V)[0], (V)[1], (V)[2], (V)[3] )
61
69
 
62
70
static inline float conv_ui10_to_norm_float(unsigned ui10)
63
71
{
69
77
   return (float)(ui2) / 3.0;
70
78
}
71
79
 
72
 
#define ATTRUI10_1( A, UI ) ATTR( A, 1, (UI) & 0x3ff, 0, 0, 1 )
73
 
#define ATTRUI10_2( A, UI ) ATTR( A, 2, (UI) & 0x3ff, ((UI) >> 10) & 0x3ff, 0, 1 )
74
 
#define ATTRUI10_3( A, UI ) ATTR( A, 3, (UI) & 0x3ff, ((UI) >> 10) & 0x3ff, ((UI) >> 20) & 0x3ff, 1 )
75
 
#define ATTRUI10_4( A, UI ) ATTR( A, 4, (UI) & 0x3ff, ((UI) >> 10) & 0x3ff, ((UI) >> 20) & 0x3ff, ((UI) >> 30) & 0x3 )
 
80
#define ATTRUI10_1( A, UI ) ATTR( A, 1, GL_FLOAT, (UI) & 0x3ff, 0, 0, 1 )
 
81
#define ATTRUI10_2( A, UI ) ATTR( A, 2, GL_FLOAT, (UI) & 0x3ff, ((UI) >> 10) & 0x3ff, 0, 1 )
 
82
#define ATTRUI10_3( A, UI ) ATTR( A, 3, GL_FLOAT, (UI) & 0x3ff, ((UI) >> 10) & 0x3ff, ((UI) >> 20) & 0x3ff, 1 )
 
83
#define ATTRUI10_4( A, UI ) ATTR( A, 4, GL_FLOAT, (UI) & 0x3ff, ((UI) >> 10) & 0x3ff, ((UI) >> 20) & 0x3ff, ((UI) >> 30) & 0x3 )
76
84
 
77
 
#define ATTRUI10N_1( A, UI ) ATTR( A, 1, conv_ui10_to_norm_float((UI) & 0x3ff), 0, 0, 1 )
78
 
#define ATTRUI10N_2( A, UI ) ATTR( A, 2, \
 
85
#define ATTRUI10N_1( A, UI ) ATTR( A, 1, GL_FLOAT, conv_ui10_to_norm_float((UI) & 0x3ff), 0, 0, 1 )
 
86
#define ATTRUI10N_2( A, UI ) ATTR( A, 2, GL_FLOAT, \
79
87
                                   conv_ui10_to_norm_float((UI) & 0x3ff), \
80
88
                                   conv_ui10_to_norm_float(((UI) >> 10) & 0x3ff), 0, 1 )
81
 
#define ATTRUI10N_3( A, UI ) ATTR( A, 3, \
 
89
#define ATTRUI10N_3( A, UI ) ATTR( A, 3, GL_FLOAT, \
82
90
                                   conv_ui10_to_norm_float((UI) & 0x3ff), \
83
91
                                   conv_ui10_to_norm_float(((UI) >> 10) & 0x3ff), \
84
92
                                   conv_ui10_to_norm_float(((UI) >> 20) & 0x3ff), 1 )
85
 
#define ATTRUI10N_4( A, UI ) ATTR( A, 4, \
 
93
#define ATTRUI10N_4( A, UI ) ATTR( A, 4, GL_FLOAT, \
86
94
                                   conv_ui10_to_norm_float((UI) & 0x3ff), \
87
95
                                   conv_ui10_to_norm_float(((UI) >> 10) & 0x3ff), \
88
96
                                   conv_ui10_to_norm_float(((UI) >> 20) & 0x3ff), \
119
127
   return (float)val.x;
120
128
}
121
129
 
122
 
#define ATTRI10_1( A, I10 ) ATTR( A, 1, conv_i10_to_i((I10) & 0x3ff), 0, 0, 1 )
123
 
#define ATTRI10_2( A, I10 ) ATTR( A, 2, \
 
130
#define ATTRI10_1( A, I10 ) ATTR( A, 1, GL_FLOAT, conv_i10_to_i((I10) & 0x3ff), 0, 0, 1 )
 
131
#define ATTRI10_2( A, I10 ) ATTR( A, 2, GL_FLOAT, \
124
132
                                conv_i10_to_i((I10) & 0x3ff),           \
125
133
                                conv_i10_to_i(((I10) >> 10) & 0x3ff), 0, 1 )
126
 
#define ATTRI10_3( A, I10 ) ATTR( A, 3, \
 
134
#define ATTRI10_3( A, I10 ) ATTR( A, 3, GL_FLOAT, \
127
135
                                conv_i10_to_i((I10) & 0x3ff),       \
128
136
                                conv_i10_to_i(((I10) >> 10) & 0x3ff), \
129
137
                                conv_i10_to_i(((I10) >> 20) & 0x3ff), 1 )
130
 
#define ATTRI10_4( A, I10 ) ATTR( A, 4, \
 
138
#define ATTRI10_4( A, I10 ) ATTR( A, 4, GL_FLOAT, \
131
139
                                conv_i10_to_i((I10) & 0x3ff),           \
132
140
                                conv_i10_to_i(((I10) >> 10) & 0x3ff), \
133
141
                                conv_i10_to_i(((I10) >> 20) & 0x3ff), \
134
142
                                conv_i2_to_i(((I10) >> 30) & 0x3))
135
143
 
136
144
 
137
 
#define ATTRI10N_1( A, I10 ) ATTR( A, 1, conv_i10_to_norm_float((I10) & 0x3ff), 0, 0, 1 )
138
 
#define ATTRI10N_2( A, I10 ) ATTR( A, 2, \
 
145
#define ATTRI10N_1( A, I10 ) ATTR( A, 1, GL_FLOAT, conv_i10_to_norm_float((I10) & 0x3ff), 0, 0, 1 )
 
146
#define ATTRI10N_2( A, I10 ) ATTR( A, 2, GL_FLOAT, \
139
147
                                conv_i10_to_norm_float((I10) & 0x3ff),          \
140
148
                                conv_i10_to_norm_float(((I10) >> 10) & 0x3ff), 0, 1 )
141
 
#define ATTRI10N_3( A, I10 ) ATTR( A, 3, \
 
149
#define ATTRI10N_3( A, I10 ) ATTR( A, 3, GL_FLOAT, \
142
150
                                conv_i10_to_norm_float((I10) & 0x3ff),      \
143
151
                                conv_i10_to_norm_float(((I10) >> 10) & 0x3ff), \
144
152
                                conv_i10_to_norm_float(((I10) >> 20) & 0x3ff), 1 )
145
 
#define ATTRI10N_4( A, I10 ) ATTR( A, 4, \
 
153
#define ATTRI10N_4( A, I10 ) ATTR( A, 4, GL_FLOAT, \
146
154
                                conv_i10_to_norm_float((I10) & 0x3ff),          \
147
155
                                conv_i10_to_norm_float(((I10) >> 10) & 0x3ff), \
148
156
                                conv_i10_to_norm_float(((I10) >> 20) & 0x3ff), \