47
47
#include "st_format.h"
51
format_max_bits(enum pipe_format format)
53
GLuint size = util_format_get_component_bits(format, UTIL_FORMAT_COLORSPACE_RGB, 0);
55
size = MAX2(size, util_format_get_component_bits(format, UTIL_FORMAT_COLORSPACE_RGB, 1));
56
size = MAX2(size, util_format_get_component_bits(format, UTIL_FORMAT_COLORSPACE_RGB, 2));
57
size = MAX2(size, util_format_get_component_bits(format, UTIL_FORMAT_COLORSPACE_RGB, 3));
58
size = MAX2(size, util_format_get_component_bits(format, UTIL_FORMAT_COLORSPACE_ZS, 0));
59
size = MAX2(size, util_format_get_component_bits(format, UTIL_FORMAT_COLORSPACE_ZS, 1));
65
* Return basic GL datatype for the given gallium format.
68
st_format_datatype(enum pipe_format format)
70
const struct util_format_description *desc;
73
desc = util_format_description(format);
76
/* Find the first non-VOID channel. */
77
for (i = 0; i < 4; i++) {
78
if (desc->channel[i].type != UTIL_FORMAT_TYPE_VOID) {
83
if (desc->layout == UTIL_FORMAT_LAYOUT_PLAIN) {
84
if (format == PIPE_FORMAT_B5G5R5A1_UNORM ||
85
format == PIPE_FORMAT_B5G6R5_UNORM) {
86
return GL_UNSIGNED_SHORT;
88
else if (format == PIPE_FORMAT_R11G11B10_FLOAT ||
89
format == PIPE_FORMAT_R9G9B9E5_FLOAT) {
92
else if (format == PIPE_FORMAT_Z24_UNORM_S8_USCALED ||
93
format == PIPE_FORMAT_S8_USCALED_Z24_UNORM ||
94
format == PIPE_FORMAT_Z24X8_UNORM ||
95
format == PIPE_FORMAT_X8Z24_UNORM) {
96
return GL_UNSIGNED_INT_24_8;
99
const GLuint size = format_max_bits(format);
106
if (desc->channel[i].type == UTIL_FORMAT_TYPE_UNSIGNED)
107
return GL_UNSIGNED_BYTE;
111
else if (size == 16) {
112
if (desc->channel[i].type == UTIL_FORMAT_TYPE_FLOAT)
113
return GL_HALF_FLOAT;
114
if (desc->channel[i].type == UTIL_FORMAT_TYPE_UNSIGNED)
115
return GL_UNSIGNED_SHORT;
119
else if (size <= 32) {
120
if (desc->channel[i].type == UTIL_FORMAT_TYPE_FLOAT)
122
if (desc->channel[i].type == UTIL_FORMAT_TYPE_UNSIGNED)
123
return GL_UNSIGNED_INT;
129
assert(desc->channel[i].type == UTIL_FORMAT_TYPE_FLOAT);
134
else if (format == PIPE_FORMAT_UYVY) {
135
return GL_UNSIGNED_SHORT;
137
else if (format == PIPE_FORMAT_YUYV) {
138
return GL_UNSIGNED_SHORT;
141
/* probably a compressed format, unsupported anyway */
148
51
* Translate Mesa format to Gallium format.
284
195
return PIPE_FORMAT_R16G16B16A16_UNORM;
286
197
/* signed int formats */
198
case MESA_FORMAT_ALPHA_UINT8:
199
return PIPE_FORMAT_A8_UINT;
200
case MESA_FORMAT_ALPHA_UINT16:
201
return PIPE_FORMAT_A16_UINT;
202
case MESA_FORMAT_ALPHA_UINT32:
203
return PIPE_FORMAT_A32_UINT;
205
case MESA_FORMAT_ALPHA_INT8:
206
return PIPE_FORMAT_A8_SINT;
207
case MESA_FORMAT_ALPHA_INT16:
208
return PIPE_FORMAT_A16_SINT;
209
case MESA_FORMAT_ALPHA_INT32:
210
return PIPE_FORMAT_A32_SINT;
212
case MESA_FORMAT_INTENSITY_UINT8:
213
return PIPE_FORMAT_I8_UINT;
214
case MESA_FORMAT_INTENSITY_UINT16:
215
return PIPE_FORMAT_I16_UINT;
216
case MESA_FORMAT_INTENSITY_UINT32:
217
return PIPE_FORMAT_I32_UINT;
219
case MESA_FORMAT_INTENSITY_INT8:
220
return PIPE_FORMAT_I8_SINT;
221
case MESA_FORMAT_INTENSITY_INT16:
222
return PIPE_FORMAT_I16_SINT;
223
case MESA_FORMAT_INTENSITY_INT32:
224
return PIPE_FORMAT_I32_SINT;
226
case MESA_FORMAT_LUMINANCE_UINT8:
227
return PIPE_FORMAT_L8_UINT;
228
case MESA_FORMAT_LUMINANCE_UINT16:
229
return PIPE_FORMAT_L16_UINT;
230
case MESA_FORMAT_LUMINANCE_UINT32:
231
return PIPE_FORMAT_L32_UINT;
233
case MESA_FORMAT_LUMINANCE_INT8:
234
return PIPE_FORMAT_L8_SINT;
235
case MESA_FORMAT_LUMINANCE_INT16:
236
return PIPE_FORMAT_L16_SINT;
237
case MESA_FORMAT_LUMINANCE_INT32:
238
return PIPE_FORMAT_L32_SINT;
240
case MESA_FORMAT_LUMINANCE_ALPHA_UINT8:
241
return PIPE_FORMAT_L8A8_UINT;
242
case MESA_FORMAT_LUMINANCE_ALPHA_UINT16:
243
return PIPE_FORMAT_L16A16_UINT;
244
case MESA_FORMAT_LUMINANCE_ALPHA_UINT32:
245
return PIPE_FORMAT_L32A32_UINT;
247
case MESA_FORMAT_LUMINANCE_ALPHA_INT8:
248
return PIPE_FORMAT_L8A8_SINT;
249
case MESA_FORMAT_LUMINANCE_ALPHA_INT16:
250
return PIPE_FORMAT_L16A16_SINT;
251
case MESA_FORMAT_LUMINANCE_ALPHA_INT32:
252
return PIPE_FORMAT_L32A32_SINT;
254
case MESA_FORMAT_R_INT8:
255
return PIPE_FORMAT_R8_SINT;
256
case MESA_FORMAT_RG_INT8:
257
return PIPE_FORMAT_R8G8_SINT;
258
case MESA_FORMAT_RGB_INT8:
259
return PIPE_FORMAT_R8G8B8_SINT;
287
260
case MESA_FORMAT_RGBA_INT8:
288
return PIPE_FORMAT_R8G8B8A8_SSCALED;
261
return PIPE_FORMAT_R8G8B8A8_SINT;
262
case MESA_FORMAT_R_INT16:
263
return PIPE_FORMAT_R16_SINT;
264
case MESA_FORMAT_RG_INT16:
265
return PIPE_FORMAT_R16G16_SINT;
266
case MESA_FORMAT_RGB_INT16:
267
return PIPE_FORMAT_R16G16B16_SINT;
289
268
case MESA_FORMAT_RGBA_INT16:
290
return PIPE_FORMAT_R16G16B16A16_SSCALED;
269
return PIPE_FORMAT_R16G16B16A16_SINT;
270
case MESA_FORMAT_R_INT32:
271
return PIPE_FORMAT_R32_SINT;
272
case MESA_FORMAT_RG_INT32:
273
return PIPE_FORMAT_R32G32_SINT;
274
case MESA_FORMAT_RGB_INT32:
275
return PIPE_FORMAT_R32G32B32_SINT;
291
276
case MESA_FORMAT_RGBA_INT32:
292
return PIPE_FORMAT_R32G32B32A32_SSCALED;
277
return PIPE_FORMAT_R32G32B32A32_SINT;
294
279
/* unsigned int formats */
280
case MESA_FORMAT_R_UINT8:
281
return PIPE_FORMAT_R8_UINT;
282
case MESA_FORMAT_RG_UINT8:
283
return PIPE_FORMAT_R8G8_UINT;
284
case MESA_FORMAT_RGB_UINT8:
285
return PIPE_FORMAT_R8G8B8_UINT;
295
286
case MESA_FORMAT_RGBA_UINT8:
296
return PIPE_FORMAT_R8G8B8A8_USCALED;
287
return PIPE_FORMAT_R8G8B8A8_UINT;
288
case MESA_FORMAT_R_UINT16:
289
return PIPE_FORMAT_R16_UINT;
290
case MESA_FORMAT_RG_UINT16:
291
return PIPE_FORMAT_R16G16_UINT;
292
case MESA_FORMAT_RGB_UINT16:
293
return PIPE_FORMAT_R16G16B16_UINT;
297
294
case MESA_FORMAT_RGBA_UINT16:
298
return PIPE_FORMAT_R16G16B16A16_USCALED;
295
return PIPE_FORMAT_R16G16B16A16_UINT;
296
case MESA_FORMAT_R_UINT32:
297
return PIPE_FORMAT_R32_UINT;
298
case MESA_FORMAT_RG_UINT32:
299
return PIPE_FORMAT_R32G32_UINT;
300
case MESA_FORMAT_RGB_UINT32:
301
return PIPE_FORMAT_R32G32B32_UINT;
299
302
case MESA_FORMAT_RGBA_UINT32:
300
return PIPE_FORMAT_R32G32B32A32_USCALED;
303
return PIPE_FORMAT_R32G32B32A32_UINT;
302
305
case MESA_FORMAT_RED_RGTC1:
303
306
return PIPE_FORMAT_RGTC1_UNORM;
504
519
case PIPE_FORMAT_R16_UNORM:
505
520
return MESA_FORMAT_R16;
506
521
case PIPE_FORMAT_R8G8_UNORM:
507
return MESA_FORMAT_RG88;
522
return MESA_FORMAT_GR88;
508
523
case PIPE_FORMAT_R16G16_UNORM:
509
524
return MESA_FORMAT_RG1616;
511
/* signed int formats */
512
case PIPE_FORMAT_R8G8B8A8_SSCALED:
526
case PIPE_FORMAT_A8_UINT:
527
return MESA_FORMAT_ALPHA_UINT8;
528
case PIPE_FORMAT_A16_UINT:
529
return MESA_FORMAT_ALPHA_UINT16;
530
case PIPE_FORMAT_A32_UINT:
531
return MESA_FORMAT_ALPHA_UINT32;
532
case PIPE_FORMAT_A8_SINT:
533
return MESA_FORMAT_ALPHA_INT8;
534
case PIPE_FORMAT_A16_SINT:
535
return MESA_FORMAT_ALPHA_INT16;
536
case PIPE_FORMAT_A32_SINT:
537
return MESA_FORMAT_ALPHA_INT32;
539
case PIPE_FORMAT_I8_UINT:
540
return MESA_FORMAT_INTENSITY_UINT8;
541
case PIPE_FORMAT_I16_UINT:
542
return MESA_FORMAT_INTENSITY_UINT16;
543
case PIPE_FORMAT_I32_UINT:
544
return MESA_FORMAT_INTENSITY_UINT32;
545
case PIPE_FORMAT_I8_SINT:
546
return MESA_FORMAT_INTENSITY_INT8;
547
case PIPE_FORMAT_I16_SINT:
548
return MESA_FORMAT_INTENSITY_INT16;
549
case PIPE_FORMAT_I32_SINT:
550
return MESA_FORMAT_INTENSITY_INT32;
552
case PIPE_FORMAT_L8_UINT:
553
return MESA_FORMAT_LUMINANCE_UINT8;
554
case PIPE_FORMAT_L16_UINT:
555
return MESA_FORMAT_LUMINANCE_UINT16;
556
case PIPE_FORMAT_L32_UINT:
557
return MESA_FORMAT_LUMINANCE_UINT32;
558
case PIPE_FORMAT_L8_SINT:
559
return MESA_FORMAT_LUMINANCE_INT8;
560
case PIPE_FORMAT_L16_SINT:
561
return MESA_FORMAT_LUMINANCE_INT16;
562
case PIPE_FORMAT_L32_SINT:
563
return MESA_FORMAT_LUMINANCE_INT32;
565
case PIPE_FORMAT_L8A8_UINT:
566
return MESA_FORMAT_LUMINANCE_ALPHA_UINT8;
567
case PIPE_FORMAT_L16A16_UINT:
568
return MESA_FORMAT_LUMINANCE_ALPHA_UINT16;
569
case PIPE_FORMAT_L32A32_UINT:
570
return MESA_FORMAT_LUMINANCE_ALPHA_UINT32;
571
case PIPE_FORMAT_L8A8_SINT:
572
return MESA_FORMAT_LUMINANCE_ALPHA_INT8;
573
case PIPE_FORMAT_L16A16_SINT:
574
return MESA_FORMAT_LUMINANCE_ALPHA_INT16;
575
case PIPE_FORMAT_L32A32_SINT:
576
return MESA_FORMAT_LUMINANCE_ALPHA_INT32;
578
case PIPE_FORMAT_R8_SINT:
579
return MESA_FORMAT_R_INT8;
580
case PIPE_FORMAT_R8G8_SINT:
581
return MESA_FORMAT_RG_INT8;
582
case PIPE_FORMAT_R8G8B8_SINT:
583
return MESA_FORMAT_RGB_INT8;
584
case PIPE_FORMAT_R8G8B8A8_SINT:
513
585
return MESA_FORMAT_RGBA_INT8;
514
case PIPE_FORMAT_R16G16B16A16_SSCALED:
587
case PIPE_FORMAT_R16_SINT:
588
return MESA_FORMAT_R_INT16;
589
case PIPE_FORMAT_R16G16_SINT:
590
return MESA_FORMAT_RG_INT16;
591
case PIPE_FORMAT_R16G16B16_SINT:
592
return MESA_FORMAT_RGB_INT16;
593
case PIPE_FORMAT_R16G16B16A16_SINT:
515
594
return MESA_FORMAT_RGBA_INT16;
516
case PIPE_FORMAT_R32G32B32A32_SSCALED:
596
case PIPE_FORMAT_R32_SINT:
597
return MESA_FORMAT_R_INT32;
598
case PIPE_FORMAT_R32G32_SINT:
599
return MESA_FORMAT_RG_INT32;
600
case PIPE_FORMAT_R32G32B32_SINT:
601
return MESA_FORMAT_RGB_INT32;
602
case PIPE_FORMAT_R32G32B32A32_SINT:
517
603
return MESA_FORMAT_RGBA_INT32;
519
605
/* unsigned int formats */
520
case PIPE_FORMAT_R8G8B8A8_USCALED:
606
case PIPE_FORMAT_R8_UINT:
607
return MESA_FORMAT_R_UINT8;
608
case PIPE_FORMAT_R8G8_UINT:
609
return MESA_FORMAT_RG_UINT8;
610
case PIPE_FORMAT_R8G8B8_UINT:
611
return MESA_FORMAT_RGB_UINT8;
612
case PIPE_FORMAT_R8G8B8A8_UINT:
521
613
return MESA_FORMAT_RGBA_UINT8;
522
case PIPE_FORMAT_R16G16B16A16_USCALED:
615
case PIPE_FORMAT_R16_UINT:
616
return MESA_FORMAT_R_UINT16;
617
case PIPE_FORMAT_R16G16_UINT:
618
return MESA_FORMAT_RG_UINT16;
619
case PIPE_FORMAT_R16G16B16_UINT:
620
return MESA_FORMAT_RGB_UINT16;
621
case PIPE_FORMAT_R16G16B16A16_UINT:
523
622
return MESA_FORMAT_RGBA_UINT16;
524
case PIPE_FORMAT_R32G32B32A32_USCALED:
624
case PIPE_FORMAT_R32_UINT:
625
return MESA_FORMAT_R_UINT32;
626
case PIPE_FORMAT_R32G32_UINT:
627
return MESA_FORMAT_RG_UINT32;
628
case PIPE_FORMAT_R32G32B32_UINT:
629
return MESA_FORMAT_RGB_UINT32;
630
case PIPE_FORMAT_R32G32B32A32_UINT:
525
631
return MESA_FORMAT_RGBA_UINT32;
527
633
case PIPE_FORMAT_RGTC1_UNORM:
784
895
{ GL_DEPTH_COMPONENT, 0 },
785
896
{ DEFAULT_DEPTH_FORMATS }
899
{ GL_DEPTH_COMPONENT32F, 0 },
900
{ PIPE_FORMAT_Z32_FLOAT, 0 }
788
903
/* stencil formats */
790
905
{ GL_STENCIL_INDEX, GL_STENCIL_INDEX1_EXT, GL_STENCIL_INDEX4_EXT,
791
906
GL_STENCIL_INDEX8_EXT, GL_STENCIL_INDEX16_EXT, 0 },
793
PIPE_FORMAT_S8_USCALED, PIPE_FORMAT_Z24_UNORM_S8_USCALED,
794
PIPE_FORMAT_S8_USCALED_Z24_UNORM, 0
908
PIPE_FORMAT_S8_UINT, PIPE_FORMAT_Z24_UNORM_S8_UINT,
909
PIPE_FORMAT_S8_UINT_Z24_UNORM, 0
798
913
/* Depth / Stencil formats */
800
915
{ GL_DEPTH_STENCIL_EXT, GL_DEPTH24_STENCIL8_EXT, 0 },
801
{ PIPE_FORMAT_Z24_UNORM_S8_USCALED, PIPE_FORMAT_S8_USCALED_Z24_UNORM, 0 }
916
{ PIPE_FORMAT_Z24_UNORM_S8_UINT, PIPE_FORMAT_S8_UINT_Z24_UNORM, 0 }
919
{ GL_DEPTH32F_STENCIL8, 0 },
920
{ PIPE_FORMAT_Z32_FLOAT_S8X24_UINT, 0 }
804
923
/* sRGB formats */
976
1095
{ PIPE_FORMAT_LATC2_SNORM, 0 }
1100
{ GL_ETC1_RGB8_OES, 0 },
1101
{ PIPE_FORMAT_ETC1_RGB8, 0 }
979
1104
/* signed/unsigned integer formats.
980
* XXX Mesa only has formats for RGBA signed/unsigned integer formats.
981
* If/when new formats are added this code should be updated.
984
1107
{ GL_RED_INTEGER_EXT,
985
1108
GL_GREEN_INTEGER_EXT,
986
1109
GL_BLUE_INTEGER_EXT,
987
GL_ALPHA_INTEGER_EXT,
989
1110
GL_RGBA_INTEGER_EXT,
1111
GL_BGRA_INTEGER_EXT,
1113
{ PIPE_FORMAT_R8G8B8A8_SINT, 0 }
1116
{ GL_RGB_INTEGER_EXT,
990
1117
GL_BGR_INTEGER_EXT,
992
GL_LUMINANCE_INTEGER_EXT,
993
GL_LUMINANCE_ALPHA_INTEGER_EXT,
1119
{ PIPE_FORMAT_R8G8B8_SINT,
1120
PIPE_FORMAT_R8G8B8A8_SINT, 0 }
1123
{ GL_ALPHA_INTEGER_EXT,
1124
GL_ALPHA8I_EXT, 0 },
1125
{ PIPE_FORMAT_A8_SINT, 0 }
1128
{ GL_ALPHA16I_EXT, 0 },
1129
{ PIPE_FORMAT_A16_SINT, 0 }
1132
{ GL_ALPHA32I_EXT, 0 },
1133
{ PIPE_FORMAT_A32_SINT, 0 }
1136
{ GL_ALPHA8UI_EXT, 0 },
1137
{ PIPE_FORMAT_A8_UINT, 0 }
1140
{ GL_ALPHA16UI_EXT, 0 },
1141
{ PIPE_FORMAT_A16_UINT, 0 }
1144
{ GL_ALPHA32UI_EXT, 0 },
1145
{ PIPE_FORMAT_A32_UINT, 0 }
1148
{ GL_INTENSITY8I_EXT, 0 },
1149
{ PIPE_FORMAT_I8_SINT, 0 }
1152
{ GL_INTENSITY16I_EXT, 0 },
1153
{ PIPE_FORMAT_I16_SINT, 0 }
1156
{ GL_INTENSITY32I_EXT, 0 },
1157
{ PIPE_FORMAT_I32_SINT, 0 }
1160
{ GL_INTENSITY8UI_EXT, 0 },
1161
{ PIPE_FORMAT_I8_UINT, 0 }
1164
{ GL_INTENSITY16UI_EXT, 0 },
1165
{ PIPE_FORMAT_I16_UINT, 0 }
1168
{ GL_INTENSITY32UI_EXT, 0 },
1169
{ PIPE_FORMAT_I32_UINT, 0 }
1172
{ GL_LUMINANCE8I_EXT, 0 },
1173
{ PIPE_FORMAT_L8_SINT, 0 }
1176
{ GL_LUMINANCE16I_EXT, 0 },
1177
{ PIPE_FORMAT_L16_SINT, 0 }
1180
{ GL_LUMINANCE32I_EXT, 0 },
1181
{ PIPE_FORMAT_L32_SINT, 0 }
1184
{ GL_LUMINANCE_INTEGER_EXT,
1185
GL_LUMINANCE8UI_EXT, 0 },
1186
{ PIPE_FORMAT_L8_UINT, 0 }
1189
{ GL_LUMINANCE16UI_EXT, 0 },
1190
{ PIPE_FORMAT_L16_UINT, 0 }
1193
{ GL_LUMINANCE32UI_EXT, 0 },
1194
{ PIPE_FORMAT_L32_UINT, 0 }
1197
{ GL_LUMINANCE_ALPHA_INTEGER_EXT,
999
1198
GL_LUMINANCE_ALPHA8I_EXT, 0 },
1000
{ PIPE_FORMAT_R8G8B8A8_SSCALED, 0 }
1007
GL_INTENSITY16I_EXT,
1008
GL_LUMINANCE16I_EXT,
1009
GL_LUMINANCE_ALPHA16I_EXT, 0 },
1010
{ PIPE_FORMAT_R16G16B16A16_SSCALED, 0 },
1017
GL_INTENSITY32I_EXT,
1018
GL_LUMINANCE32I_EXT,
1019
GL_LUMINANCE_ALPHA32I_EXT, 0 },
1020
{ PIPE_FORMAT_R32G32B32A32_SSCALED, 0 }
1027
GL_INTENSITY8UI_EXT,
1028
GL_LUMINANCE8UI_EXT,
1029
GL_LUMINANCE_ALPHA8UI_EXT, 0 },
1030
{ PIPE_FORMAT_R8G8B8A8_USCALED, 0 }
1037
GL_INTENSITY16UI_EXT,
1038
GL_LUMINANCE16UI_EXT,
1039
GL_LUMINANCE_ALPHA16UI_EXT, 0 },
1040
{ PIPE_FORMAT_R16G16B16A16_USCALED, 0 }
1047
GL_INTENSITY32UI_EXT,
1048
GL_LUMINANCE32UI_EXT,
1049
GL_LUMINANCE_ALPHA32UI_EXT, 0 },
1050
{ PIPE_FORMAT_R32G32B32A32_USCALED, 0 }
1199
{ PIPE_FORMAT_L8A8_SINT, 0 }
1202
{ GL_LUMINANCE_ALPHA16I_EXT, 0 },
1203
{ PIPE_FORMAT_L16A16_SINT, 0 }
1206
{ GL_LUMINANCE_ALPHA32I_EXT, 0 },
1207
{ PIPE_FORMAT_L32A32_SINT, 0 }
1210
{ GL_LUMINANCE_ALPHA8UI_EXT, 0 },
1211
{ PIPE_FORMAT_L8A8_UINT, 0 }
1214
{ GL_LUMINANCE_ALPHA16UI_EXT, 0 },
1215
{ PIPE_FORMAT_L16A16_UINT, 0 }
1218
{ GL_LUMINANCE_ALPHA32UI_EXT, 0 },
1219
{ PIPE_FORMAT_L32A32_UINT, 0 }
1222
{ GL_RGB16I_EXT, 0 },
1223
{ PIPE_FORMAT_R16G16B16_SINT,
1224
PIPE_FORMAT_R16G16B16A16_SINT, 0 },
1227
{ GL_RGBA16I_EXT, 0 },
1228
{ PIPE_FORMAT_R16G16B16A16_SINT, 0 },
1231
{ GL_RGB32I_EXT, 0 },
1232
{ PIPE_FORMAT_R32G32B32_SINT,
1233
PIPE_FORMAT_R32G32B32A32_SINT, 0 },
1236
{ GL_RGBA32I_EXT, 0 },
1237
{ PIPE_FORMAT_R32G32B32A32_SINT, 0 }
1240
{ GL_RGBA8UI_EXT, 0 },
1241
{ PIPE_FORMAT_R8G8B8A8_UINT, 0 }
1244
{ GL_RGB8UI_EXT, 0 },
1245
{ PIPE_FORMAT_R8G8B8_UINT,
1246
PIPE_FORMAT_R8G8B8A8_UINT, 0 }
1249
{ GL_RGB16UI_EXT, 0 },
1250
{ PIPE_FORMAT_R16G16B16_UINT,
1251
PIPE_FORMAT_R16G16B16A16_UINT, 0 }
1254
{ GL_RGBA16UI_EXT, 0 },
1255
{ PIPE_FORMAT_R16G16B16A16_UINT, 0 }
1258
{ GL_RGB32UI_EXT, 0},
1259
{ PIPE_FORMAT_R32G32B32_UINT,
1260
PIPE_FORMAT_R32G32B32A32_UINT, 0 }
1263
{ GL_RGBA32UI_EXT, 0},
1264
{ PIPE_FORMAT_R32G32B32A32_UINT, 0 }
1268
{ PIPE_FORMAT_R8_SINT, 0},
1272
{ PIPE_FORMAT_R16_SINT, 0},
1276
{ PIPE_FORMAT_R32_SINT, 0},
1280
{ PIPE_FORMAT_R8_UINT, 0},
1284
{ PIPE_FORMAT_R16_UINT, 0},
1288
{ PIPE_FORMAT_R32_UINT, 0},
1292
{ PIPE_FORMAT_R8G8_SINT, 0},
1296
{ PIPE_FORMAT_R16G16_SINT, 0},
1300
{ PIPE_FORMAT_R32G32_SINT, 0},
1304
{ PIPE_FORMAT_R8G8_UINT, 0},
1308
{ PIPE_FORMAT_R16G16_UINT, 0},
1312
{ PIPE_FORMAT_R32G32_UINT, 0},
1053
1314
/* signed normalized formats */
1055
1316
{ GL_RED_SNORM, GL_R8_SNORM, 0 },