Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. /*
  2.  * Copyright 2011 Joakim Sindholt <opensource@zhasha.com>
  3.  *
  4.  * Permission is hereby granted, free of charge, to any person obtaining a
  5.  * copy of this software and associated documentation files (the "Software"),
  6.  * to deal in the Software without restriction, including without limitation
  7.  * on the rights to use, copy, modify, merge, publish, distribute, sub
  8.  * license, and/or sell copies of the Software, and to permit persons to whom
  9.  * the Software is furnished to do so, subject to the following conditions:
  10.  *
  11.  * The above copyright notice and this permission notice (including the next
  12.  * paragraph) shall be included in all copies or substantial portions of the
  13.  * Software.
  14.  *
  15.  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  16.  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  17.  * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
  18.  * THE AUTHOR(S) AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
  19.  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  20.  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  21.  * USE OR OTHER DEALINGS IN THE SOFTWARE. */
  22.  
  23. #ifndef _D3D9CAPS_H_
  24. #define _D3D9CAPS_H_
  25.  
  26. #include "d3d9types.h"
  27.  
  28. /* Caps flags */
  29. #define D3DCAPS2_FULLSCREENGAMMA   0x00020000
  30. #define D3DCAPS2_CANCALIBRATEGAMMA 0x00100000
  31. #define D3DCAPS2_RESERVED          0x02000000
  32. #define D3DCAPS2_CANMANAGERESOURCE 0x10000000
  33. #define D3DCAPS2_DYNAMICTEXTURES   0x20000000
  34. #define D3DCAPS2_CANAUTOGENMIPMAP  0x40000000
  35. #define D3DCAPS2_CANSHARERESOURCE  0x80000000
  36.  
  37. #define D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD 0x00000020
  38. #define D3DCAPS3_LINEAR_TO_SRGB_PRESENTATION      0x00000080
  39. #define D3DCAPS3_COPY_TO_VIDMEM                   0x00000100
  40. #define D3DCAPS3_COPY_TO_SYSTEMMEM                0x00000200
  41. #define D3DCAPS3_DXVAHD                           0x00000400
  42. #define D3DCAPS3_RESERVED                         0x8000001F
  43.  
  44. #define D3DPRESENT_INTERVAL_DEFAULT   0x00000000
  45. #define D3DPRESENT_INTERVAL_ONE       0x00000001
  46. #define D3DPRESENT_INTERVAL_TWO       0x00000002
  47. #define D3DPRESENT_INTERVAL_THREE     0x00000004
  48. #define D3DPRESENT_INTERVAL_FOUR      0x00000008
  49. #define D3DPRESENT_INTERVAL_IMMEDIATE 0x80000000
  50.  
  51. #define D3DCURSORCAPS_COLOR  0x00000001
  52. #define D3DCURSORCAPS_LOWRES 0x00000002
  53.  
  54. #define D3DDEVCAPS_EXECUTESYSTEMMEMORY     0x00000010
  55. #define D3DDEVCAPS_EXECUTEVIDEOMEMORY      0x00000020
  56. #define D3DDEVCAPS_TLVERTEXSYSTEMMEMORY    0x00000040
  57. #define D3DDEVCAPS_TLVERTEXVIDEOMEMORY     0x00000080
  58. #define D3DDEVCAPS_TEXTURESYSTEMMEMORY     0x00000100
  59. #define D3DDEVCAPS_TEXTUREVIDEOMEMORY      0x00000200
  60. #define D3DDEVCAPS_DRAWPRIMTLVERTEX        0x00000400
  61. #define D3DDEVCAPS_CANRENDERAFTERFLIP      0x00000800
  62. #define D3DDEVCAPS_TEXTURENONLOCALVIDMEM   0x00001000
  63. #define D3DDEVCAPS_DRAWPRIMITIVES2         0x00002000
  64. #define D3DDEVCAPS_SEPARATETEXTUREMEMORIES 0x00004000
  65. #define D3DDEVCAPS_DRAWPRIMITIVES2EX       0x00008000
  66. #define D3DDEVCAPS_HWTRANSFORMANDLIGHT     0x00010000
  67. #define D3DDEVCAPS_CANBLTSYSTONONLOCAL     0x00020000
  68. #define D3DDEVCAPS_HWRASTERIZATION         0x00080000
  69. #define D3DDEVCAPS_PUREDEVICE              0x00100000
  70. #define D3DDEVCAPS_QUINTICRTPATCHES        0x00200000
  71. #define D3DDEVCAPS_RTPATCHES               0x00400000
  72. #define D3DDEVCAPS_RTPATCHHANDLEZERO       0x00800000
  73. #define D3DDEVCAPS_NPATCHES                0x01000000
  74.  
  75. #define D3DPMISCCAPS_MASKZ                      0x00000002
  76. #define D3DPMISCCAPS_CULLNONE                   0x00000010
  77. #define D3DPMISCCAPS_CULLCW                     0x00000020
  78. #define D3DPMISCCAPS_CULLCCW                    0x00000040
  79. #define D3DPMISCCAPS_COLORWRITEENABLE           0x00000080
  80. #define D3DPMISCCAPS_CLIPPLANESCALEDPOINTS      0x00000100
  81. #define D3DPMISCCAPS_CLIPTLVERTS                0x00000200
  82. #define D3DPMISCCAPS_TSSARGTEMP                 0x00000400
  83. #define D3DPMISCCAPS_BLENDOP                    0x00000800
  84. #define D3DPMISCCAPS_NULLREFERENCE              0x00001000
  85. #define D3DPMISCCAPS_INDEPENDENTWRITEMASKS      0x00004000
  86. #define D3DPMISCCAPS_PERSTAGECONSTANT           0x00008000
  87. #define D3DPMISCCAPS_FOGANDSPECULARALPHA        0x00010000
  88. #define D3DPMISCCAPS_SEPARATEALPHABLEND         0x00020000
  89. #define D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS    0x00040000
  90. #define D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING 0x00080000
  91. #define D3DPMISCCAPS_FOGVERTEXCLAMPED           0x00100000
  92. #define D3DPMISCCAPS_POSTBLENDSRGBCONVERT       0x00200000
  93.  
  94. #define D3DPRASTERCAPS_DITHER              0x00000001
  95. #define D3DPRASTERCAPS_ZTEST               0x00000010
  96. #define D3DPRASTERCAPS_FOGVERTEX           0x00000080
  97. #define D3DPRASTERCAPS_FOGTABLE            0x00000100
  98. #define D3DPRASTERCAPS_MIPMAPLODBIAS       0x00002000
  99. #define D3DPRASTERCAPS_ZBUFFERLESSHSR      0x00008000
  100. #define D3DPRASTERCAPS_FOGRANGE            0x00010000
  101. #define D3DPRASTERCAPS_ANISOTROPY          0x00020000
  102. #define D3DPRASTERCAPS_WBUFFER             0x00040000
  103. #define D3DPRASTERCAPS_WFOG                0x00100000
  104. #define D3DPRASTERCAPS_ZFOG                0x00200000
  105. #define D3DPRASTERCAPS_COLORPERSPECTIVE    0x00400000
  106. #define D3DPRASTERCAPS_SCISSORTEST         0x01000000
  107. #define D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS 0x02000000
  108. #define D3DPRASTERCAPS_DEPTHBIAS           0x04000000
  109. #define D3DPRASTERCAPS_MULTISAMPLE_TOGGLE  0x08000000
  110.  
  111. #define D3DPCMPCAPS_NEVER        0x00000001
  112. #define D3DPCMPCAPS_LESS         0x00000002
  113. #define D3DPCMPCAPS_EQUAL        0x00000004
  114. #define D3DPCMPCAPS_LESSEQUAL    0x00000008
  115. #define D3DPCMPCAPS_GREATER      0x00000010
  116. #define D3DPCMPCAPS_NOTEQUAL     0x00000020
  117. #define D3DPCMPCAPS_GREATEREQUAL 0x00000040
  118. #define D3DPCMPCAPS_ALWAYS       0x00000080
  119.  
  120. #define D3DPBLENDCAPS_ZERO            0x00000001
  121. #define D3DPBLENDCAPS_ONE             0x00000002
  122. #define D3DPBLENDCAPS_SRCCOLOR        0x00000004
  123. #define D3DPBLENDCAPS_INVSRCCOLOR     0x00000008
  124. #define D3DPBLENDCAPS_SRCALPHA        0x00000010
  125. #define D3DPBLENDCAPS_INVSRCALPHA     0x00000020
  126. #define D3DPBLENDCAPS_DESTALPHA       0x00000040
  127. #define D3DPBLENDCAPS_INVDESTALPHA    0x00000080
  128. #define D3DPBLENDCAPS_DESTCOLOR       0x00000100
  129. #define D3DPBLENDCAPS_INVDESTCOLOR    0x00000200
  130. #define D3DPBLENDCAPS_SRCALPHASAT     0x00000400
  131. #define D3DPBLENDCAPS_BOTHSRCALPHA    0x00000800
  132. #define D3DPBLENDCAPS_BOTHINVSRCALPHA 0x00001000
  133. #define D3DPBLENDCAPS_BLENDFACTOR     0x00002000
  134. #ifndef D3D_DISABLE_9EX
  135. # define D3DPBLENDCAPS_SRCCOLOR2      0x00004000
  136. # define D3DPBLENDCAPS_INVSRCCOLOR2   0x00008000
  137. #endif
  138.  
  139. #define D3DPSHADECAPS_COLORGOURAUDRGB    0x00000008
  140. #define D3DPSHADECAPS_SPECULARGOURAUDRGB 0x00000200
  141. #define D3DPSHADECAPS_ALPHAGOURAUDBLEND  0x00004000
  142. #define D3DPSHADECAPS_FOGGOURAUD         0x00080000
  143.  
  144. #define D3DPTEXTURECAPS_PERSPECTIVE              0x00000001
  145. #define D3DPTEXTURECAPS_POW2                     0x00000002
  146. #define D3DPTEXTURECAPS_ALPHA                    0x00000004
  147. #define D3DPTEXTURECAPS_SQUAREONLY               0x00000020
  148. #define D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE 0x00000040
  149. #define D3DPTEXTURECAPS_ALPHAPALETTE             0x00000080
  150. #define D3DPTEXTURECAPS_NONPOW2CONDITIONAL       0x00000100
  151. #define D3DPTEXTURECAPS_PROJECTED                0x00000400
  152. #define D3DPTEXTURECAPS_CUBEMAP                  0x00000800
  153. #define D3DPTEXTURECAPS_VOLUMEMAP                0x00002000
  154. #define D3DPTEXTURECAPS_MIPMAP                   0x00004000
  155. #define D3DPTEXTURECAPS_MIPVOLUMEMAP             0x00008000
  156. #define D3DPTEXTURECAPS_MIPCUBEMAP               0x00010000
  157. #define D3DPTEXTURECAPS_CUBEMAP_POW2             0x00020000
  158. #define D3DPTEXTURECAPS_VOLUMEMAP_POW2           0x00040000
  159. #define D3DPTEXTURECAPS_NOPROJECTEDBUMPENV       0x00200000
  160.  
  161. #define D3DPTFILTERCAPS_MINFPOINT         0x00000100
  162. #define D3DPTFILTERCAPS_MINFLINEAR        0x00000200
  163. #define D3DPTFILTERCAPS_MINFANISOTROPIC   0x00000400
  164. #define D3DPTFILTERCAPS_MINFPYRAMIDALQUAD 0x00000800
  165. #define D3DPTFILTERCAPS_MINFGAUSSIANQUAD  0x00001000
  166. #define D3DPTFILTERCAPS_MIPFPOINT         0x00010000
  167. #define D3DPTFILTERCAPS_MIPFLINEAR        0x00020000
  168. #define D3DPTFILTERCAPS_MAGFPOINT         0x01000000
  169. #define D3DPTFILTERCAPS_MAGFLINEAR        0x02000000
  170. #define D3DPTFILTERCAPS_MAGFANISOTROPIC   0x04000000
  171. #define D3DPTFILTERCAPS_MAGFPYRAMIDALQUAD 0x08000000
  172. #define D3DPTFILTERCAPS_MAGFGAUSSIANQUAD  0x10000000
  173.  
  174. #define D3DPTADDRESSCAPS_WRAP          0x00000001
  175. #define D3DPTADDRESSCAPS_MIRROR        0x00000002
  176. #define D3DPTADDRESSCAPS_CLAMP         0x00000004
  177. #define D3DPTADDRESSCAPS_BORDER        0x00000008
  178. #define D3DPTADDRESSCAPS_INDEPENDENTUV 0x00000010
  179. #define D3DPTADDRESSCAPS_MIRRORONCE    0x00000020
  180.  
  181. #define D3DLINECAPS_TEXTURE   0x00000001
  182. #define D3DLINECAPS_ZTEST     0x00000002
  183. #define D3DLINECAPS_BLEND     0x00000004
  184. #define D3DLINECAPS_ALPHACMP  0x00000008
  185. #define D3DLINECAPS_FOG       0x00000010
  186. #define D3DLINECAPS_ANTIALIAS 0x00000020
  187.  
  188. #define D3DSTENCILCAPS_KEEP     0x00000001
  189. #define D3DSTENCILCAPS_ZERO     0x00000002
  190. #define D3DSTENCILCAPS_REPLACE  0x00000004
  191. #define D3DSTENCILCAPS_INCRSAT  0x00000008
  192. #define D3DSTENCILCAPS_DECRSAT  0x00000010
  193. #define D3DSTENCILCAPS_INVERT   0x00000020
  194. #define D3DSTENCILCAPS_INCR     0x00000040
  195. #define D3DSTENCILCAPS_DECR     0x00000080
  196. #define D3DSTENCILCAPS_TWOSIDED 0x00000100
  197.  
  198. #define D3DFVFCAPS_TEXCOORDCOUNTMASK  0x0000FFFF
  199. #define D3DFVFCAPS_DONOTSTRIPELEMENTS 0x00080000
  200. #define D3DFVFCAPS_PSIZE              0x00100000
  201.  
  202. #define D3DTEXOPCAPS_DISABLE                   0x00000001
  203. #define D3DTEXOPCAPS_SELECTARG1                0x00000002
  204. #define D3DTEXOPCAPS_SELECTARG2                0x00000004
  205. #define D3DTEXOPCAPS_MODULATE                  0x00000008
  206. #define D3DTEXOPCAPS_MODULATE2X                0x00000010
  207. #define D3DTEXOPCAPS_MODULATE4X                0x00000020
  208. #define D3DTEXOPCAPS_ADD                       0x00000040
  209. #define D3DTEXOPCAPS_ADDSIGNED                 0x00000080
  210. #define D3DTEXOPCAPS_ADDSIGNED2X               0x00000100
  211. #define D3DTEXOPCAPS_SUBTRACT                  0x00000200
  212. #define D3DTEXOPCAPS_ADDSMOOTH                 0x00000400
  213. #define D3DTEXOPCAPS_BLENDDIFFUSEALPHA         0x00000800
  214. #define D3DTEXOPCAPS_BLENDTEXTUREALPHA         0x00001000
  215. #define D3DTEXOPCAPS_BLENDFACTORALPHA          0x00002000
  216. #define D3DTEXOPCAPS_BLENDTEXTUREALPHAPM       0x00004000
  217. #define D3DTEXOPCAPS_BLENDCURRENTALPHA         0x00008000
  218. #define D3DTEXOPCAPS_PREMODULATE               0x00010000
  219. #define D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR    0x00020000
  220. #define D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA    0x00040000
  221. #define D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR 0x00080000
  222. #define D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA 0x00100000
  223. #define D3DTEXOPCAPS_BUMPENVMAP                0x00200000
  224. #define D3DTEXOPCAPS_BUMPENVMAPLUMINANCE       0x00400000
  225. #define D3DTEXOPCAPS_DOTPRODUCT3               0x00800000
  226. #define D3DTEXOPCAPS_MULTIPLYADD               0x01000000
  227. #define D3DTEXOPCAPS_LERP                      0x02000000
  228.  
  229. #define D3DVTXPCAPS_TEXGEN                   0x00000001
  230. #define D3DVTXPCAPS_MATERIALSOURCE7          0x00000002
  231. #define D3DVTXPCAPS_DIRECTIONALLIGHTS        0x00000008
  232. #define D3DVTXPCAPS_POSITIONALLIGHTS         0x00000010
  233. #define D3DVTXPCAPS_LOCALVIEWER              0x00000020
  234. #define D3DVTXPCAPS_TWEENING                 0x00000040
  235. #define D3DVTXPCAPS_TEXGEN_SPHEREMAP         0x00000100
  236. #define D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER 0x00000200
  237.  
  238. #define D3DDEVCAPS2_STREAMOFFSET                       0x00000001
  239. #define D3DDEVCAPS2_DMAPNPATCH                         0x00000002
  240. #define D3DDEVCAPS2_ADAPTIVETESSRTPATCH                0x00000004
  241. #define D3DDEVCAPS2_ADAPTIVETESSNPATCH                 0x00000008
  242. #define D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES      0x00000010
  243. #define D3DDEVCAPS2_PRESAMPLEDDMAPNPATCH               0x00000020
  244. #define D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET 0x00000040
  245.  
  246. #define D3DDTCAPS_UBYTE4    0x00000001
  247. #define D3DDTCAPS_UBYTE4N   0x00000002
  248. #define D3DDTCAPS_SHORT2N   0x00000004
  249. #define D3DDTCAPS_SHORT4N   0x00000008
  250. #define D3DDTCAPS_USHORT2N  0x00000010
  251. #define D3DDTCAPS_USHORT4N  0x00000020
  252. #define D3DDTCAPS_UDEC3     0x00000040
  253. #define D3DDTCAPS_DEC3N     0x00000080
  254. #define D3DDTCAPS_FLOAT16_2 0x00000100
  255. #define D3DDTCAPS_FLOAT16_4 0x00000200
  256.  
  257.  
  258. #define D3DVS20_MAX_DYNAMICFLOWCONTROLDEPTH  24
  259. #define D3DVS20_MIN_DYNAMICFLOWCONTROLDEPTH  0
  260. #define D3DVS20_MAX_NUMTEMPS                 32
  261. #define D3DVS20_MIN_NUMTEMPS                 12
  262. #define D3DVS20_MAX_STATICFLOWCONTROLDEPTH   4
  263. #define D3DVS20_MIN_STATICFLOWCONTROLDEPTH   1
  264.  
  265. #define D3DVS20CAPS_PREDICATION              (1 << 0)
  266.  
  267. #define D3DPS20CAPS_ARBITRARYSWIZZLE         (1 << 0)
  268. #define D3DPS20CAPS_GRADIENTINSTRUCTIONS     (1 << 1)
  269. #define D3DPS20CAPS_PREDICATION              (1 << 2)
  270. #define D3DPS20CAPS_NODEPENDENTREADLIMIT     (1 << 3)
  271. #define D3DPS20CAPS_NOTEXINSTRUCTIONLIMIT    (1 << 4)
  272.  
  273. #define D3DPS20_MAX_DYNAMICFLOWCONTROLDEPTH  24
  274. #define D3DPS20_MIN_DYNAMICFLOWCONTROLDEPTH  0
  275. #define D3DPS20_MAX_NUMTEMPS                 32
  276. #define D3DPS20_MIN_NUMTEMPS                 12
  277. #define D3DPS20_MAX_STATICFLOWCONTROLDEPTH   4
  278. #define D3DPS20_MIN_STATICFLOWCONTROLDEPTH   0
  279. #define D3DPS20_MAX_NUMINSTRUCTIONSLOTS      512
  280. #define D3DPS20_MIN_NUMINSTRUCTIONSLOTS      96
  281.  
  282. #define D3DMIN30SHADERINSTRUCTIONS          512
  283. #define D3DMAX30SHADERINSTRUCTIONS          32768
  284.  
  285. /* Structs */
  286. typedef struct _D3DVSHADERCAPS2_0 {
  287.         DWORD Caps;
  288.         INT DynamicFlowControlDepth;
  289.         INT NumTemps;
  290.         INT StaticFlowControlDepth;
  291. } D3DVSHADERCAPS2_0, *PD3DVSHADERCAPS2_0, *LPD3DVSHADERCAPS2_0;
  292.  
  293. typedef struct _D3DPSHADERCAPS2_0 {
  294.         DWORD Caps;
  295.         INT DynamicFlowControlDepth;
  296.         INT NumTemps;
  297.         INT StaticFlowControlDepth;
  298.         INT NumInstructionSlots;
  299. } D3DPSHADERCAPS2_0, *PD3DPSHADERCAPS2_0, *LPD3DPSHADERCAPS2_0;
  300.  
  301. typedef struct _D3DCAPS9 {
  302.         D3DDEVTYPE DeviceType;
  303.         UINT AdapterOrdinal;
  304.         DWORD Caps;
  305.         DWORD Caps2;
  306.         DWORD Caps3;
  307.         DWORD PresentationIntervals;
  308.         DWORD CursorCaps;
  309.         DWORD DevCaps;
  310.         DWORD PrimitiveMiscCaps;
  311.         DWORD RasterCaps;
  312.         DWORD ZCmpCaps;
  313.         DWORD SrcBlendCaps;
  314.         DWORD DestBlendCaps;
  315.         DWORD AlphaCmpCaps;
  316.         DWORD ShadeCaps;
  317.         DWORD TextureCaps;
  318.         DWORD TextureFilterCaps;
  319.         DWORD CubeTextureFilterCaps;
  320.         DWORD VolumeTextureFilterCaps;
  321.         DWORD TextureAddressCaps;
  322.         DWORD VolumeTextureAddressCaps;
  323.         DWORD LineCaps;
  324.         DWORD MaxTextureWidth;
  325.         DWORD MaxTextureHeight;
  326.         DWORD MaxVolumeExtent;
  327.         DWORD MaxTextureRepeat;
  328.         DWORD MaxTextureAspectRatio;
  329.         DWORD MaxAnisotropy;
  330.         float MaxVertexW;
  331.         float GuardBandLeft;
  332.         float GuardBandTop;
  333.         float GuardBandRight;
  334.         float GuardBandBottom;
  335.         float ExtentsAdjust;
  336.         DWORD StencilCaps;
  337.         DWORD FVFCaps;
  338.         DWORD TextureOpCaps;
  339.         DWORD MaxTextureBlendStages;
  340.         DWORD MaxSimultaneousTextures;
  341.         DWORD VertexProcessingCaps;
  342.         DWORD MaxActiveLights;
  343.         DWORD MaxUserClipPlanes;
  344.         DWORD MaxVertexBlendMatrices;
  345.         DWORD MaxVertexBlendMatrixIndex;
  346.         float MaxPointSize;
  347.         DWORD MaxPrimitiveCount;
  348.         DWORD MaxVertexIndex;
  349.         DWORD MaxStreams;
  350.         DWORD MaxStreamStride;
  351.         DWORD VertexShaderVersion;
  352.         DWORD MaxVertexShaderConst;
  353.         DWORD PixelShaderVersion;
  354.         float PixelShader1xMaxValue;
  355.         DWORD DevCaps2;
  356.         float MaxNpatchTessellationLevel;
  357.         DWORD Reserved5;
  358.         UINT MasterAdapterOrdinal;
  359.         UINT AdapterOrdinalInGroup;
  360.         UINT NumberOfAdaptersInGroup;
  361.         DWORD DeclTypes;
  362.         DWORD NumSimultaneousRTs;
  363.         DWORD StretchRectFilterCaps;
  364.         D3DVSHADERCAPS2_0 VS20Caps;
  365.         D3DPSHADERCAPS2_0 PS20Caps;
  366.         DWORD VertexTextureFilterCaps;
  367.         DWORD MaxVShaderInstructionsExecuted;
  368.         DWORD MaxPShaderInstructionsExecuted;
  369.         DWORD MaxVertexShader30InstructionSlots;
  370.         DWORD MaxPixelShader30InstructionSlots;
  371. } D3DCAPS9, *PD3DCAPS9, *LPD3DCAPS9;
  372.  
  373. typedef struct _D3DCONTENTPROTECTIONCAPS {
  374.     DWORD Caps;
  375.     GUID KeyExchangeType;
  376.     UINT BufferAlignmentStart;
  377.     UINT BlockAlignmentSize;
  378.     ULONGLONG ProtectedMemorySize;
  379. } D3DCONTENTPROTECTIONCAPS, *PD3DCONTENTPROTECTIONCAPS, *LPD3DCONTENTPROTECTIONCAPS;
  380.  
  381. typedef struct _D3DOVERLAYCAPS {
  382.     UINT Caps;
  383.     UINT MaxOverlayDisplayWidth;
  384.     UINT MaxOverlayDisplayHeight;
  385. } D3DOVERLAYCAPS, *PD3DOVERLAYCAPS, *LPD3DOVERLAYCAPS;
  386.  
  387. #endif /* _D3D9CAPS_H_ */
  388.