svga3d_surfacedefs.h 34 KB

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