1562 lines · c
1/**********************************************************2 * Copyright 2008-2021 VMware, Inc.3 * SPDX-License-Identifier: GPL-2.0 OR MIT4 *5 * Permission is hereby granted, free of charge, to any person6 * obtaining a copy of this software and associated documentation7 * files (the "Software"), to deal in the Software without8 * restriction, including without limitation the rights to use, copy,9 * modify, merge, publish, distribute, sublicense, and/or sell copies10 * of the Software, and to permit persons to whom the Software is11 * furnished to do so, subject to the following conditions:12 *13 * The above copyright notice and this permission notice shall be14 * 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 OF18 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND19 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS20 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN21 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN22 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE23 * 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 __cplusplus41extern "C" {42#endif43 44struct SVGAUseCaps;45 46#if defined(_WIN32) && !defined(__GNUC__)47 48#define STATIC_CONST __declspec(selectany) extern const49#else50#define STATIC_CONST static const51#endif52 53typedef 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 282typedef 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 311typedef 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 323STATIC_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 __cplusplus1558}1559#endif1560 1561#endif1562