1 /************************************************************************** 2 * 3 * Copyright 2007 VMware, Inc. 4 * Copyright (c) 2008 VMware, Inc. 5 * All Rights Reserved. 6 * 7 * Permission is hereby granted, free of charge, to any person obtaining a 8 * copy of this software and associated documentation files (the 9 * "Software"), to deal in the Software without restriction, including 10 * without limitation the rights to use, copy, modify, merge, publish, 11 * distribute, sub license, and/or sell copies of the Software, and to 12 * permit persons to whom the Software is furnished to do so, subject to 13 * the following conditions: 14 * 15 * The above copyright notice and this permission notice (including the 16 * next paragraph) shall be included in all copies or substantial portions 17 * of the Software. 18 * 19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 20 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 21 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 22 * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR 23 * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 24 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 25 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 * 27 **************************************************************************/ 28 29 #ifndef PIPE_FORMAT_H 30 #define PIPE_FORMAT_H 31 32 #include "p_config.h" 33 34 #ifdef __cplusplus 35 extern "C" { 36 #endif 37 38 /** 39 * Formats for textures, surfaces and vertex data 40 */ 41 enum pipe_format { 42 PIPE_FORMAT_NONE = 0, 43 PIPE_FORMAT_B8G8R8A8_UNORM = 1, 44 PIPE_FORMAT_B8G8R8X8_UNORM = 2, 45 PIPE_FORMAT_A8R8G8B8_UNORM = 3, 46 PIPE_FORMAT_X8R8G8B8_UNORM = 4, 47 PIPE_FORMAT_B5G5R5A1_UNORM = 5, 48 PIPE_FORMAT_B4G4R4A4_UNORM = 6, 49 PIPE_FORMAT_B5G6R5_UNORM = 7, 50 PIPE_FORMAT_R10G10B10A2_UNORM = 8, 51 PIPE_FORMAT_L8_UNORM = 9, /**< ubyte luminance */ 52 PIPE_FORMAT_A8_UNORM = 10, /**< ubyte alpha */ 53 PIPE_FORMAT_I8_UNORM = 11, /**< ubyte intensity */ 54 PIPE_FORMAT_L8A8_UNORM = 12, /**< ubyte alpha, luminance */ 55 PIPE_FORMAT_L16_UNORM = 13, /**< ushort luminance */ 56 PIPE_FORMAT_UYVY = 14, 57 PIPE_FORMAT_YUYV = 15, 58 PIPE_FORMAT_Z16_UNORM = 16, 59 PIPE_FORMAT_Z32_UNORM = 17, 60 PIPE_FORMAT_Z32_FLOAT = 18, 61 PIPE_FORMAT_Z24_UNORM_S8_UINT = 19, 62 PIPE_FORMAT_S8_UINT_Z24_UNORM = 20, 63 PIPE_FORMAT_Z24X8_UNORM = 21, 64 PIPE_FORMAT_X8Z24_UNORM = 22, 65 PIPE_FORMAT_S8_UINT = 23, /**< ubyte stencil */ 66 PIPE_FORMAT_R64_FLOAT = 24, 67 PIPE_FORMAT_R64G64_FLOAT = 25, 68 PIPE_FORMAT_R64G64B64_FLOAT = 26, 69 PIPE_FORMAT_R64G64B64A64_FLOAT = 27, 70 PIPE_FORMAT_R32_FLOAT = 28, 71 PIPE_FORMAT_R32G32_FLOAT = 29, 72 PIPE_FORMAT_R32G32B32_FLOAT = 30, 73 PIPE_FORMAT_R32G32B32A32_FLOAT = 31, 74 PIPE_FORMAT_R32_UNORM = 32, 75 PIPE_FORMAT_R32G32_UNORM = 33, 76 PIPE_FORMAT_R32G32B32_UNORM = 34, 77 PIPE_FORMAT_R32G32B32A32_UNORM = 35, 78 PIPE_FORMAT_R32_USCALED = 36, 79 PIPE_FORMAT_R32G32_USCALED = 37, 80 PIPE_FORMAT_R32G32B32_USCALED = 38, 81 PIPE_FORMAT_R32G32B32A32_USCALED = 39, 82 PIPE_FORMAT_R32_SNORM = 40, 83 PIPE_FORMAT_R32G32_SNORM = 41, 84 PIPE_FORMAT_R32G32B32_SNORM = 42, 85 PIPE_FORMAT_R32G32B32A32_SNORM = 43, 86 PIPE_FORMAT_R32_SSCALED = 44, 87 PIPE_FORMAT_R32G32_SSCALED = 45, 88 PIPE_FORMAT_R32G32B32_SSCALED = 46, 89 PIPE_FORMAT_R32G32B32A32_SSCALED = 47, 90 PIPE_FORMAT_R16_UNORM = 48, 91 PIPE_FORMAT_R16G16_UNORM = 49, 92 PIPE_FORMAT_R16G16B16_UNORM = 50, 93 PIPE_FORMAT_R16G16B16A16_UNORM = 51, 94 PIPE_FORMAT_R16_USCALED = 52, 95 PIPE_FORMAT_R16G16_USCALED = 53, 96 PIPE_FORMAT_R16G16B16_USCALED = 54, 97 PIPE_FORMAT_R16G16B16A16_USCALED = 55, 98 PIPE_FORMAT_R16_SNORM = 56, 99 PIPE_FORMAT_R16G16_SNORM = 57, 100 PIPE_FORMAT_R16G16B16_SNORM = 58, 101 PIPE_FORMAT_R16G16B16A16_SNORM = 59, 102 PIPE_FORMAT_R16_SSCALED = 60, 103 PIPE_FORMAT_R16G16_SSCALED = 61, 104 PIPE_FORMAT_R16G16B16_SSCALED = 62, 105 PIPE_FORMAT_R16G16B16A16_SSCALED = 63, 106 PIPE_FORMAT_R8_UNORM = 64, 107 PIPE_FORMAT_R8G8_UNORM = 65, 108 PIPE_FORMAT_R8G8B8_UNORM = 66, 109 PIPE_FORMAT_R8G8B8A8_UNORM = 67, 110 PIPE_FORMAT_X8B8G8R8_UNORM = 68, 111 PIPE_FORMAT_R8_USCALED = 69, 112 PIPE_FORMAT_R8G8_USCALED = 70, 113 PIPE_FORMAT_R8G8B8_USCALED = 71, 114 PIPE_FORMAT_R8G8B8A8_USCALED = 72, 115 PIPE_FORMAT_R8_SNORM = 74, 116 PIPE_FORMAT_R8G8_SNORM = 75, 117 PIPE_FORMAT_R8G8B8_SNORM = 76, 118 PIPE_FORMAT_R8G8B8A8_SNORM = 77, 119 PIPE_FORMAT_R8_SSCALED = 82, 120 PIPE_FORMAT_R8G8_SSCALED = 83, 121 PIPE_FORMAT_R8G8B8_SSCALED = 84, 122 PIPE_FORMAT_R8G8B8A8_SSCALED = 85, 123 PIPE_FORMAT_R32_FIXED = 87, 124 PIPE_FORMAT_R32G32_FIXED = 88, 125 PIPE_FORMAT_R32G32B32_FIXED = 89, 126 PIPE_FORMAT_R32G32B32A32_FIXED = 90, 127 PIPE_FORMAT_R16_FLOAT = 91, 128 PIPE_FORMAT_R16G16_FLOAT = 92, 129 PIPE_FORMAT_R16G16B16_FLOAT = 93, 130 PIPE_FORMAT_R16G16B16A16_FLOAT = 94, 131 132 /* sRGB formats */ 133 PIPE_FORMAT_L8_SRGB = 95, 134 PIPE_FORMAT_L8A8_SRGB = 96, 135 PIPE_FORMAT_R8G8B8_SRGB = 97, 136 PIPE_FORMAT_A8B8G8R8_SRGB = 98, 137 PIPE_FORMAT_X8B8G8R8_SRGB = 99, 138 PIPE_FORMAT_B8G8R8A8_SRGB = 100, 139 PIPE_FORMAT_B8G8R8X8_SRGB = 101, 140 PIPE_FORMAT_A8R8G8B8_SRGB = 102, 141 PIPE_FORMAT_X8R8G8B8_SRGB = 103, 142 PIPE_FORMAT_R8G8B8A8_SRGB = 104, 143 144 /* compressed formats */ 145 PIPE_FORMAT_DXT1_RGB = 105, 146 PIPE_FORMAT_DXT1_RGBA = 106, 147 PIPE_FORMAT_DXT3_RGBA = 107, 148 PIPE_FORMAT_DXT5_RGBA = 108, 149 150 /* sRGB, compressed */ 151 PIPE_FORMAT_DXT1_SRGB = 109, 152 PIPE_FORMAT_DXT1_SRGBA = 110, 153 PIPE_FORMAT_DXT3_SRGBA = 111, 154 PIPE_FORMAT_DXT5_SRGBA = 112, 155 156 /* rgtc compressed */ 157 PIPE_FORMAT_RGTC1_UNORM = 113, 158 PIPE_FORMAT_RGTC1_SNORM = 114, 159 PIPE_FORMAT_RGTC2_UNORM = 115, 160 PIPE_FORMAT_RGTC2_SNORM = 116, 161 162 PIPE_FORMAT_R8G8_B8G8_UNORM = 117, 163 PIPE_FORMAT_G8R8_G8B8_UNORM = 118, 164 165 /* mixed formats */ 166 PIPE_FORMAT_R8SG8SB8UX8U_NORM = 119, 167 PIPE_FORMAT_R5SG5SB6U_NORM = 120, 168 169 /* TODO: re-order these */ 170 PIPE_FORMAT_A8B8G8R8_UNORM = 121, 171 PIPE_FORMAT_B5G5R5X1_UNORM = 122, 172 PIPE_FORMAT_R10G10B10A2_USCALED = 123, 173 PIPE_FORMAT_R11G11B10_FLOAT = 124, 174 PIPE_FORMAT_R9G9B9E5_FLOAT = 125, 175 PIPE_FORMAT_Z32_FLOAT_S8X24_UINT = 126, 176 PIPE_FORMAT_R1_UNORM = 127, 177 PIPE_FORMAT_R10G10B10X2_USCALED = 128, 178 PIPE_FORMAT_R10G10B10X2_SNORM = 129, 179 PIPE_FORMAT_L4A4_UNORM = 130, 180 PIPE_FORMAT_B10G10R10A2_UNORM = 131, 181 PIPE_FORMAT_R10SG10SB10SA2U_NORM = 132, 182 PIPE_FORMAT_R8G8Bx_SNORM = 133, 183 PIPE_FORMAT_R8G8B8X8_UNORM = 134, 184 PIPE_FORMAT_B4G4R4X4_UNORM = 135, 185 186 /* some stencil samplers formats */ 187 PIPE_FORMAT_X24S8_UINT = 136, 188 PIPE_FORMAT_S8X24_UINT = 137, 189 PIPE_FORMAT_X32_S8X24_UINT = 138, 190 191 PIPE_FORMAT_B2G3R3_UNORM = 139, 192 PIPE_FORMAT_L16A16_UNORM = 140, 193 PIPE_FORMAT_A16_UNORM = 141, 194 PIPE_FORMAT_I16_UNORM = 142, 195 196 PIPE_FORMAT_LATC1_UNORM = 143, 197 PIPE_FORMAT_LATC1_SNORM = 144, 198 PIPE_FORMAT_LATC2_UNORM = 145, 199 PIPE_FORMAT_LATC2_SNORM = 146, 200 201 PIPE_FORMAT_A8_SNORM = 147, 202 PIPE_FORMAT_L8_SNORM = 148, 203 PIPE_FORMAT_L8A8_SNORM = 149, 204 PIPE_FORMAT_I8_SNORM = 150, 205 PIPE_FORMAT_A16_SNORM = 151, 206 PIPE_FORMAT_L16_SNORM = 152, 207 PIPE_FORMAT_L16A16_SNORM = 153, 208 PIPE_FORMAT_I16_SNORM = 154, 209 210 PIPE_FORMAT_A16_FLOAT = 155, 211 PIPE_FORMAT_L16_FLOAT = 156, 212 PIPE_FORMAT_L16A16_FLOAT = 157, 213 PIPE_FORMAT_I16_FLOAT = 158, 214 PIPE_FORMAT_A32_FLOAT = 159, 215 PIPE_FORMAT_L32_FLOAT = 160, 216 PIPE_FORMAT_L32A32_FLOAT = 161, 217 PIPE_FORMAT_I32_FLOAT = 162, 218 219 PIPE_FORMAT_YV12 = 163, 220 PIPE_FORMAT_YV16 = 164, 221 PIPE_FORMAT_IYUV = 165, /**< aka I420 */ 222 PIPE_FORMAT_NV12 = 166, 223 PIPE_FORMAT_NV21 = 167, 224 225 PIPE_FORMAT_A4R4_UNORM = 168, 226 PIPE_FORMAT_R4A4_UNORM = 169, 227 PIPE_FORMAT_R8A8_UNORM = 170, 228 PIPE_FORMAT_A8R8_UNORM = 171, 229 230 PIPE_FORMAT_R10G10B10A2_SSCALED = 172, 231 PIPE_FORMAT_R10G10B10A2_SNORM = 173, 232 233 PIPE_FORMAT_B10G10R10A2_USCALED = 174, 234 PIPE_FORMAT_B10G10R10A2_SSCALED = 175, 235 PIPE_FORMAT_B10G10R10A2_SNORM = 176, 236 237 PIPE_FORMAT_R8_UINT = 177, 238 PIPE_FORMAT_R8G8_UINT = 178, 239 PIPE_FORMAT_R8G8B8_UINT = 179, 240 PIPE_FORMAT_R8G8B8A8_UINT = 180, 241 242 PIPE_FORMAT_R8_SINT = 181, 243 PIPE_FORMAT_R8G8_SINT = 182, 244 PIPE_FORMAT_R8G8B8_SINT = 183, 245 PIPE_FORMAT_R8G8B8A8_SINT = 184, 246 247 PIPE_FORMAT_R16_UINT = 185, 248 PIPE_FORMAT_R16G16_UINT = 186, 249 PIPE_FORMAT_R16G16B16_UINT = 187, 250 PIPE_FORMAT_R16G16B16A16_UINT = 188, 251 252 PIPE_FORMAT_R16_SINT = 189, 253 PIPE_FORMAT_R16G16_SINT = 190, 254 PIPE_FORMAT_R16G16B16_SINT = 191, 255 PIPE_FORMAT_R16G16B16A16_SINT = 192, 256 257 PIPE_FORMAT_R32_UINT = 193, 258 PIPE_FORMAT_R32G32_UINT = 194, 259 PIPE_FORMAT_R32G32B32_UINT = 195, 260 PIPE_FORMAT_R32G32B32A32_UINT = 196, 261 262 PIPE_FORMAT_R32_SINT = 197, 263 PIPE_FORMAT_R32G32_SINT = 198, 264 PIPE_FORMAT_R32G32B32_SINT = 199, 265 PIPE_FORMAT_R32G32B32A32_SINT = 200, 266 267 PIPE_FORMAT_A8_UINT = 201, 268 PIPE_FORMAT_I8_UINT = 202, 269 PIPE_FORMAT_L8_UINT = 203, 270 PIPE_FORMAT_L8A8_UINT = 204, 271 272 PIPE_FORMAT_A8_SINT = 205, 273 PIPE_FORMAT_I8_SINT = 206, 274 PIPE_FORMAT_L8_SINT = 207, 275 PIPE_FORMAT_L8A8_SINT = 208, 276 277 PIPE_FORMAT_A16_UINT = 209, 278 PIPE_FORMAT_I16_UINT = 210, 279 PIPE_FORMAT_L16_UINT = 211, 280 PIPE_FORMAT_L16A16_UINT = 212, 281 282 PIPE_FORMAT_A16_SINT = 213, 283 PIPE_FORMAT_I16_SINT = 214, 284 PIPE_FORMAT_L16_SINT = 215, 285 PIPE_FORMAT_L16A16_SINT = 216, 286 287 PIPE_FORMAT_A32_UINT = 217, 288 PIPE_FORMAT_I32_UINT = 218, 289 PIPE_FORMAT_L32_UINT = 219, 290 PIPE_FORMAT_L32A32_UINT = 220, 291 292 PIPE_FORMAT_A32_SINT = 221, 293 PIPE_FORMAT_I32_SINT = 222, 294 PIPE_FORMAT_L32_SINT = 223, 295 PIPE_FORMAT_L32A32_SINT = 224, 296 297 PIPE_FORMAT_B10G10R10A2_UINT = 225, 298 299 PIPE_FORMAT_ETC1_RGB8 = 226, 300 301 PIPE_FORMAT_R8G8_R8B8_UNORM = 227, 302 PIPE_FORMAT_G8R8_B8R8_UNORM = 228, 303 304 PIPE_FORMAT_R8G8B8X8_SNORM = 229, 305 PIPE_FORMAT_R8G8B8X8_SRGB = 230, 306 PIPE_FORMAT_R8G8B8X8_UINT = 231, 307 PIPE_FORMAT_R8G8B8X8_SINT = 232, 308 PIPE_FORMAT_B10G10R10X2_UNORM = 233, 309 PIPE_FORMAT_R16G16B16X16_UNORM = 234, 310 PIPE_FORMAT_R16G16B16X16_SNORM = 235, 311 PIPE_FORMAT_R16G16B16X16_FLOAT = 236, 312 PIPE_FORMAT_R16G16B16X16_UINT = 237, 313 PIPE_FORMAT_R16G16B16X16_SINT = 238, 314 PIPE_FORMAT_R32G32B32X32_FLOAT = 239, 315 PIPE_FORMAT_R32G32B32X32_UINT = 240, 316 PIPE_FORMAT_R32G32B32X32_SINT = 241, 317 318 PIPE_FORMAT_R8A8_SNORM = 242, 319 PIPE_FORMAT_R16A16_UNORM = 243, 320 PIPE_FORMAT_R16A16_SNORM = 244, 321 PIPE_FORMAT_R16A16_FLOAT = 245, 322 PIPE_FORMAT_R32A32_FLOAT = 246, 323 PIPE_FORMAT_R8A8_UINT = 247, 324 PIPE_FORMAT_R8A8_SINT = 248, 325 PIPE_FORMAT_R16A16_UINT = 249, 326 PIPE_FORMAT_R16A16_SINT = 250, 327 PIPE_FORMAT_R32A32_UINT = 251, 328 PIPE_FORMAT_R32A32_SINT = 252, 329 PIPE_FORMAT_R10G10B10A2_UINT = 253, 330 331 PIPE_FORMAT_B5G6R5_SRGB = 254, 332 333 PIPE_FORMAT_BPTC_RGBA_UNORM = 255, 334 PIPE_FORMAT_BPTC_SRGBA = 256, 335 PIPE_FORMAT_BPTC_RGB_FLOAT = 257, 336 PIPE_FORMAT_BPTC_RGB_UFLOAT = 258, 337 338 PIPE_FORMAT_A8L8_UNORM = 259, 339 PIPE_FORMAT_A8L8_SNORM = 260, 340 PIPE_FORMAT_A8L8_SRGB = 261, 341 PIPE_FORMAT_A16L16_UNORM = 262, 342 343 PIPE_FORMAT_G8R8_UNORM = 263, 344 PIPE_FORMAT_G8R8_SNORM = 264, 345 PIPE_FORMAT_G16R16_UNORM = 265, 346 PIPE_FORMAT_G16R16_SNORM = 266, 347 348 PIPE_FORMAT_A8B8G8R8_SNORM = 267, 349 PIPE_FORMAT_X8B8G8R8_SNORM = 268, 350 351 PIPE_FORMAT_ETC2_RGB8 = 269, 352 PIPE_FORMAT_ETC2_SRGB8 = 270, 353 PIPE_FORMAT_ETC2_RGB8A1 = 271, 354 PIPE_FORMAT_ETC2_SRGB8A1 = 272, 355 PIPE_FORMAT_ETC2_RGBA8 = 273, 356 PIPE_FORMAT_ETC2_SRGBA8 = 274, 357 PIPE_FORMAT_ETC2_R11_UNORM = 275, 358 PIPE_FORMAT_ETC2_R11_SNORM = 276, 359 PIPE_FORMAT_ETC2_RG11_UNORM = 277, 360 PIPE_FORMAT_ETC2_RG11_SNORM = 278, 361 362 PIPE_FORMAT_ASTC_4x4 = 279, 363 PIPE_FORMAT_ASTC_5x4 = 280, 364 PIPE_FORMAT_ASTC_5x5 = 281, 365 PIPE_FORMAT_ASTC_6x5 = 282, 366 PIPE_FORMAT_ASTC_6x6 = 283, 367 PIPE_FORMAT_ASTC_8x5 = 284, 368 PIPE_FORMAT_ASTC_8x6 = 285, 369 PIPE_FORMAT_ASTC_8x8 = 286, 370 PIPE_FORMAT_ASTC_10x5 = 287, 371 PIPE_FORMAT_ASTC_10x6 = 288, 372 PIPE_FORMAT_ASTC_10x8 = 289, 373 PIPE_FORMAT_ASTC_10x10 = 290, 374 PIPE_FORMAT_ASTC_12x10 = 291, 375 PIPE_FORMAT_ASTC_12x12 = 292, 376 377 PIPE_FORMAT_ASTC_4x4_SRGB = 293, 378 PIPE_FORMAT_ASTC_5x4_SRGB = 294, 379 PIPE_FORMAT_ASTC_5x5_SRGB = 295, 380 PIPE_FORMAT_ASTC_6x5_SRGB = 296, 381 PIPE_FORMAT_ASTC_6x6_SRGB = 297, 382 PIPE_FORMAT_ASTC_8x5_SRGB = 298, 383 PIPE_FORMAT_ASTC_8x6_SRGB = 299, 384 PIPE_FORMAT_ASTC_8x8_SRGB = 300, 385 PIPE_FORMAT_ASTC_10x5_SRGB = 301, 386 PIPE_FORMAT_ASTC_10x6_SRGB = 302, 387 PIPE_FORMAT_ASTC_10x8_SRGB = 303, 388 PIPE_FORMAT_ASTC_10x10_SRGB = 304, 389 PIPE_FORMAT_ASTC_12x10_SRGB = 305, 390 PIPE_FORMAT_ASTC_12x12_SRGB = 306, 391 392 PIPE_FORMAT_COUNT 393 }; 394 395 #if defined(PIPE_ARCH_LITTLE_ENDIAN) 396 #define PIPE_FORMAT_RGBA8888_UNORM PIPE_FORMAT_R8G8B8A8_UNORM 397 #define PIPE_FORMAT_RGBX8888_UNORM PIPE_FORMAT_R8G8B8X8_UNORM 398 #define PIPE_FORMAT_BGRA8888_UNORM PIPE_FORMAT_B8G8R8A8_UNORM 399 #define PIPE_FORMAT_BGRX8888_UNORM PIPE_FORMAT_B8G8R8X8_UNORM 400 #define PIPE_FORMAT_ARGB8888_UNORM PIPE_FORMAT_A8R8G8B8_UNORM 401 #define PIPE_FORMAT_XRGB8888_UNORM PIPE_FORMAT_X8R8G8B8_UNORM 402 #define PIPE_FORMAT_ABGR8888_UNORM PIPE_FORMAT_A8B8G8R8_UNORM 403 #define PIPE_FORMAT_XBGR8888_UNORM PIPE_FORMAT_X8B8G8R8_UNORM 404 #define PIPE_FORMAT_RGBA8888_SNORM PIPE_FORMAT_R8G8B8A8_SNORM 405 #define PIPE_FORMAT_RGBX8888_SNORM PIPE_FORMAT_R8G8B8X8_SNORM 406 #define PIPE_FORMAT_ABGR8888_SNORM PIPE_FORMAT_A8B8G8R8_SNORM 407 #define PIPE_FORMAT_XBGR8888_SNORM PIPE_FORMAT_X8B8G8R8_SNORM 408 #define PIPE_FORMAT_RGBA8888_SRGB PIPE_FORMAT_R8G8B8A8_SRGB 409 #define PIPE_FORMAT_RGBX8888_SRGB PIPE_FORMAT_R8G8B8X8_SRGB 410 #define PIPE_FORMAT_BGRA8888_SRGB PIPE_FORMAT_B8G8R8A8_SRGB 411 #define PIPE_FORMAT_BGRX8888_SRGB PIPE_FORMAT_B8G8R8X8_SRGB 412 #define PIPE_FORMAT_ARGB8888_SRGB PIPE_FORMAT_A8R8G8B8_SRGB 413 #define PIPE_FORMAT_XRGB8888_SRGB PIPE_FORMAT_X8R8G8B8_SRGB 414 #define PIPE_FORMAT_ABGR8888_SRGB PIPE_FORMAT_A8B8G8R8_SRGB 415 #define PIPE_FORMAT_XBGR8888_SRGB PIPE_FORMAT_X8B8G8R8_SRGB 416 #define PIPE_FORMAT_LA88_UNORM PIPE_FORMAT_L8A8_UNORM 417 #define PIPE_FORMAT_AL88_UNORM PIPE_FORMAT_A8L8_UNORM 418 #define PIPE_FORMAT_LA88_SNORM PIPE_FORMAT_L8A8_SNORM 419 #define PIPE_FORMAT_AL88_SNORM PIPE_FORMAT_A8L8_SNORM 420 #define PIPE_FORMAT_LA88_SRGB PIPE_FORMAT_L8A8_SRGB 421 #define PIPE_FORMAT_AL88_SRGB PIPE_FORMAT_A8L8_SRGB 422 #define PIPE_FORMAT_LA1616_UNORM PIPE_FORMAT_L16A16_UNORM 423 #define PIPE_FORMAT_AL1616_UNORM PIPE_FORMAT_A16L16_UNORM 424 #define PIPE_FORMAT_RG88_UNORM PIPE_FORMAT_R8G8_UNORM 425 #define PIPE_FORMAT_GR88_UNORM PIPE_FORMAT_G8R8_UNORM 426 #define PIPE_FORMAT_RG88_SNORM PIPE_FORMAT_R8G8_SNORM 427 #define PIPE_FORMAT_GR88_SNORM PIPE_FORMAT_G8R8_SNORM 428 #define PIPE_FORMAT_RG1616_UNORM PIPE_FORMAT_R16G16_UNORM 429 #define PIPE_FORMAT_GR1616_UNORM PIPE_FORMAT_G16R16_UNORM 430 #define PIPE_FORMAT_RG1616_SNORM PIPE_FORMAT_R16G16_SNORM 431 #define PIPE_FORMAT_GR1616_SNORM PIPE_FORMAT_G16R16_SNORM 432 #elif defined(PIPE_ARCH_BIG_ENDIAN) 433 #define PIPE_FORMAT_ABGR8888_UNORM PIPE_FORMAT_R8G8B8A8_UNORM 434 #define PIPE_FORMAT_XBGR8888_UNORM PIPE_FORMAT_R8G8B8X8_UNORM 435 #define PIPE_FORMAT_ARGB8888_UNORM PIPE_FORMAT_B8G8R8A8_UNORM 436 #define PIPE_FORMAT_XRGB8888_UNORM PIPE_FORMAT_B8G8R8X8_UNORM 437 #define PIPE_FORMAT_BGRA8888_UNORM PIPE_FORMAT_A8R8G8B8_UNORM 438 #define PIPE_FORMAT_BGRX8888_UNORM PIPE_FORMAT_X8R8G8B8_UNORM 439 #define PIPE_FORMAT_RGBA8888_UNORM PIPE_FORMAT_A8B8G8R8_UNORM 440 #define PIPE_FORMAT_RGBX8888_UNORM PIPE_FORMAT_X8B8G8R8_UNORM 441 #define PIPE_FORMAT_ABGR8888_SNORM PIPE_FORMAT_R8G8B8A8_SNORM 442 #define PIPE_FORMAT_XBGR8888_SNORM PIPE_FORMAT_R8G8B8X8_SNORM 443 #define PIPE_FORMAT_RGBA8888_SNORM PIPE_FORMAT_A8B8G8R8_SNORM 444 #define PIPE_FORMAT_RGBX8888_SNORM PIPE_FORMAT_X8B8G8R8_SNORM 445 #define PIPE_FORMAT_ABGR8888_SRGB PIPE_FORMAT_R8G8B8A8_SRGB 446 #define PIPE_FORMAT_XBGR8888_SRGB PIPE_FORMAT_R8G8B8X8_SRGB 447 #define PIPE_FORMAT_ARGB8888_SRGB PIPE_FORMAT_B8G8R8A8_SRGB 448 #define PIPE_FORMAT_XRGB8888_SRGB PIPE_FORMAT_B8G8R8X8_SRGB 449 #define PIPE_FORMAT_BGRA8888_SRGB PIPE_FORMAT_A8R8G8B8_SRGB 450 #define PIPE_FORMAT_BGRX8888_SRGB PIPE_FORMAT_X8R8G8B8_SRGB 451 #define PIPE_FORMAT_RGBA8888_SRGB PIPE_FORMAT_A8B8G8R8_SRGB 452 #define PIPE_FORMAT_RGBX8888_SRGB PIPE_FORMAT_X8B8G8R8_SRGB 453 #define PIPE_FORMAT_LA88_UNORM PIPE_FORMAT_A8L8_UNORM 454 #define PIPE_FORMAT_AL88_UNORM PIPE_FORMAT_L8A8_UNORM 455 #define PIPE_FORMAT_LA88_SNORM PIPE_FORMAT_A8L8_SNORM 456 #define PIPE_FORMAT_AL88_SNORM PIPE_FORMAT_L8A8_SNORM 457 #define PIPE_FORMAT_LA88_SRGB PIPE_FORMAT_A8L8_SRGB 458 #define PIPE_FORMAT_AL88_SRGB PIPE_FORMAT_L8A8_SRGB 459 #define PIPE_FORMAT_LA1616_UNORM PIPE_FORMAT_A16L16_UNORM 460 #define PIPE_FORMAT_AL1616_UNORM PIPE_FORMAT_L16A16_UNORM 461 #define PIPE_FORMAT_RG88_UNORM PIPE_FORMAT_G8R8_UNORM 462 #define PIPE_FORMAT_GR88_UNORM PIPE_FORMAT_R8G8_UNORM 463 #define PIPE_FORMAT_RG88_SNORM PIPE_FORMAT_G8R8_SNORM 464 #define PIPE_FORMAT_GR88_SNORM PIPE_FORMAT_R8G8_SNORM 465 #define PIPE_FORMAT_RG1616_UNORM PIPE_FORMAT_G16R16_UNORM 466 #define PIPE_FORMAT_GR1616_UNORM PIPE_FORMAT_R16G16_UNORM 467 #define PIPE_FORMAT_RG1616_SNORM PIPE_FORMAT_G16R16_SNORM 468 #define PIPE_FORMAT_GR1616_SNORM PIPE_FORMAT_R16G16_SNORM 469 #endif 470 471 enum pipe_video_chroma_format 472 { 473 PIPE_VIDEO_CHROMA_FORMAT_400, 474 PIPE_VIDEO_CHROMA_FORMAT_420, 475 PIPE_VIDEO_CHROMA_FORMAT_422, 476 PIPE_VIDEO_CHROMA_FORMAT_444, 477 PIPE_VIDEO_CHROMA_FORMAT_NONE 478 }; 479 480 #ifdef __cplusplus 481 } 482 #endif 483 484 #endif 485