1 /********************************************************** 2 * Copyright 2008-2021 VMware, Inc. 3 * SPDX-License-Identifier: GPL-2.0 OR MIT 4 * 5 * Permission is hereby granted, free of charge, to any person 6 * obtaining a copy of this software and associated documentation 7 * files (the "Software"), to deal in the Software without 8 * restriction, including without limitation the rights to use, copy, 9 * modify, merge, publish, distribute, sublicense, and/or sell copies 10 * of the Software, and to permit persons to whom the Software is 11 * furnished to do so, subject to the following conditions: 12 * 13 * The above copyright notice and this permission notice shall be 14 * included in all copies or substantial portions of the Software. 15 * 16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 20 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 21 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 22 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 * SOFTWARE. 24 * 25 **********************************************************/ 26 27 /* 28 * svga3d_surfacedefs.h -- 29 * 30 * Surface definitions for SVGA3d. 31 */ 32 33 34 35 #ifndef _SVGA3D_SURFACEDEFS_H_ 36 #define _SVGA3D_SURFACEDEFS_H_ 37 38 #include "svga3d_types.h" 39 40 #ifdef __cplusplus 41 extern "C" { 42 #endif 43 44 struct SVGAUseCaps; 45 46 #if defined(_WIN32) && !defined(__GNUC__) 47 48 #define STATIC_CONST __declspec(selectany) extern const 49 #else 50 #define STATIC_CONST static const 51 #endif 52 53 typedef enum SVGA3dBlockDesc { 54 55 SVGA3DBLOCKDESC_NONE = 0, 56 57 SVGA3DBLOCKDESC_BLUE = 1 << 0, 58 SVGA3DBLOCKDESC_W = 1 << 0, 59 SVGA3DBLOCKDESC_BUMP_L = 1 << 0, 60 61 SVGA3DBLOCKDESC_GREEN = 1 << 1, 62 SVGA3DBLOCKDESC_V = 1 << 1, 63 64 SVGA3DBLOCKDESC_RED = 1 << 2, 65 SVGA3DBLOCKDESC_U = 1 << 2, 66 SVGA3DBLOCKDESC_LUMINANCE = 1 << 2, 67 68 SVGA3DBLOCKDESC_ALPHA = 1 << 3, 69 SVGA3DBLOCKDESC_Q = 1 << 3, 70 71 SVGA3DBLOCKDESC_BUFFER = 1 << 4, 72 73 SVGA3DBLOCKDESC_COMPRESSED = 1 << 5, 74 75 SVGA3DBLOCKDESC_FP = 1 << 6, 76 77 SVGA3DBLOCKDESC_PLANAR_YUV = 1 << 7, 78 79 SVGA3DBLOCKDESC_2PLANAR_YUV = 1 << 8, 80 81 SVGA3DBLOCKDESC_3PLANAR_YUV = 1 << 9, 82 83 SVGA3DBLOCKDESC_STENCIL = 1 << 11, 84 85 SVGA3DBLOCKDESC_TYPELESS = 1 << 12, 86 87 SVGA3DBLOCKDESC_SINT = 1 << 13, 88 89 SVGA3DBLOCKDESC_UINT = 1 << 14, 90 91 SVGA3DBLOCKDESC_NORM = 1 << 15, 92 93 SVGA3DBLOCKDESC_SRGB = 1 << 16, 94 95 SVGA3DBLOCKDESC_EXP = 1 << 17, 96 97 SVGA3DBLOCKDESC_COLOR = 1 << 18, 98 99 SVGA3DBLOCKDESC_DEPTH = 1 << 19, 100 101 SVGA3DBLOCKDESC_BUMP = 1 << 20, 102 103 SVGA3DBLOCKDESC_YUV_VIDEO = 1 << 21, 104 105 SVGA3DBLOCKDESC_MIXED = 1 << 22, 106 107 SVGA3DBLOCKDESC_CX = 1 << 23, 108 109 SVGA3DBLOCKDESC_BC1 = 1 << 24, 110 SVGA3DBLOCKDESC_BC2 = 1 << 25, 111 SVGA3DBLOCKDESC_BC3 = 1 << 26, 112 SVGA3DBLOCKDESC_BC4 = 1 << 27, 113 SVGA3DBLOCKDESC_BC5 = 1 << 28, 114 SVGA3DBLOCKDESC_BC6H = 1 << 29, 115 SVGA3DBLOCKDESC_BC7 = 1 << 30, 116 SVGA3DBLOCKDESC_COMPRESSED_MASK = 117 SVGA3DBLOCKDESC_BC1 | SVGA3DBLOCKDESC_BC2 | 118 SVGA3DBLOCKDESC_BC3 | SVGA3DBLOCKDESC_BC4 | 119 SVGA3DBLOCKDESC_BC5 | SVGA3DBLOCKDESC_BC6H | 120 SVGA3DBLOCKDESC_BC7, 121 122 SVGA3DBLOCKDESC_A_UINT = SVGA3DBLOCKDESC_ALPHA | SVGA3DBLOCKDESC_UINT | 123 SVGA3DBLOCKDESC_COLOR, 124 SVGA3DBLOCKDESC_A_UNORM = SVGA3DBLOCKDESC_A_UINT | SVGA3DBLOCKDESC_NORM, 125 SVGA3DBLOCKDESC_R_UINT = SVGA3DBLOCKDESC_RED | SVGA3DBLOCKDESC_UINT | 126 SVGA3DBLOCKDESC_COLOR, 127 SVGA3DBLOCKDESC_R_UNORM = SVGA3DBLOCKDESC_R_UINT | SVGA3DBLOCKDESC_NORM, 128 SVGA3DBLOCKDESC_R_SINT = SVGA3DBLOCKDESC_RED | SVGA3DBLOCKDESC_SINT | 129 SVGA3DBLOCKDESC_COLOR, 130 SVGA3DBLOCKDESC_R_SNORM = SVGA3DBLOCKDESC_R_SINT | SVGA3DBLOCKDESC_NORM, 131 SVGA3DBLOCKDESC_G_UINT = SVGA3DBLOCKDESC_GREEN | SVGA3DBLOCKDESC_UINT | 132 SVGA3DBLOCKDESC_COLOR, 133 SVGA3DBLOCKDESC_RG_UINT = SVGA3DBLOCKDESC_RED | SVGA3DBLOCKDESC_GREEN | 134 SVGA3DBLOCKDESC_UINT | SVGA3DBLOCKDESC_COLOR, 135 SVGA3DBLOCKDESC_RG_UNORM = 136 SVGA3DBLOCKDESC_RG_UINT | SVGA3DBLOCKDESC_NORM, 137 SVGA3DBLOCKDESC_RG_SINT = SVGA3DBLOCKDESC_RED | SVGA3DBLOCKDESC_GREEN | 138 SVGA3DBLOCKDESC_SINT | SVGA3DBLOCKDESC_COLOR, 139 SVGA3DBLOCKDESC_RG_SNORM = 140 SVGA3DBLOCKDESC_RG_SINT | SVGA3DBLOCKDESC_NORM, 141 SVGA3DBLOCKDESC_RGB_UINT = SVGA3DBLOCKDESC_RED | SVGA3DBLOCKDESC_GREEN | 142 SVGA3DBLOCKDESC_BLUE | SVGA3DBLOCKDESC_UINT | 143 SVGA3DBLOCKDESC_COLOR, 144 SVGA3DBLOCKDESC_RGB_SINT = SVGA3DBLOCKDESC_RED | SVGA3DBLOCKDESC_GREEN | 145 SVGA3DBLOCKDESC_BLUE | SVGA3DBLOCKDESC_SINT | 146 SVGA3DBLOCKDESC_COLOR, 147 SVGA3DBLOCKDESC_RGB_UNORM = 148 SVGA3DBLOCKDESC_RGB_UINT | SVGA3DBLOCKDESC_NORM, 149 SVGA3DBLOCKDESC_RGB_UNORM_SRGB = 150 SVGA3DBLOCKDESC_RGB_UNORM | SVGA3DBLOCKDESC_SRGB, 151 SVGA3DBLOCKDESC_RGBA_UINT = 152 SVGA3DBLOCKDESC_RED | SVGA3DBLOCKDESC_GREEN | 153 SVGA3DBLOCKDESC_BLUE | SVGA3DBLOCKDESC_ALPHA | 154 SVGA3DBLOCKDESC_UINT | SVGA3DBLOCKDESC_COLOR, 155 SVGA3DBLOCKDESC_RGBA_UNORM = 156 SVGA3DBLOCKDESC_RGBA_UINT | SVGA3DBLOCKDESC_NORM, 157 SVGA3DBLOCKDESC_RGBA_UNORM_SRGB = 158 SVGA3DBLOCKDESC_RGBA_UNORM | SVGA3DBLOCKDESC_SRGB, 159 SVGA3DBLOCKDESC_RGBA_SINT = 160 SVGA3DBLOCKDESC_RED | SVGA3DBLOCKDESC_GREEN | 161 SVGA3DBLOCKDESC_BLUE | SVGA3DBLOCKDESC_ALPHA | 162 SVGA3DBLOCKDESC_SINT | SVGA3DBLOCKDESC_COLOR, 163 SVGA3DBLOCKDESC_RGBA_SNORM = 164 SVGA3DBLOCKDESC_RGBA_SINT | SVGA3DBLOCKDESC_NORM, 165 SVGA3DBLOCKDESC_RGBA_FP = SVGA3DBLOCKDESC_RED | SVGA3DBLOCKDESC_GREEN | 166 SVGA3DBLOCKDESC_BLUE | SVGA3DBLOCKDESC_ALPHA | 167 SVGA3DBLOCKDESC_FP | SVGA3DBLOCKDESC_COLOR, 168 SVGA3DBLOCKDESC_UV = 169 SVGA3DBLOCKDESC_U | SVGA3DBLOCKDESC_V | SVGA3DBLOCKDESC_BUMP, 170 SVGA3DBLOCKDESC_UVL = SVGA3DBLOCKDESC_UV | SVGA3DBLOCKDESC_BUMP_L | 171 SVGA3DBLOCKDESC_MIXED | SVGA3DBLOCKDESC_BUMP, 172 SVGA3DBLOCKDESC_UVW = 173 SVGA3DBLOCKDESC_UV | SVGA3DBLOCKDESC_W | SVGA3DBLOCKDESC_BUMP, 174 SVGA3DBLOCKDESC_UVWA = SVGA3DBLOCKDESC_UVW | SVGA3DBLOCKDESC_ALPHA | 175 SVGA3DBLOCKDESC_MIXED | SVGA3DBLOCKDESC_BUMP, 176 SVGA3DBLOCKDESC_UVWQ = SVGA3DBLOCKDESC_U | SVGA3DBLOCKDESC_V | 177 SVGA3DBLOCKDESC_W | SVGA3DBLOCKDESC_Q | 178 SVGA3DBLOCKDESC_BUMP, 179 SVGA3DBLOCKDESC_L_UNORM = SVGA3DBLOCKDESC_LUMINANCE | 180 SVGA3DBLOCKDESC_UINT | SVGA3DBLOCKDESC_NORM | 181 SVGA3DBLOCKDESC_COLOR, 182 SVGA3DBLOCKDESC_LA_UNORM = SVGA3DBLOCKDESC_LUMINANCE | 183 SVGA3DBLOCKDESC_ALPHA | 184 SVGA3DBLOCKDESC_UINT | SVGA3DBLOCKDESC_NORM | 185 SVGA3DBLOCKDESC_COLOR, 186 SVGA3DBLOCKDESC_R_FP = SVGA3DBLOCKDESC_RED | SVGA3DBLOCKDESC_FP | 187 SVGA3DBLOCKDESC_COLOR, 188 SVGA3DBLOCKDESC_RG_FP = SVGA3DBLOCKDESC_R_FP | SVGA3DBLOCKDESC_GREEN | 189 SVGA3DBLOCKDESC_COLOR, 190 SVGA3DBLOCKDESC_RGB_FP = SVGA3DBLOCKDESC_RG_FP | SVGA3DBLOCKDESC_BLUE | 191 SVGA3DBLOCKDESC_COLOR, 192 SVGA3DBLOCKDESC_YUV = SVGA3DBLOCKDESC_YUV_VIDEO | SVGA3DBLOCKDESC_COLOR, 193 SVGA3DBLOCKDESC_AYUV = SVGA3DBLOCKDESC_ALPHA | 194 SVGA3DBLOCKDESC_YUV_VIDEO | 195 SVGA3DBLOCKDESC_COLOR, 196 SVGA3DBLOCKDESC_RGB_EXP = SVGA3DBLOCKDESC_RED | SVGA3DBLOCKDESC_GREEN | 197 SVGA3DBLOCKDESC_BLUE | SVGA3DBLOCKDESC_EXP | 198 SVGA3DBLOCKDESC_COLOR, 199 200 SVGA3DBLOCKDESC_COMP_TYPELESS = 201 SVGA3DBLOCKDESC_COMPRESSED | SVGA3DBLOCKDESC_TYPELESS, 202 SVGA3DBLOCKDESC_COMP_UNORM = 203 SVGA3DBLOCKDESC_COMPRESSED | SVGA3DBLOCKDESC_UINT | 204 SVGA3DBLOCKDESC_NORM | SVGA3DBLOCKDESC_COLOR, 205 SVGA3DBLOCKDESC_COMP_SNORM = 206 SVGA3DBLOCKDESC_COMPRESSED | SVGA3DBLOCKDESC_SINT | 207 SVGA3DBLOCKDESC_NORM | SVGA3DBLOCKDESC_COLOR, 208 SVGA3DBLOCKDESC_COMP_UNORM_SRGB = 209 SVGA3DBLOCKDESC_COMP_UNORM | SVGA3DBLOCKDESC_SRGB, 210 SVGA3DBLOCKDESC_BC1_COMP_TYPELESS = 211 SVGA3DBLOCKDESC_BC1 | SVGA3DBLOCKDESC_COMP_TYPELESS, 212 SVGA3DBLOCKDESC_BC1_COMP_UNORM = 213 SVGA3DBLOCKDESC_BC1 | SVGA3DBLOCKDESC_COMP_UNORM, 214 SVGA3DBLOCKDESC_BC1_COMP_UNORM_SRGB = 215 SVGA3DBLOCKDESC_BC1_COMP_UNORM | SVGA3DBLOCKDESC_SRGB, 216 SVGA3DBLOCKDESC_BC2_COMP_TYPELESS = 217 SVGA3DBLOCKDESC_BC2 | SVGA3DBLOCKDESC_COMP_TYPELESS, 218 SVGA3DBLOCKDESC_BC2_COMP_UNORM = 219 SVGA3DBLOCKDESC_BC2 | SVGA3DBLOCKDESC_COMP_UNORM, 220 SVGA3DBLOCKDESC_BC2_COMP_UNORM_SRGB = 221 SVGA3DBLOCKDESC_BC2_COMP_UNORM | SVGA3DBLOCKDESC_SRGB, 222 SVGA3DBLOCKDESC_BC3_COMP_TYPELESS = 223 SVGA3DBLOCKDESC_BC3 | SVGA3DBLOCKDESC_COMP_TYPELESS, 224 SVGA3DBLOCKDESC_BC3_COMP_UNORM = 225 SVGA3DBLOCKDESC_BC3 | SVGA3DBLOCKDESC_COMP_UNORM, 226 SVGA3DBLOCKDESC_BC3_COMP_UNORM_SRGB = 227 SVGA3DBLOCKDESC_BC3_COMP_UNORM | SVGA3DBLOCKDESC_SRGB, 228 SVGA3DBLOCKDESC_BC4_COMP_TYPELESS = 229 SVGA3DBLOCKDESC_BC4 | SVGA3DBLOCKDESC_COMP_TYPELESS, 230 SVGA3DBLOCKDESC_BC4_COMP_UNORM = 231 SVGA3DBLOCKDESC_BC4 | SVGA3DBLOCKDESC_COMP_UNORM, 232 SVGA3DBLOCKDESC_BC4_COMP_SNORM = 233 SVGA3DBLOCKDESC_BC4 | SVGA3DBLOCKDESC_COMP_SNORM, 234 SVGA3DBLOCKDESC_BC5_COMP_TYPELESS = 235 SVGA3DBLOCKDESC_BC5 | SVGA3DBLOCKDESC_COMP_TYPELESS, 236 SVGA3DBLOCKDESC_BC5_COMP_UNORM = 237 SVGA3DBLOCKDESC_BC5 | SVGA3DBLOCKDESC_COMP_UNORM, 238 SVGA3DBLOCKDESC_BC5_COMP_SNORM = 239 SVGA3DBLOCKDESC_BC5 | SVGA3DBLOCKDESC_COMP_SNORM, 240 SVGA3DBLOCKDESC_BC6H_COMP_TYPELESS = 241 SVGA3DBLOCKDESC_BC6H | SVGA3DBLOCKDESC_COMP_TYPELESS, 242 SVGA3DBLOCKDESC_BC6H_COMP_UF16 = 243 SVGA3DBLOCKDESC_BC6H | SVGA3DBLOCKDESC_COMPRESSED, 244 SVGA3DBLOCKDESC_BC6H_COMP_SF16 = 245 SVGA3DBLOCKDESC_BC6H | SVGA3DBLOCKDESC_COMPRESSED, 246 SVGA3DBLOCKDESC_BC7_COMP_TYPELESS = 247 SVGA3DBLOCKDESC_BC7 | SVGA3DBLOCKDESC_COMP_TYPELESS, 248 SVGA3DBLOCKDESC_BC7_COMP_UNORM = 249 SVGA3DBLOCKDESC_BC7 | SVGA3DBLOCKDESC_COMP_UNORM, 250 SVGA3DBLOCKDESC_BC7_COMP_UNORM_SRGB = 251 SVGA3DBLOCKDESC_BC7_COMP_UNORM | SVGA3DBLOCKDESC_SRGB, 252 253 SVGA3DBLOCKDESC_NV12 = 254 SVGA3DBLOCKDESC_YUV_VIDEO | SVGA3DBLOCKDESC_PLANAR_YUV | 255 SVGA3DBLOCKDESC_2PLANAR_YUV | SVGA3DBLOCKDESC_COLOR, 256 SVGA3DBLOCKDESC_YV12 = 257 SVGA3DBLOCKDESC_YUV_VIDEO | SVGA3DBLOCKDESC_PLANAR_YUV | 258 SVGA3DBLOCKDESC_3PLANAR_YUV | SVGA3DBLOCKDESC_COLOR, 259 260 SVGA3DBLOCKDESC_DEPTH_UINT = 261 SVGA3DBLOCKDESC_DEPTH | SVGA3DBLOCKDESC_UINT, 262 SVGA3DBLOCKDESC_DEPTH_UNORM = 263 SVGA3DBLOCKDESC_DEPTH_UINT | SVGA3DBLOCKDESC_NORM, 264 SVGA3DBLOCKDESC_DS = SVGA3DBLOCKDESC_DEPTH | SVGA3DBLOCKDESC_STENCIL, 265 SVGA3DBLOCKDESC_DS_UINT = SVGA3DBLOCKDESC_DEPTH | 266 SVGA3DBLOCKDESC_STENCIL | 267 SVGA3DBLOCKDESC_UINT, 268 SVGA3DBLOCKDESC_DS_UNORM = 269 SVGA3DBLOCKDESC_DS_UINT | SVGA3DBLOCKDESC_NORM, 270 SVGA3DBLOCKDESC_DEPTH_FP = SVGA3DBLOCKDESC_DEPTH | SVGA3DBLOCKDESC_FP, 271 272 SVGA3DBLOCKDESC_UV_UINT = SVGA3DBLOCKDESC_UV | SVGA3DBLOCKDESC_UINT, 273 SVGA3DBLOCKDESC_UV_SNORM = SVGA3DBLOCKDESC_UV | SVGA3DBLOCKDESC_SINT | 274 SVGA3DBLOCKDESC_NORM, 275 SVGA3DBLOCKDESC_UVCX_SNORM = 276 SVGA3DBLOCKDESC_UV_SNORM | SVGA3DBLOCKDESC_CX, 277 SVGA3DBLOCKDESC_UVWQ_SNORM = SVGA3DBLOCKDESC_UVWQ | 278 SVGA3DBLOCKDESC_SINT | 279 SVGA3DBLOCKDESC_NORM, 280 } SVGA3dBlockDesc; 281 282 typedef struct SVGA3dChannelDef { 283 union { 284 uint8 blue; 285 uint8 w_bump; 286 uint8 l_bump; 287 uint8 uv_video; 288 uint8 u_video; 289 }; 290 union { 291 uint8 green; 292 uint8 stencil; 293 uint8 v_bump; 294 uint8 v_video; 295 }; 296 union { 297 uint8 red; 298 uint8 u_bump; 299 uint8 luminance; 300 uint8 y_video; 301 uint8 depth; 302 uint8 data; 303 }; 304 union { 305 uint8 alpha; 306 uint8 q_bump; 307 uint8 exp; 308 }; 309 } SVGA3dChannelDef; 310 311 typedef struct SVGA3dSurfaceDesc { 312 SVGA3dSurfaceFormat format; 313 SVGA3dBlockDesc blockDesc; 314 315 SVGA3dSize blockSize; 316 uint32 bytesPerBlock; 317 uint32 pitchBytesPerBlock; 318 319 SVGA3dChannelDef bitDepth; 320 SVGA3dChannelDef bitOffset; 321 } SVGA3dSurfaceDesc; 322 323 STATIC_CONST SVGA3dSurfaceDesc g_SVGA3dSurfaceDescs[] = { 324 { SVGA3D_FORMAT_INVALID, 325 SVGA3DBLOCKDESC_NONE, 326 { 1, 1, 1 }, 327 0, 328 0, 329 { { 0 }, { 0 }, { 0 }, { 0 } }, 330 { { 0 }, { 0 }, { 0 }, { 0 } } }, 331 332 { SVGA3D_X8R8G8B8, 333 SVGA3DBLOCKDESC_RGB_UNORM, 334 { 1, 1, 1 }, 335 4, 336 4, 337 { { 8 }, { 8 }, { 8 }, { 0 } }, 338 { { 0 }, { 8 }, { 16 }, { 24 } } }, 339 340 { SVGA3D_A8R8G8B8, 341 SVGA3DBLOCKDESC_RGBA_UNORM, 342 { 1, 1, 1 }, 343 4, 344 4, 345 { { 8 }, { 8 }, { 8 }, { 8 } }, 346 { { 0 }, { 8 }, { 16 }, { 24 } } }, 347 348 { SVGA3D_R5G6B5, 349 SVGA3DBLOCKDESC_RGB_UNORM, 350 { 1, 1, 1 }, 351 2, 352 2, 353 { { 5 }, { 6 }, { 5 }, { 0 } }, 354 { { 0 }, { 5 }, { 11 }, { 0 } } }, 355 356 { SVGA3D_X1R5G5B5, 357 SVGA3DBLOCKDESC_RGB_UNORM, 358 { 1, 1, 1 }, 359 2, 360 2, 361 { { 5 }, { 5 }, { 5 }, { 0 } }, 362 { { 0 }, { 5 }, { 10 }, { 0 } } }, 363 364 { SVGA3D_A1R5G5B5, 365 SVGA3DBLOCKDESC_RGBA_UNORM, 366 { 1, 1, 1 }, 367 2, 368 2, 369 { { 5 }, { 5 }, { 5 }, { 1 } }, 370 { { 0 }, { 5 }, { 10 }, { 15 } } }, 371 372 { SVGA3D_A4R4G4B4, 373 SVGA3DBLOCKDESC_RGBA_UNORM, 374 { 1, 1, 1 }, 375 2, 376 2, 377 { { 4 }, { 4 }, { 4 }, { 4 } }, 378 { { 0 }, { 4 }, { 8 }, { 12 } } }, 379 380 { SVGA3D_Z_D32, 381 SVGA3DBLOCKDESC_DEPTH_UNORM, 382 { 1, 1, 1 }, 383 4, 384 4, 385 { { 0 }, { 0 }, { 32 }, { 0 } }, 386 { { 0 }, { 0 }, { 0 }, { 0 } } }, 387 388 { SVGA3D_Z_D16, 389 SVGA3DBLOCKDESC_DEPTH_UNORM, 390 { 1, 1, 1 }, 391 2, 392 2, 393 { { 0 }, { 0 }, { 16 }, { 0 } }, 394 { { 0 }, { 0 }, { 0 }, { 0 } } }, 395 396 { SVGA3D_Z_D24S8, 397 SVGA3DBLOCKDESC_DS_UNORM, 398 { 1, 1, 1 }, 399 4, 400 4, 401 { { 0 }, { 8 }, { 24 }, { 0 } }, 402 { { 0 }, { 0 }, { 8 }, { 0 } } }, 403 404 { SVGA3D_Z_D15S1, 405 SVGA3DBLOCKDESC_DS_UNORM, 406 { 1, 1, 1 }, 407 2, 408 2, 409 { { 0 }, { 1 }, { 15 }, { 0 } }, 410 { { 0 }, { 0 }, { 1 }, { 0 } } }, 411 412 { SVGA3D_LUMINANCE8, 413 SVGA3DBLOCKDESC_L_UNORM, 414 { 1, 1, 1 }, 415 1, 416 1, 417 { { 0 }, { 0 }, { 8 }, { 0 } }, 418 { { 0 }, { 0 }, { 0 }, { 0 } } }, 419 420 { SVGA3D_LUMINANCE4_ALPHA4, 421 SVGA3DBLOCKDESC_LA_UNORM, 422 { 1, 1, 1 }, 423 1, 424 1, 425 { { 0 }, { 0 }, { 4 }, { 4 } }, 426 { { 0 }, { 0 }, { 0 }, { 4 } } }, 427 428 { SVGA3D_LUMINANCE16, 429 SVGA3DBLOCKDESC_L_UNORM, 430 { 1, 1, 1 }, 431 2, 432 2, 433 { { 0 }, { 0 }, { 16 }, { 0 } }, 434 { { 0 }, { 0 }, { 0 }, { 0 } } }, 435 436 { SVGA3D_LUMINANCE8_ALPHA8, 437 SVGA3DBLOCKDESC_LA_UNORM, 438 { 1, 1, 1 }, 439 2, 440 2, 441 { { 0 }, { 0 }, { 8 }, { 8 } }, 442 { { 0 }, { 0 }, { 0 }, { 8 } } }, 443 444 { SVGA3D_DXT1, 445 SVGA3DBLOCKDESC_BC1_COMP_UNORM, 446 { 4, 4, 1 }, 447 8, 448 8, 449 { { 0 }, { 0 }, { 64 }, { 0 } }, 450 { { 0 }, { 0 }, { 0 }, { 0 } } }, 451 452 { SVGA3D_DXT2, 453 SVGA3DBLOCKDESC_BC2_COMP_UNORM, 454 { 4, 4, 1 }, 455 16, 456 16, 457 { { 0 }, { 0 }, { 128 }, { 0 } }, 458 { { 0 }, { 0 }, { 0 }, { 0 } } }, 459 460 { SVGA3D_DXT3, 461 SVGA3DBLOCKDESC_BC2_COMP_UNORM, 462 { 4, 4, 1 }, 463 16, 464 16, 465 { { 0 }, { 0 }, { 128 }, { 0 } }, 466 { { 0 }, { 0 }, { 0 }, { 0 } } }, 467 468 { SVGA3D_DXT4, 469 SVGA3DBLOCKDESC_BC3_COMP_UNORM, 470 { 4, 4, 1 }, 471 16, 472 16, 473 { { 0 }, { 0 }, { 128 }, { 0 } }, 474 { { 0 }, { 0 }, { 0 }, { 0 } } }, 475 476 { SVGA3D_DXT5, 477 SVGA3DBLOCKDESC_BC3_COMP_UNORM, 478 { 4, 4, 1 }, 479 16, 480 16, 481 { { 0 }, { 0 }, { 128 }, { 0 } }, 482 { { 0 }, { 0 }, { 0 }, { 0 } } }, 483 484 { SVGA3D_BUMPU8V8, 485 SVGA3DBLOCKDESC_UV_SNORM, 486 { 1, 1, 1 }, 487 2, 488 2, 489 { { 0 }, { 8 }, { 8 }, { 0 } }, 490 { { 0 }, { 8 }, { 0 }, { 0 } } }, 491 492 { SVGA3D_BUMPL6V5U5, 493 SVGA3DBLOCKDESC_UVL, 494 { 1, 1, 1 }, 495 2, 496 2, 497 { { 6 }, { 5 }, { 5 }, { 0 } }, 498 { { 10 }, { 5 }, { 0 }, { 0 } } }, 499 500 { SVGA3D_BUMPX8L8V8U8, 501 SVGA3DBLOCKDESC_UVL, 502 { 1, 1, 1 }, 503 4, 504 4, 505 { { 8 }, { 8 }, { 8 }, { 0 } }, 506 { { 16 }, { 8 }, { 0 }, { 0 } } }, 507 508 { SVGA3D_FORMAT_DEAD1, 509 SVGA3DBLOCKDESC_NONE, 510 { 1, 1, 1 }, 511 3, 512 3, 513 { { 8 }, { 8 }, { 8 }, { 0 } }, 514 { { 16 }, { 8 }, { 0 }, { 0 } } }, 515 516 { SVGA3D_ARGB_S10E5, 517 SVGA3DBLOCKDESC_RGBA_FP, 518 { 1, 1, 1 }, 519 8, 520 8, 521 { { 16 }, { 16 }, { 16 }, { 16 } }, 522 { { 32 }, { 16 }, { 0 }, { 48 } } }, 523 524 { SVGA3D_ARGB_S23E8, 525 SVGA3DBLOCKDESC_RGBA_FP, 526 { 1, 1, 1 }, 527 16, 528 16, 529 { { 32 }, { 32 }, { 32 }, { 32 } }, 530 { { 64 }, { 32 }, { 0 }, { 96 } } }, 531 532 { SVGA3D_A2R10G10B10, 533 SVGA3DBLOCKDESC_RGBA_UNORM, 534 { 1, 1, 1 }, 535 4, 536 4, 537 { { 10 }, { 10 }, { 10 }, { 2 } }, 538 { { 0 }, { 10 }, { 20 }, { 30 } } }, 539 540 { SVGA3D_V8U8, 541 SVGA3DBLOCKDESC_UV_SNORM, 542 { 1, 1, 1 }, 543 2, 544 2, 545 { { 0 }, { 8 }, { 8 }, { 0 } }, 546 { { 0 }, { 8 }, { 0 }, { 0 } } }, 547 548 { SVGA3D_Q8W8V8U8, 549 SVGA3DBLOCKDESC_UVWQ_SNORM, 550 { 1, 1, 1 }, 551 4, 552 4, 553 { { 8 }, { 8 }, { 8 }, { 8 } }, 554 { { 16 }, { 8 }, { 0 }, { 24 } } }, 555 556 { SVGA3D_CxV8U8, 557 SVGA3DBLOCKDESC_UVCX_SNORM, 558 { 1, 1, 1 }, 559 2, 560 2, 561 { { 0 }, { 8 }, { 8 }, { 0 } }, 562 { { 0 }, { 8 }, { 0 }, { 0 } } }, 563 564 { SVGA3D_X8L8V8U8, 565 SVGA3DBLOCKDESC_UVL, 566 { 1, 1, 1 }, 567 4, 568 4, 569 { { 8 }, { 8 }, { 8 }, { 0 } }, 570 { { 16 }, { 8 }, { 0 }, { 0 } } }, 571 572 { SVGA3D_A2W10V10U10, 573 SVGA3DBLOCKDESC_UVWA, 574 { 1, 1, 1 }, 575 4, 576 4, 577 { { 10 }, { 10 }, { 10 }, { 2 } }, 578 { { 20 }, { 10 }, { 0 }, { 30 } } }, 579 580 { SVGA3D_ALPHA8, 581 SVGA3DBLOCKDESC_A_UNORM, 582 { 1, 1, 1 }, 583 1, 584 1, 585 { { 0 }, { 0 }, { 0 }, { 8 } }, 586 { { 0 }, { 0 }, { 0 }, { 0 } } }, 587 588 { SVGA3D_R_S10E5, 589 SVGA3DBLOCKDESC_R_FP, 590 { 1, 1, 1 }, 591 2, 592 2, 593 { { 0 }, { 0 }, { 16 }, { 0 } }, 594 { { 0 }, { 0 }, { 0 }, { 0 } } }, 595 596 { SVGA3D_R_S23E8, 597 SVGA3DBLOCKDESC_R_FP, 598 { 1, 1, 1 }, 599 4, 600 4, 601 { { 0 }, { 0 }, { 32 }, { 0 } }, 602 { { 0 }, { 0 }, { 0 }, { 0 } } }, 603 604 { SVGA3D_RG_S10E5, 605 SVGA3DBLOCKDESC_RG_FP, 606 { 1, 1, 1 }, 607 4, 608 4, 609 { { 0 }, { 16 }, { 16 }, { 0 } }, 610 { { 0 }, { 16 }, { 0 }, { 0 } } }, 611 612 { SVGA3D_RG_S23E8, 613 SVGA3DBLOCKDESC_RG_FP, 614 { 1, 1, 1 }, 615 8, 616 8, 617 { { 0 }, { 32 }, { 32 }, { 0 } }, 618 { { 0 }, { 32 }, { 0 }, { 0 } } }, 619 620 { SVGA3D_BUFFER, 621 SVGA3DBLOCKDESC_BUFFER, 622 { 1, 1, 1 }, 623 1, 624 1, 625 { { 0 }, { 0 }, { 8 }, { 0 } }, 626 { { 0 }, { 0 }, { 0 }, { 0 } } }, 627 628 { SVGA3D_Z_D24X8, 629 SVGA3DBLOCKDESC_DEPTH_UNORM, 630 { 1, 1, 1 }, 631 4, 632 4, 633 { { 0 }, { 0 }, { 24 }, { 0 } }, 634 { { 0 }, { 0 }, { 8 }, { 0 } } }, 635 636 { SVGA3D_V16U16, 637 SVGA3DBLOCKDESC_UV_SNORM, 638 { 1, 1, 1 }, 639 4, 640 4, 641 { { 0 }, { 16 }, { 16 }, { 0 } }, 642 { { 0 }, { 16 }, { 0 }, { 0 } } }, 643 644 { SVGA3D_G16R16, 645 SVGA3DBLOCKDESC_RG_UNORM, 646 { 1, 1, 1 }, 647 4, 648 4, 649 { { 0 }, { 16 }, { 16 }, { 0 } }, 650 { { 0 }, { 16 }, { 0 }, { 0 } } }, 651 652 { SVGA3D_A16B16G16R16, 653 SVGA3DBLOCKDESC_RGBA_UNORM, 654 { 1, 1, 1 }, 655 8, 656 8, 657 { { 16 }, { 16 }, { 16 }, { 16 } }, 658 { { 32 }, { 16 }, { 0 }, { 48 } } }, 659 660 { SVGA3D_UYVY, 661 SVGA3DBLOCKDESC_YUV, 662 { 2, 1, 1 }, 663 4, 664 4, 665 { { 8 }, { 0 }, { 8 }, { 0 } }, 666 { { 0 }, { 0 }, { 8 }, { 0 } } }, 667 668 { SVGA3D_YUY2, 669 SVGA3DBLOCKDESC_YUV, 670 { 2, 1, 1 }, 671 4, 672 4, 673 { { 8 }, { 0 }, { 8 }, { 0 } }, 674 { { 8 }, { 0 }, { 0 }, { 0 } } }, 675 676 { SVGA3D_NV12, 677 SVGA3DBLOCKDESC_NV12, 678 { 2, 2, 1 }, 679 6, 680 2, 681 { { 0 }, { 0 }, { 48 }, { 0 } }, 682 { { 0 }, { 0 }, { 0 }, { 0 } } }, 683 684 { SVGA3D_FORMAT_DEAD2, 685 SVGA3DBLOCKDESC_NONE, 686 { 1, 1, 1 }, 687 4, 688 4, 689 { { 8 }, { 8 }, { 8 }, { 8 } }, 690 { { 0 }, { 8 }, { 16 }, { 24 } } }, 691 692 { SVGA3D_R32G32B32A32_TYPELESS, 693 SVGA3DBLOCKDESC_TYPELESS, 694 { 1, 1, 1 }, 695 16, 696 16, 697 { { 32 }, { 32 }, { 32 }, { 32 } }, 698 { { 64 }, { 32 }, { 0 }, { 96 } } }, 699 700 { SVGA3D_R32G32B32A32_UINT, 701 SVGA3DBLOCKDESC_RGBA_UINT, 702 { 1, 1, 1 }, 703 16, 704 16, 705 { { 32 }, { 32 }, { 32 }, { 32 } }, 706 { { 64 }, { 32 }, { 0 }, { 96 } } }, 707 708 { SVGA3D_R32G32B32A32_SINT, 709 SVGA3DBLOCKDESC_RGBA_SINT, 710 { 1, 1, 1 }, 711 16, 712 16, 713 { { 32 }, { 32 }, { 32 }, { 32 } }, 714 { { 64 }, { 32 }, { 0 }, { 96 } } }, 715 716 { SVGA3D_R32G32B32_TYPELESS, 717 SVGA3DBLOCKDESC_TYPELESS, 718 { 1, 1, 1 }, 719 12, 720 12, 721 { { 32 }, { 32 }, { 32 }, { 0 } }, 722 { { 64 }, { 32 }, { 0 }, { 0 } } }, 723 724 { SVGA3D_R32G32B32_FLOAT, 725 SVGA3DBLOCKDESC_RGB_FP, 726 { 1, 1, 1 }, 727 12, 728 12, 729 { { 32 }, { 32 }, { 32 }, { 0 } }, 730 { { 64 }, { 32 }, { 0 }, { 0 } } }, 731 732 { SVGA3D_R32G32B32_UINT, 733 SVGA3DBLOCKDESC_RGB_UINT, 734 { 1, 1, 1 }, 735 12, 736 12, 737 { { 32 }, { 32 }, { 32 }, { 0 } }, 738 { { 64 }, { 32 }, { 0 }, { 0 } } }, 739 740 { SVGA3D_R32G32B32_SINT, 741 SVGA3DBLOCKDESC_RGB_SINT, 742 { 1, 1, 1 }, 743 12, 744 12, 745 { { 32 }, { 32 }, { 32 }, { 0 } }, 746 { { 64 }, { 32 }, { 0 }, { 0 } } }, 747 748 { SVGA3D_R16G16B16A16_TYPELESS, 749 SVGA3DBLOCKDESC_TYPELESS, 750 { 1, 1, 1 }, 751 8, 752 8, 753 { { 16 }, { 16 }, { 16 }, { 16 } }, 754 { { 32 }, { 16 }, { 0 }, { 48 } } }, 755 756 { SVGA3D_R16G16B16A16_UINT, 757 SVGA3DBLOCKDESC_RGBA_UINT, 758 { 1, 1, 1 }, 759 8, 760 8, 761 { { 16 }, { 16 }, { 16 }, { 16 } }, 762 { { 32 }, { 16 }, { 0 }, { 48 } } }, 763 764 { SVGA3D_R16G16B16A16_SNORM, 765 SVGA3DBLOCKDESC_RGBA_SNORM, 766 { 1, 1, 1 }, 767 8, 768 8, 769 { { 16 }, { 16 }, { 16 }, { 16 } }, 770 { { 32 }, { 16 }, { 0 }, { 48 } } }, 771 772 { SVGA3D_R16G16B16A16_SINT, 773 SVGA3DBLOCKDESC_RGBA_SINT, 774 { 1, 1, 1 }, 775 8, 776 8, 777 { { 16 }, { 16 }, { 16 }, { 16 } }, 778 { { 32 }, { 16 }, { 0 }, { 48 } } }, 779 780 { SVGA3D_R32G32_TYPELESS, 781 SVGA3DBLOCKDESC_TYPELESS, 782 { 1, 1, 1 }, 783 8, 784 8, 785 { { 0 }, { 32 }, { 32 }, { 0 } }, 786 { { 0 }, { 32 }, { 0 }, { 0 } } }, 787 788 { SVGA3D_R32G32_UINT, 789 SVGA3DBLOCKDESC_RG_UINT, 790 { 1, 1, 1 }, 791 8, 792 8, 793 { { 0 }, { 32 }, { 32 }, { 0 } }, 794 { { 0 }, { 32 }, { 0 }, { 0 } } }, 795 796 { SVGA3D_R32G32_SINT, 797 SVGA3DBLOCKDESC_RG_SINT, 798 { 1, 1, 1 }, 799 8, 800 8, 801 { { 0 }, { 32 }, { 32 }, { 0 } }, 802 { { 0 }, { 32 }, { 0 }, { 0 } } }, 803 804 { SVGA3D_R32G8X24_TYPELESS, 805 SVGA3DBLOCKDESC_TYPELESS, 806 { 1, 1, 1 }, 807 8, 808 8, 809 { { 0 }, { 8 }, { 32 }, { 0 } }, 810 { { 0 }, { 32 }, { 0 }, { 0 } } }, 811 812 { SVGA3D_D32_FLOAT_S8X24_UINT, 813 SVGA3DBLOCKDESC_DS, 814 { 1, 1, 1 }, 815 8, 816 8, 817 { { 0 }, { 8 }, { 32 }, { 0 } }, 818 { { 0 }, { 32 }, { 0 }, { 0 } } }, 819 820 { SVGA3D_R32_FLOAT_X8X24, 821 SVGA3DBLOCKDESC_R_FP, 822 { 1, 1, 1 }, 823 8, 824 8, 825 { { 0 }, { 0 }, { 32 }, { 0 } }, 826 { { 0 }, { 0 }, { 0 }, { 0 } } }, 827 828 { SVGA3D_X32_G8X24_UINT, 829 SVGA3DBLOCKDESC_G_UINT, 830 { 1, 1, 1 }, 831 8, 832 8, 833 { { 0 }, { 8 }, { 0 }, { 0 } }, 834 { { 0 }, { 32 }, { 0 }, { 0 } } }, 835 836 { SVGA3D_R10G10B10A2_TYPELESS, 837 SVGA3DBLOCKDESC_TYPELESS, 838 { 1, 1, 1 }, 839 4, 840 4, 841 { { 10 }, { 10 }, { 10 }, { 2 } }, 842 { { 20 }, { 10 }, { 0 }, { 30 } } }, 843 844 { SVGA3D_R10G10B10A2_UINT, 845 SVGA3DBLOCKDESC_RGBA_UINT, 846 { 1, 1, 1 }, 847 4, 848 4, 849 { { 10 }, { 10 }, { 10 }, { 2 } }, 850 { { 20 }, { 10 }, { 0 }, { 30 } } }, 851 852 { SVGA3D_R11G11B10_FLOAT, 853 SVGA3DBLOCKDESC_RGB_FP, 854 { 1, 1, 1 }, 855 4, 856 4, 857 { { 10 }, { 11 }, { 11 }, { 0 } }, 858 { { 22 }, { 11 }, { 0 }, { 0 } } }, 859 860 { SVGA3D_R8G8B8A8_TYPELESS, 861 SVGA3DBLOCKDESC_TYPELESS, 862 { 1, 1, 1 }, 863 4, 864 4, 865 { { 8 }, { 8 }, { 8 }, { 8 } }, 866 { { 16 }, { 8 }, { 0 }, { 24 } } }, 867 868 { SVGA3D_R8G8B8A8_UNORM, 869 SVGA3DBLOCKDESC_RGBA_UNORM, 870 { 1, 1, 1 }, 871 4, 872 4, 873 { { 8 }, { 8 }, { 8 }, { 8 } }, 874 { { 16 }, { 8 }, { 0 }, { 24 } } }, 875 876 { SVGA3D_R8G8B8A8_UNORM_SRGB, 877 SVGA3DBLOCKDESC_RGBA_UNORM_SRGB, 878 { 1, 1, 1 }, 879 4, 880 4, 881 { { 8 }, { 8 }, { 8 }, { 8 } }, 882 { { 16 }, { 8 }, { 0 }, { 24 } } }, 883 884 { SVGA3D_R8G8B8A8_UINT, 885 SVGA3DBLOCKDESC_RGBA_UINT, 886 { 1, 1, 1 }, 887 4, 888 4, 889 { { 8 }, { 8 }, { 8 }, { 8 } }, 890 { { 16 }, { 8 }, { 0 }, { 24 } } }, 891 892 { SVGA3D_R8G8B8A8_SINT, 893 SVGA3DBLOCKDESC_RGBA_SINT, 894 { 1, 1, 1 }, 895 4, 896 4, 897 { { 8 }, { 8 }, { 8 }, { 8 } }, 898 { { 16 }, { 8 }, { 0 }, { 24 } } }, 899 900 { SVGA3D_R16G16_TYPELESS, 901 SVGA3DBLOCKDESC_TYPELESS, 902 { 1, 1, 1 }, 903 4, 904 4, 905 { { 0 }, { 16 }, { 16 }, { 0 } }, 906 { { 0 }, { 16 }, { 0 }, { 0 } } }, 907 908 { SVGA3D_R16G16_UINT, 909 SVGA3DBLOCKDESC_RG_UINT, 910 { 1, 1, 1 }, 911 4, 912 4, 913 { { 0 }, { 16 }, { 16 }, { 0 } }, 914 { { 0 }, { 16 }, { 0 }, { 0 } } }, 915 916 { SVGA3D_R16G16_SINT, 917 SVGA3DBLOCKDESC_RG_SINT, 918 { 1, 1, 1 }, 919 4, 920 4, 921 { { 0 }, { 16 }, { 16 }, { 0 } }, 922 { { 0 }, { 16 }, { 0 }, { 0 } } }, 923 924 { SVGA3D_R32_TYPELESS, 925 SVGA3DBLOCKDESC_TYPELESS, 926 { 1, 1, 1 }, 927 4, 928 4, 929 { { 0 }, { 0 }, { 32 }, { 0 } }, 930 { { 0 }, { 0 }, { 0 }, { 0 } } }, 931 932 { SVGA3D_D32_FLOAT, 933 SVGA3DBLOCKDESC_DEPTH_FP, 934 { 1, 1, 1 }, 935 4, 936 4, 937 { { 0 }, { 0 }, { 32 }, { 0 } }, 938 { { 0 }, { 0 }, { 0 }, { 0 } } }, 939 940 { SVGA3D_R32_UINT, 941 SVGA3DBLOCKDESC_R_UINT, 942 { 1, 1, 1 }, 943 4, 944 4, 945 { { 0 }, { 0 }, { 32 }, { 0 } }, 946 { { 0 }, { 0 }, { 0 }, { 0 } } }, 947 948 { SVGA3D_R32_SINT, 949 SVGA3DBLOCKDESC_R_SINT, 950 { 1, 1, 1 }, 951 4, 952 4, 953 { { 0 }, { 0 }, { 32 }, { 0 } }, 954 { { 0 }, { 0 }, { 0 }, { 0 } } }, 955 956 { SVGA3D_R24G8_TYPELESS, 957 SVGA3DBLOCKDESC_TYPELESS, 958 { 1, 1, 1 }, 959 4, 960 4, 961 { { 0 }, { 8 }, { 24 }, { 0 } }, 962 { { 0 }, { 24 }, { 0 }, { 0 } } }, 963 964 { SVGA3D_D24_UNORM_S8_UINT, 965 SVGA3DBLOCKDESC_DS_UNORM, 966 { 1, 1, 1 }, 967 4, 968 4, 969 { { 0 }, { 8 }, { 24 }, { 0 } }, 970 { { 0 }, { 24 }, { 0 }, { 0 } } }, 971 972 { SVGA3D_R24_UNORM_X8, 973 SVGA3DBLOCKDESC_R_UNORM, 974 { 1, 1, 1 }, 975 4, 976 4, 977 { { 0 }, { 0 }, { 24 }, { 0 } }, 978 { { 0 }, { 0 }, { 0 }, { 0 } } }, 979 980 { SVGA3D_X24_G8_UINT, 981 SVGA3DBLOCKDESC_G_UINT, 982 { 1, 1, 1 }, 983 4, 984 4, 985 { { 0 }, { 8 }, { 0 }, { 0 } }, 986 { { 0 }, { 24 }, { 0 }, { 0 } } }, 987 988 { SVGA3D_R8G8_TYPELESS, 989 SVGA3DBLOCKDESC_TYPELESS, 990 { 1, 1, 1 }, 991 2, 992 2, 993 { { 0 }, { 8 }, { 8 }, { 0 } }, 994 { { 0 }, { 8 }, { 0 }, { 0 } } }, 995 996 { SVGA3D_R8G8_UNORM, 997 SVGA3DBLOCKDESC_RG_UNORM, 998 { 1, 1, 1 }, 999 2, 1000 2, 1001 { { 0 }, { 8 }, { 8 }, { 0 } }, 1002 { { 0 }, { 8 }, { 0 }, { 0 } } }, 1003 1004 { SVGA3D_R8G8_UINT, 1005 SVGA3DBLOCKDESC_RG_UINT, 1006 { 1, 1, 1 }, 1007 2, 1008 2, 1009 { { 0 }, { 8 }, { 8 }, { 0 } }, 1010 { { 0 }, { 8 }, { 0 }, { 0 } } }, 1011 1012 { SVGA3D_R8G8_SINT, 1013 SVGA3DBLOCKDESC_RG_SINT, 1014 { 1, 1, 1 }, 1015 2, 1016 2, 1017 { { 0 }, { 8 }, { 8 }, { 0 } }, 1018 { { 0 }, { 8 }, { 0 }, { 0 } } }, 1019 1020 { SVGA3D_R16_TYPELESS, 1021 SVGA3DBLOCKDESC_TYPELESS, 1022 { 1, 1, 1 }, 1023 2, 1024 2, 1025 { { 0 }, { 0 }, { 16 }, { 0 } }, 1026 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1027 1028 { SVGA3D_R16_UNORM, 1029 SVGA3DBLOCKDESC_R_UNORM, 1030 { 1, 1, 1 }, 1031 2, 1032 2, 1033 { { 0 }, { 0 }, { 16 }, { 0 } }, 1034 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1035 1036 { SVGA3D_R16_UINT, 1037 SVGA3DBLOCKDESC_R_UINT, 1038 { 1, 1, 1 }, 1039 2, 1040 2, 1041 { { 0 }, { 0 }, { 16 }, { 0 } }, 1042 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1043 1044 { SVGA3D_R16_SNORM, 1045 SVGA3DBLOCKDESC_R_SNORM, 1046 { 1, 1, 1 }, 1047 2, 1048 2, 1049 { { 0 }, { 0 }, { 16 }, { 0 } }, 1050 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1051 1052 { SVGA3D_R16_SINT, 1053 SVGA3DBLOCKDESC_R_SINT, 1054 { 1, 1, 1 }, 1055 2, 1056 2, 1057 { { 0 }, { 0 }, { 16 }, { 0 } }, 1058 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1059 1060 { SVGA3D_R8_TYPELESS, 1061 SVGA3DBLOCKDESC_TYPELESS, 1062 { 1, 1, 1 }, 1063 1, 1064 1, 1065 { { 0 }, { 0 }, { 8 }, { 0 } }, 1066 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1067 1068 { SVGA3D_R8_UNORM, 1069 SVGA3DBLOCKDESC_R_UNORM, 1070 { 1, 1, 1 }, 1071 1, 1072 1, 1073 { { 0 }, { 0 }, { 8 }, { 0 } }, 1074 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1075 1076 { SVGA3D_R8_UINT, 1077 SVGA3DBLOCKDESC_R_UINT, 1078 { 1, 1, 1 }, 1079 1, 1080 1, 1081 { { 0 }, { 0 }, { 8 }, { 0 } }, 1082 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1083 1084 { SVGA3D_R8_SNORM, 1085 SVGA3DBLOCKDESC_R_SNORM, 1086 { 1, 1, 1 }, 1087 1, 1088 1, 1089 { { 0 }, { 0 }, { 8 }, { 0 } }, 1090 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1091 1092 { SVGA3D_R8_SINT, 1093 SVGA3DBLOCKDESC_R_SINT, 1094 { 1, 1, 1 }, 1095 1, 1096 1, 1097 { { 0 }, { 0 }, { 8 }, { 0 } }, 1098 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1099 1100 { SVGA3D_P8, 1101 SVGA3DBLOCKDESC_NONE, 1102 { 1, 1, 1 }, 1103 1, 1104 1, 1105 { { 0 }, { 0 }, { 8 }, { 0 } }, 1106 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1107 1108 { SVGA3D_R9G9B9E5_SHAREDEXP, 1109 SVGA3DBLOCKDESC_RGB_EXP, 1110 { 1, 1, 1 }, 1111 4, 1112 4, 1113 { { 9 }, { 9 }, { 9 }, { 5 } }, 1114 { { 18 }, { 9 }, { 0 }, { 27 } } }, 1115 1116 { SVGA3D_R8G8_B8G8_UNORM, 1117 SVGA3DBLOCKDESC_NONE, 1118 { 2, 1, 1 }, 1119 4, 1120 4, 1121 { { 0 }, { 8 }, { 8 }, { 0 } }, 1122 { { 0 }, { 0 }, { 8 }, { 0 } } }, 1123 1124 { SVGA3D_G8R8_G8B8_UNORM, 1125 SVGA3DBLOCKDESC_NONE, 1126 { 2, 1, 1 }, 1127 4, 1128 4, 1129 { { 0 }, { 8 }, { 8 }, { 0 } }, 1130 { { 0 }, { 8 }, { 0 }, { 0 } } }, 1131 1132 { SVGA3D_BC1_TYPELESS, 1133 SVGA3DBLOCKDESC_BC1_COMP_TYPELESS, 1134 { 4, 4, 1 }, 1135 8, 1136 8, 1137 { { 0 }, { 0 }, { 64 }, { 0 } }, 1138 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1139 1140 { SVGA3D_BC1_UNORM_SRGB, 1141 SVGA3DBLOCKDESC_BC1_COMP_UNORM_SRGB, 1142 { 4, 4, 1 }, 1143 8, 1144 8, 1145 { { 0 }, { 0 }, { 64 }, { 0 } }, 1146 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1147 1148 { SVGA3D_BC2_TYPELESS, 1149 SVGA3DBLOCKDESC_BC2_COMP_TYPELESS, 1150 { 4, 4, 1 }, 1151 16, 1152 16, 1153 { { 0 }, { 0 }, { 128 }, { 0 } }, 1154 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1155 1156 { SVGA3D_BC2_UNORM_SRGB, 1157 SVGA3DBLOCKDESC_BC2_COMP_UNORM_SRGB, 1158 { 4, 4, 1 }, 1159 16, 1160 16, 1161 { { 0 }, { 0 }, { 128 }, { 0 } }, 1162 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1163 1164 { SVGA3D_BC3_TYPELESS, 1165 SVGA3DBLOCKDESC_BC3_COMP_TYPELESS, 1166 { 4, 4, 1 }, 1167 16, 1168 16, 1169 { { 0 }, { 0 }, { 128 }, { 0 } }, 1170 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1171 1172 { SVGA3D_BC3_UNORM_SRGB, 1173 SVGA3DBLOCKDESC_BC3_COMP_UNORM_SRGB, 1174 { 4, 4, 1 }, 1175 16, 1176 16, 1177 { { 0 }, { 0 }, { 128 }, { 0 } }, 1178 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1179 1180 { SVGA3D_BC4_TYPELESS, 1181 SVGA3DBLOCKDESC_BC4_COMP_TYPELESS, 1182 { 4, 4, 1 }, 1183 8, 1184 8, 1185 { { 0 }, { 0 }, { 64 }, { 0 } }, 1186 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1187 1188 { SVGA3D_ATI1, 1189 SVGA3DBLOCKDESC_BC4_COMP_UNORM, 1190 { 4, 4, 1 }, 1191 8, 1192 8, 1193 { { 0 }, { 0 }, { 64 }, { 0 } }, 1194 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1195 1196 { SVGA3D_BC4_SNORM, 1197 SVGA3DBLOCKDESC_BC4_COMP_SNORM, 1198 { 4, 4, 1 }, 1199 8, 1200 8, 1201 { { 0 }, { 0 }, { 64 }, { 0 } }, 1202 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1203 1204 { SVGA3D_BC5_TYPELESS, 1205 SVGA3DBLOCKDESC_BC5_COMP_TYPELESS, 1206 { 4, 4, 1 }, 1207 16, 1208 16, 1209 { { 0 }, { 0 }, { 128 }, { 0 } }, 1210 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1211 1212 { SVGA3D_ATI2, 1213 SVGA3DBLOCKDESC_BC5_COMP_UNORM, 1214 { 4, 4, 1 }, 1215 16, 1216 16, 1217 { { 0 }, { 0 }, { 128 }, { 0 } }, 1218 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1219 1220 { SVGA3D_BC5_SNORM, 1221 SVGA3DBLOCKDESC_BC5_COMP_SNORM, 1222 { 4, 4, 1 }, 1223 16, 1224 16, 1225 { { 0 }, { 0 }, { 128 }, { 0 } }, 1226 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1227 1228 { SVGA3D_R10G10B10_XR_BIAS_A2_UNORM, 1229 SVGA3DBLOCKDESC_RGBA_UNORM, 1230 { 1, 1, 1 }, 1231 4, 1232 4, 1233 { { 10 }, { 10 }, { 10 }, { 2 } }, 1234 { { 20 }, { 10 }, { 0 }, { 30 } } }, 1235 1236 { SVGA3D_B8G8R8A8_TYPELESS, 1237 SVGA3DBLOCKDESC_TYPELESS, 1238 { 1, 1, 1 }, 1239 4, 1240 4, 1241 { { 8 }, { 8 }, { 8 }, { 8 } }, 1242 { { 0 }, { 8 }, { 16 }, { 24 } } }, 1243 1244 { SVGA3D_B8G8R8A8_UNORM_SRGB, 1245 SVGA3DBLOCKDESC_RGBA_UNORM_SRGB, 1246 { 1, 1, 1 }, 1247 4, 1248 4, 1249 { { 8 }, { 8 }, { 8 }, { 8 } }, 1250 { { 0 }, { 8 }, { 16 }, { 24 } } }, 1251 1252 { SVGA3D_B8G8R8X8_TYPELESS, 1253 SVGA3DBLOCKDESC_TYPELESS, 1254 { 1, 1, 1 }, 1255 4, 1256 4, 1257 { { 8 }, { 8 }, { 8 }, { 0 } }, 1258 { { 0 }, { 8 }, { 16 }, { 24 } } }, 1259 1260 { SVGA3D_B8G8R8X8_UNORM_SRGB, 1261 SVGA3DBLOCKDESC_RGB_UNORM_SRGB, 1262 { 1, 1, 1 }, 1263 4, 1264 4, 1265 { { 8 }, { 8 }, { 8 }, { 0 } }, 1266 { { 0 }, { 8 }, { 16 }, { 24 } } }, 1267 1268 { SVGA3D_Z_DF16, 1269 SVGA3DBLOCKDESC_DEPTH_UNORM, 1270 { 1, 1, 1 }, 1271 2, 1272 2, 1273 { { 0 }, { 0 }, { 16 }, { 0 } }, 1274 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1275 1276 { SVGA3D_Z_DF24, 1277 SVGA3DBLOCKDESC_DEPTH_UNORM, 1278 { 1, 1, 1 }, 1279 4, 1280 4, 1281 { { 0 }, { 0 }, { 24 }, { 0 } }, 1282 { { 0 }, { 0 }, { 8 }, { 0 } } }, 1283 1284 { SVGA3D_Z_D24S8_INT, 1285 SVGA3DBLOCKDESC_DS_UNORM, 1286 { 1, 1, 1 }, 1287 4, 1288 4, 1289 { { 0 }, { 8 }, { 24 }, { 0 } }, 1290 { { 0 }, { 0 }, { 8 }, { 0 } } }, 1291 1292 { SVGA3D_YV12, 1293 SVGA3DBLOCKDESC_YV12, 1294 { 2, 2, 1 }, 1295 6, 1296 2, 1297 { { 0 }, { 0 }, { 48 }, { 0 } }, 1298 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1299 1300 { SVGA3D_R32G32B32A32_FLOAT, 1301 SVGA3DBLOCKDESC_RGBA_FP, 1302 { 1, 1, 1 }, 1303 16, 1304 16, 1305 { { 32 }, { 32 }, { 32 }, { 32 } }, 1306 { { 64 }, { 32 }, { 0 }, { 96 } } }, 1307 1308 { SVGA3D_R16G16B16A16_FLOAT, 1309 SVGA3DBLOCKDESC_RGBA_FP, 1310 { 1, 1, 1 }, 1311 8, 1312 8, 1313 { { 16 }, { 16 }, { 16 }, { 16 } }, 1314 { { 32 }, { 16 }, { 0 }, { 48 } } }, 1315 1316 { SVGA3D_R16G16B16A16_UNORM, 1317 SVGA3DBLOCKDESC_RGBA_UNORM, 1318 { 1, 1, 1 }, 1319 8, 1320 8, 1321 { { 16 }, { 16 }, { 16 }, { 16 } }, 1322 { { 32 }, { 16 }, { 0 }, { 48 } } }, 1323 1324 { SVGA3D_R32G32_FLOAT, 1325 SVGA3DBLOCKDESC_RG_FP, 1326 { 1, 1, 1 }, 1327 8, 1328 8, 1329 { { 0 }, { 32 }, { 32 }, { 0 } }, 1330 { { 0 }, { 32 }, { 0 }, { 0 } } }, 1331 1332 { SVGA3D_R10G10B10A2_UNORM, 1333 SVGA3DBLOCKDESC_RGBA_UNORM, 1334 { 1, 1, 1 }, 1335 4, 1336 4, 1337 { { 10 }, { 10 }, { 10 }, { 2 } }, 1338 { { 20 }, { 10 }, { 0 }, { 30 } } }, 1339 1340 { SVGA3D_R8G8B8A8_SNORM, 1341 SVGA3DBLOCKDESC_RGBA_SNORM, 1342 { 1, 1, 1 }, 1343 4, 1344 4, 1345 { { 8 }, { 8 }, { 8 }, { 8 } }, 1346 { { 16 }, { 8 }, { 0 }, { 24 } } }, 1347 1348 { SVGA3D_R16G16_FLOAT, 1349 SVGA3DBLOCKDESC_RG_FP, 1350 { 1, 1, 1 }, 1351 4, 1352 4, 1353 { { 0 }, { 16 }, { 16 }, { 0 } }, 1354 { { 0 }, { 16 }, { 0 }, { 0 } } }, 1355 1356 { SVGA3D_R16G16_UNORM, 1357 SVGA3DBLOCKDESC_RG_UNORM, 1358 { 1, 1, 1 }, 1359 4, 1360 4, 1361 { { 0 }, { 16 }, { 16 }, { 0 } }, 1362 { { 0 }, { 16 }, { 0 }, { 0 } } }, 1363 1364 { SVGA3D_R16G16_SNORM, 1365 SVGA3DBLOCKDESC_RG_SNORM, 1366 { 1, 1, 1 }, 1367 4, 1368 4, 1369 { { 0 }, { 16 }, { 16 }, { 0 } }, 1370 { { 0 }, { 16 }, { 0 }, { 0 } } }, 1371 1372 { SVGA3D_R32_FLOAT, 1373 SVGA3DBLOCKDESC_R_FP, 1374 { 1, 1, 1 }, 1375 4, 1376 4, 1377 { { 0 }, { 0 }, { 32 }, { 0 } }, 1378 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1379 1380 { SVGA3D_R8G8_SNORM, 1381 SVGA3DBLOCKDESC_RG_SNORM, 1382 { 1, 1, 1 }, 1383 2, 1384 2, 1385 { { 0 }, { 8 }, { 8 }, { 0 } }, 1386 { { 0 }, { 8 }, { 0 }, { 0 } } }, 1387 1388 { SVGA3D_R16_FLOAT, 1389 SVGA3DBLOCKDESC_R_FP, 1390 { 1, 1, 1 }, 1391 2, 1392 2, 1393 { { 0 }, { 0 }, { 16 }, { 0 } }, 1394 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1395 1396 { SVGA3D_D16_UNORM, 1397 SVGA3DBLOCKDESC_DEPTH_UNORM, 1398 { 1, 1, 1 }, 1399 2, 1400 2, 1401 { { 0 }, { 0 }, { 16 }, { 0 } }, 1402 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1403 1404 { SVGA3D_A8_UNORM, 1405 SVGA3DBLOCKDESC_A_UNORM, 1406 { 1, 1, 1 }, 1407 1, 1408 1, 1409 { { 0 }, { 0 }, { 0 }, { 8 } }, 1410 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1411 1412 { SVGA3D_BC1_UNORM, 1413 SVGA3DBLOCKDESC_BC1_COMP_UNORM, 1414 { 4, 4, 1 }, 1415 8, 1416 8, 1417 { { 0 }, { 0 }, { 64 }, { 0 } }, 1418 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1419 1420 { SVGA3D_BC2_UNORM, 1421 SVGA3DBLOCKDESC_BC2_COMP_UNORM, 1422 { 4, 4, 1 }, 1423 16, 1424 16, 1425 { { 0 }, { 0 }, { 128 }, { 0 } }, 1426 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1427 1428 { SVGA3D_BC3_UNORM, 1429 SVGA3DBLOCKDESC_BC3_COMP_UNORM, 1430 { 4, 4, 1 }, 1431 16, 1432 16, 1433 { { 0 }, { 0 }, { 128 }, { 0 } }, 1434 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1435 1436 { SVGA3D_B5G6R5_UNORM, 1437 SVGA3DBLOCKDESC_RGB_UNORM, 1438 { 1, 1, 1 }, 1439 2, 1440 2, 1441 { { 5 }, { 6 }, { 5 }, { 0 } }, 1442 { { 0 }, { 5 }, { 11 }, { 0 } } }, 1443 1444 { SVGA3D_B5G5R5A1_UNORM, 1445 SVGA3DBLOCKDESC_RGBA_UNORM, 1446 { 1, 1, 1 }, 1447 2, 1448 2, 1449 { { 5 }, { 5 }, { 5 }, { 1 } }, 1450 { { 0 }, { 5 }, { 10 }, { 15 } } }, 1451 1452 { SVGA3D_B8G8R8A8_UNORM, 1453 SVGA3DBLOCKDESC_RGBA_UNORM, 1454 { 1, 1, 1 }, 1455 4, 1456 4, 1457 { { 8 }, { 8 }, { 8 }, { 8 } }, 1458 { { 0 }, { 8 }, { 16 }, { 24 } } }, 1459 1460 { SVGA3D_B8G8R8X8_UNORM, 1461 SVGA3DBLOCKDESC_RGB_UNORM, 1462 { 1, 1, 1 }, 1463 4, 1464 4, 1465 { { 8 }, { 8 }, { 8 }, { 0 } }, 1466 { { 0 }, { 8 }, { 16 }, { 24 } } }, 1467 1468 { SVGA3D_BC4_UNORM, 1469 SVGA3DBLOCKDESC_BC4_COMP_UNORM, 1470 { 4, 4, 1 }, 1471 8, 1472 8, 1473 { { 0 }, { 0 }, { 64 }, { 0 } }, 1474 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1475 1476 { SVGA3D_BC5_UNORM, 1477 SVGA3DBLOCKDESC_BC5_COMP_UNORM, 1478 { 4, 4, 1 }, 1479 16, 1480 16, 1481 { { 0 }, { 0 }, { 128 }, { 0 } }, 1482 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1483 1484 { SVGA3D_B4G4R4A4_UNORM, 1485 SVGA3DBLOCKDESC_RGBA_UNORM, 1486 { 1, 1, 1 }, 1487 2, 1488 2, 1489 { { 4 }, { 4 }, { 4 }, { 4 } }, 1490 { { 0 }, { 4 }, { 8 }, { 12 } } }, 1491 1492 { SVGA3D_BC6H_TYPELESS, 1493 SVGA3DBLOCKDESC_BC6H_COMP_TYPELESS, 1494 { 4, 4, 1 }, 1495 16, 1496 16, 1497 { { 0 }, { 0 }, { 128 }, { 0 } }, 1498 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1499 1500 { SVGA3D_BC6H_UF16, 1501 SVGA3DBLOCKDESC_BC6H_COMP_UF16, 1502 { 4, 4, 1 }, 1503 16, 1504 16, 1505 { { 0 }, { 0 }, { 128 }, { 0 } }, 1506 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1507 1508 { SVGA3D_BC6H_SF16, 1509 SVGA3DBLOCKDESC_BC6H_COMP_SF16, 1510 { 4, 4, 1 }, 1511 16, 1512 16, 1513 { { 0 }, { 0 }, { 128 }, { 0 } }, 1514 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1515 1516 { SVGA3D_BC7_TYPELESS, 1517 SVGA3DBLOCKDESC_BC7_COMP_TYPELESS, 1518 { 4, 4, 1 }, 1519 16, 1520 16, 1521 { { 0 }, { 0 }, { 128 }, { 0 } }, 1522 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1523 1524 { SVGA3D_BC7_UNORM, 1525 SVGA3DBLOCKDESC_BC7_COMP_UNORM, 1526 { 4, 4, 1 }, 1527 16, 1528 16, 1529 { { 0 }, { 0 }, { 128 }, { 0 } }, 1530 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1531 1532 { SVGA3D_BC7_UNORM_SRGB, 1533 SVGA3DBLOCKDESC_BC7_COMP_UNORM_SRGB, 1534 { 4, 4, 1 }, 1535 16, 1536 16, 1537 { { 0 }, { 0 }, { 128 }, { 0 } }, 1538 { { 0 }, { 0 }, { 0 }, { 0 } } }, 1539 1540 { SVGA3D_AYUV, 1541 SVGA3DBLOCKDESC_AYUV, 1542 { 1, 1, 1 }, 1543 4, 1544 4, 1545 { { 8 }, { 8 }, { 8 }, { 8 } }, 1546 { { 0 }, { 8 }, { 16 }, { 24 } } }, 1547 1548 { SVGA3D_R11G11B10_TYPELESS, 1549 SVGA3DBLOCKDESC_TYPELESS, 1550 { 1, 1, 1 }, 1551 4, 1552 4, 1553 { { 10 }, { 11 }, { 11 }, { 0 } }, 1554 { { 22 }, { 11 }, { 0 }, { 0 } } }, 1555 }; 1556 1557 #ifdef __cplusplus 1558 } 1559 #endif 1560 1561 #endif 1562