1 /* 2 * Copyright (C) 2002-2003 Jason Edmeades 3 * Raphael Junqueira 4 * 5 * This library is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Lesser General Public 7 * License as published by the Free Software Foundation; either 8 * version 2.1 of the License, or (at your option) any later version. 9 * 10 * This library is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public 16 * License along with this library; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 18 */ 19 20 #ifndef __WINE_D3D9CAPS_H 21 #define __WINE_D3D9CAPS_H 22 23 #ifdef __i386__ 24 #include <pshpack4.h> 25 #endif 26 27 /* 28 * Definitions 29 */ 30 #define D3DCAPS_OVERLAY __MSABI_LONG(0x00000800) 31 #define D3DCAPS_READ_SCANLINE __MSABI_LONG(0x00020000) 32 33 #define D3DCURSORCAPS_COLOR 1 34 #define D3DCURSORCAPS_LOWRES 2 35 36 37 #define D3DDEVCAPS2_STREAMOFFSET __MSABI_LONG(0x00000001) 38 #define D3DDEVCAPS2_DMAPNPATCH __MSABI_LONG(0x00000002) 39 #define D3DDEVCAPS2_ADAPTIVETESSRTPATCH __MSABI_LONG(0x00000004) 40 #define D3DDEVCAPS2_ADAPTIVETESSNPATCH __MSABI_LONG(0x00000008) 41 #define D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES __MSABI_LONG(0x00000010) 42 #define D3DDEVCAPS2_PRESAMPLEDDMAPNPATCH __MSABI_LONG(0x00000020) 43 #define D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET __MSABI_LONG(0x00000040) 44 45 #define D3DDEVCAPS_EXECUTESYSTEMMEMORY 0x0000010 46 #define D3DDEVCAPS_EXECUTEVIDEOMEMORY 0x0000020 47 #define D3DDEVCAPS_TLVERTEXSYSTEMMEMORY 0x0000040 48 #define D3DDEVCAPS_TLVERTEXVIDEOMEMORY 0x0000080 49 #define D3DDEVCAPS_TEXTURESYSTEMMEMORY 0x0000100 50 #define D3DDEVCAPS_TEXTUREVIDEOMEMORY 0x0000200 51 #define D3DDEVCAPS_DRAWPRIMTLVERTEX 0x0000400 52 #define D3DDEVCAPS_CANRENDERAFTERFLIP 0x0000800 53 #define D3DDEVCAPS_TEXTURENONLOCALVIDMEM 0x0001000 54 #define D3DDEVCAPS_DRAWPRIMITIVES2 0x0002000 55 #define D3DDEVCAPS_SEPARATETEXTUREMEMORIES 0x0004000 56 #define D3DDEVCAPS_DRAWPRIMITIVES2EX 0x0008000 57 #define D3DDEVCAPS_HWTRANSFORMANDLIGHT 0x0010000 58 #define D3DDEVCAPS_CANBLTSYSTONONLOCAL 0x0020000 59 #define D3DDEVCAPS_HWRASTERIZATION 0x0080000 60 #define D3DDEVCAPS_PUREDEVICE 0x0100000 61 #define D3DDEVCAPS_QUINTICRTPATCHES 0x0200000 62 #define D3DDEVCAPS_RTPATCHES 0x0400000 63 #define D3DDEVCAPS_RTPATCHHANDLEZERO 0x0800000 64 #define D3DDEVCAPS_NPATCHES 0x1000000 65 66 #define D3DFVFCAPS_TEXCOORDCOUNTMASK 0x00FFFF 67 #define D3DFVFCAPS_DONOTSTRIPELEMENTS 0x080000 68 #define D3DFVFCAPS_PSIZE 0x100000 69 70 #define D3DLINECAPS_TEXTURE 0x01 71 #define D3DLINECAPS_ZTEST 0x02 72 #define D3DLINECAPS_BLEND 0x04 73 #define D3DLINECAPS_ALPHACMP 0x08 74 #define D3DLINECAPS_FOG 0x10 75 #define D3DLINECAPS_ANTIALIAS 0x20 76 77 #define D3DPBLENDCAPS_ZERO __MSABI_LONG(0x00000001) 78 #define D3DPBLENDCAPS_ONE __MSABI_LONG(0x00000002) 79 #define D3DPBLENDCAPS_SRCCOLOR __MSABI_LONG(0x00000004) 80 #define D3DPBLENDCAPS_INVSRCCOLOR __MSABI_LONG(0x00000008) 81 #define D3DPBLENDCAPS_SRCALPHA __MSABI_LONG(0x00000010) 82 #define D3DPBLENDCAPS_INVSRCALPHA __MSABI_LONG(0x00000020) 83 #define D3DPBLENDCAPS_DESTALPHA __MSABI_LONG(0x00000040) 84 #define D3DPBLENDCAPS_INVDESTALPHA __MSABI_LONG(0x00000080) 85 #define D3DPBLENDCAPS_DESTCOLOR __MSABI_LONG(0x00000100) 86 #define D3DPBLENDCAPS_INVDESTCOLOR __MSABI_LONG(0x00000200) 87 #define D3DPBLENDCAPS_SRCALPHASAT __MSABI_LONG(0x00000400) 88 #define D3DPBLENDCAPS_BOTHSRCALPHA __MSABI_LONG(0x00000800) 89 #define D3DPBLENDCAPS_BOTHINVSRCALPHA __MSABI_LONG(0x00001000) 90 #define D3DPBLENDCAPS_BLENDFACTOR __MSABI_LONG(0x00002000) 91 #ifndef D3D_DISABLE_9EX 92 #define D3DPBLENDCAPS_SRCCOLOR2 __MSABI_LONG(0x00004000) 93 #define D3DPBLENDCAPS_INVSRCCOLOR2 __MSABI_LONG(0x00008000) 94 #endif 95 96 #define D3DPCMPCAPS_NEVER 0x01 97 #define D3DPCMPCAPS_LESS 0x02 98 #define D3DPCMPCAPS_EQUAL 0x04 99 #define D3DPCMPCAPS_LESSEQUAL 0x08 100 #define D3DPCMPCAPS_GREATER 0x10 101 #define D3DPCMPCAPS_NOTEQUAL 0x20 102 #define D3DPCMPCAPS_GREATEREQUAL 0x40 103 #define D3DPCMPCAPS_ALWAYS 0x80 104 105 #define D3DPMISCCAPS_MASKZ __MSABI_LONG(0x00000002) 106 #define D3DPMISCCAPS_LINEPATTERNREP __MSABI_LONG(0x00000004) 107 #define D3DPMISCCAPS_CULLNONE __MSABI_LONG(0x00000010) 108 #define D3DPMISCCAPS_CULLCW __MSABI_LONG(0x00000020) 109 #define D3DPMISCCAPS_CULLCCW __MSABI_LONG(0x00000040) 110 #define D3DPMISCCAPS_COLORWRITEENABLE __MSABI_LONG(0x00000080) 111 #define D3DPMISCCAPS_CLIPPLANESCALEDPOINTS __MSABI_LONG(0x00000100) 112 #define D3DPMISCCAPS_CLIPTLVERTS __MSABI_LONG(0x00000200) 113 #define D3DPMISCCAPS_TSSARGTEMP __MSABI_LONG(0x00000400) 114 #define D3DPMISCCAPS_BLENDOP __MSABI_LONG(0x00000800) 115 #define D3DPMISCCAPS_NULLREFERENCE __MSABI_LONG(0x00001000) 116 #define D3DPMISCCAPS_INDEPENDENTWRITEMASKS __MSABI_LONG(0x00004000) 117 #define D3DPMISCCAPS_PERSTAGECONSTANT __MSABI_LONG(0x00008000) 118 #define D3DPMISCCAPS_FOGANDSPECULARALPHA __MSABI_LONG(0x00010000) 119 #define D3DPMISCCAPS_SEPARATEALPHABLEND __MSABI_LONG(0x00020000) 120 #define D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS __MSABI_LONG(0x00040000) 121 #define D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING __MSABI_LONG(0x00080000) 122 #define D3DPMISCCAPS_FOGVERTEXCLAMPED __MSABI_LONG(0x00100000) 123 #ifndef D3D_DISABLE_9EX 124 #define D3DPMISCCAPS_POSTBLENDSRGBCONVERT __MSABI_LONG(0x00200000) 125 #endif 126 127 #define D3DPRASTERCAPS_DITHER __MSABI_LONG(0x00000001) 128 #define D3DPRASTERCAPS_ZTEST __MSABI_LONG(0x00000010) 129 #define D3DPRASTERCAPS_FOGVERTEX __MSABI_LONG(0x00000080) 130 #define D3DPRASTERCAPS_FOGTABLE __MSABI_LONG(0x00000100) 131 #define D3DPRASTERCAPS_MIPMAPLODBIAS __MSABI_LONG(0x00002000) 132 #define D3DPRASTERCAPS_ZBUFFERLESSHSR __MSABI_LONG(0x00008000) 133 #define D3DPRASTERCAPS_FOGRANGE __MSABI_LONG(0x00010000) 134 #define D3DPRASTERCAPS_ANISOTROPY __MSABI_LONG(0x00020000) 135 #define D3DPRASTERCAPS_WBUFFER __MSABI_LONG(0x00040000) 136 #define D3DPRASTERCAPS_WFOG __MSABI_LONG(0x00100000) 137 #define D3DPRASTERCAPS_ZFOG __MSABI_LONG(0x00200000) 138 #define D3DPRASTERCAPS_COLORPERSPECTIVE __MSABI_LONG(0x00400000) 139 #define D3DPRASTERCAPS_SCISSORTEST __MSABI_LONG(0x01000000) 140 #define D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS __MSABI_LONG(0x02000000) 141 #define D3DPRASTERCAPS_DEPTHBIAS __MSABI_LONG(0x04000000) 142 #define D3DPRASTERCAPS_MULTISAMPLE_TOGGLE __MSABI_LONG(0x08000000) 143 144 #define D3DPRESENT_INTERVAL_DEFAULT 0x00000000 145 #define D3DPRESENT_INTERVAL_ONE 0x00000001 146 #define D3DPRESENT_INTERVAL_TWO 0x00000002 147 #define D3DPRESENT_INTERVAL_THREE 0x00000004 148 #define D3DPRESENT_INTERVAL_FOUR 0x00000008 149 #define D3DPRESENT_INTERVAL_IMMEDIATE 0x80000000 150 151 #define D3DPSHADECAPS_COLORGOURAUDRGB 0x00008 152 #define D3DPSHADECAPS_SPECULARGOURAUDRGB 0x00200 153 #define D3DPSHADECAPS_ALPHAGOURAUDBLEND 0x04000 154 #define D3DPSHADECAPS_FOGGOURAUD 0x80000 155 156 #define D3DPTADDRESSCAPS_WRAP 0x01 157 #define D3DPTADDRESSCAPS_MIRROR 0x02 158 #define D3DPTADDRESSCAPS_CLAMP 0x04 159 #define D3DPTADDRESSCAPS_BORDER 0x08 160 #define D3DPTADDRESSCAPS_INDEPENDENTUV 0x10 161 #define D3DPTADDRESSCAPS_MIRRORONCE 0x20 162 163 #define D3DPTEXTURECAPS_PERSPECTIVE __MSABI_LONG(0x00000001) 164 #define D3DPTEXTURECAPS_POW2 __MSABI_LONG(0x00000002) 165 #define D3DPTEXTURECAPS_ALPHA __MSABI_LONG(0x00000004) 166 #define D3DPTEXTURECAPS_SQUAREONLY __MSABI_LONG(0x00000020) 167 #define D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE __MSABI_LONG(0x00000040) 168 #define D3DPTEXTURECAPS_ALPHAPALETTE __MSABI_LONG(0x00000080) 169 #define D3DPTEXTURECAPS_NONPOW2CONDITIONAL __MSABI_LONG(0x00000100) 170 #define D3DPTEXTURECAPS_PROJECTED __MSABI_LONG(0x00000400) 171 #define D3DPTEXTURECAPS_CUBEMAP __MSABI_LONG(0x00000800) 172 #define D3DPTEXTURECAPS_VOLUMEMAP __MSABI_LONG(0x00002000) 173 #define D3DPTEXTURECAPS_MIPMAP __MSABI_LONG(0x00004000) 174 #define D3DPTEXTURECAPS_MIPVOLUMEMAP __MSABI_LONG(0x00008000) 175 #define D3DPTEXTURECAPS_MIPCUBEMAP __MSABI_LONG(0x00010000) 176 #define D3DPTEXTURECAPS_CUBEMAP_POW2 __MSABI_LONG(0x00020000) 177 #define D3DPTEXTURECAPS_VOLUMEMAP_POW2 __MSABI_LONG(0x00040000) 178 #define D3DPTEXTURECAPS_NOPROJECTEDBUMPENV __MSABI_LONG(0x00200000) 179 180 #define D3DPTFILTERCAPS_MINFPOINT __MSABI_LONG(0x00000100) 181 #define D3DPTFILTERCAPS_MINFLINEAR __MSABI_LONG(0x00000200) 182 #define D3DPTFILTERCAPS_MINFANISOTROPIC __MSABI_LONG(0x00000400) 183 #define D3DPTFILTERCAPS_MINFPYRAMIDALQUAD __MSABI_LONG(0x00000800) 184 #define D3DPTFILTERCAPS_MINFGAUSSIANQUAD __MSABI_LONG(0x00001000) 185 #define D3DPTFILTERCAPS_MIPFPOINT __MSABI_LONG(0x00010000) 186 #define D3DPTFILTERCAPS_MIPFLINEAR __MSABI_LONG(0x00020000) 187 #ifndef D3D_DISABLE_9EX 188 #define D3DPTFILTERCAPS_CONVOLUTIONMONO __MSABI_LONG(0x00040000) 189 #endif 190 #define D3DPTFILTERCAPS_MAGFPOINT __MSABI_LONG(0x01000000) 191 #define D3DPTFILTERCAPS_MAGFLINEAR __MSABI_LONG(0x02000000) 192 #define D3DPTFILTERCAPS_MAGFANISOTROPIC __MSABI_LONG(0x04000000) 193 #define D3DPTFILTERCAPS_MAGFPYRAMIDALQUAD __MSABI_LONG(0x08000000) 194 #define D3DPTFILTERCAPS_MAGFGAUSSIANQUAD __MSABI_LONG(0x10000000) 195 196 #define D3DSTENCILCAPS_KEEP 0x01 197 #define D3DSTENCILCAPS_ZERO 0x02 198 #define D3DSTENCILCAPS_REPLACE 0x04 199 #define D3DSTENCILCAPS_INCRSAT 0x08 200 #define D3DSTENCILCAPS_DECRSAT 0x10 201 #define D3DSTENCILCAPS_INVERT 0x20 202 #define D3DSTENCILCAPS_INCR 0x40 203 #define D3DSTENCILCAPS_DECR 0x80 204 #define D3DSTENCILCAPS_TWOSIDED 0x100 205 206 #define D3DTEXOPCAPS_DISABLE 0x0000001 207 #define D3DTEXOPCAPS_SELECTARG1 0x0000002 208 #define D3DTEXOPCAPS_SELECTARG2 0x0000004 209 #define D3DTEXOPCAPS_MODULATE 0x0000008 210 #define D3DTEXOPCAPS_MODULATE2X 0x0000010 211 #define D3DTEXOPCAPS_MODULATE4X 0x0000020 212 #define D3DTEXOPCAPS_ADD 0x0000040 213 #define D3DTEXOPCAPS_ADDSIGNED 0x0000080 214 #define D3DTEXOPCAPS_ADDSIGNED2X 0x0000100 215 #define D3DTEXOPCAPS_SUBTRACT 0x0000200 216 #define D3DTEXOPCAPS_ADDSMOOTH 0x0000400 217 #define D3DTEXOPCAPS_BLENDDIFFUSEALPHA 0x0000800 218 #define D3DTEXOPCAPS_BLENDTEXTUREALPHA 0x0001000 219 #define D3DTEXOPCAPS_BLENDFACTORALPHA 0x0002000 220 #define D3DTEXOPCAPS_BLENDTEXTUREALPHAPM 0x0004000 221 #define D3DTEXOPCAPS_BLENDCURRENTALPHA 0x0008000 222 #define D3DTEXOPCAPS_PREMODULATE 0x0010000 223 #define D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR 0x0020000 224 #define D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA 0x0040000 225 #define D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR 0x0080000 226 #define D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA 0x0100000 227 #define D3DTEXOPCAPS_BUMPENVMAP 0x0200000 228 #define D3DTEXOPCAPS_BUMPENVMAPLUMINANCE 0x0400000 229 #define D3DTEXOPCAPS_DOTPRODUCT3 0x0800000 230 #define D3DTEXOPCAPS_MULTIPLYADD 0x1000000 231 #define D3DTEXOPCAPS_LERP 0x2000000 232 233 #define D3DVTXPCAPS_TEXGEN __MSABI_LONG(0x00000001) 234 #define D3DVTXPCAPS_MATERIALSOURCE7 __MSABI_LONG(0x00000002) 235 #define D3DVTXPCAPS_DIRECTIONALLIGHTS __MSABI_LONG(0x00000008) 236 #define D3DVTXPCAPS_POSITIONALLIGHTS __MSABI_LONG(0x00000010) 237 #define D3DVTXPCAPS_LOCALVIEWER __MSABI_LONG(0x00000020) 238 #define D3DVTXPCAPS_TWEENING __MSABI_LONG(0x00000040) 239 #define D3DVTXPCAPS_TEXGEN_SPHEREMAP __MSABI_LONG(0x00000100) 240 #define D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER __MSABI_LONG(0x00000200) 241 242 #define D3DDTCAPS_UBYTE4 __MSABI_LONG(0x00000001) 243 #define D3DDTCAPS_UBYTE4N __MSABI_LONG(0x00000002) 244 #define D3DDTCAPS_SHORT2N __MSABI_LONG(0x00000004) 245 #define D3DDTCAPS_SHORT4N __MSABI_LONG(0x00000008) 246 #define D3DDTCAPS_USHORT2N __MSABI_LONG(0x00000010) 247 #define D3DDTCAPS_USHORT4N __MSABI_LONG(0x00000020) 248 #define D3DDTCAPS_UDEC3 __MSABI_LONG(0x00000040) 249 #define D3DDTCAPS_DEC3N __MSABI_LONG(0x00000080) 250 #define D3DDTCAPS_FLOAT16_2 __MSABI_LONG(0x00000100) 251 #define D3DDTCAPS_FLOAT16_4 __MSABI_LONG(0x00000200) 252 253 #define D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD __MSABI_LONG(0x00000020) 254 #define D3DCAPS3_LINEAR_TO_SRGB_PRESENTATION __MSABI_LONG(0x00000080) 255 #define D3DCAPS3_COPY_TO_VIDMEM __MSABI_LONG(0x00000100) 256 #define D3DCAPS3_COPY_TO_SYSTEMMEM __MSABI_LONG(0x00000200) 257 #define D3DCAPS3_DXVAHD __MSABI_LONG(0x00000400) 258 #define D3DCAPS3_DXVAHD_LIMITED __MSABI_LONG(0x00000800) 259 #define D3DCAPS3_RESERVED __MSABI_LONG(0x8000001F) 260 261 #define D3DCAPS2_FULLSCREENGAMMA __MSABI_LONG(0x00020000) 262 #define D3DCAPS2_CANCALIBRATEGAMMA __MSABI_LONG(0x00100000) 263 #define D3DCAPS2_RESERVED __MSABI_LONG(0x02000000) 264 #define D3DCAPS2_CANMANAGERESOURCE __MSABI_LONG(0x10000000) 265 #define D3DCAPS2_DYNAMICTEXTURES __MSABI_LONG(0x20000000) 266 #define D3DCAPS2_CANAUTOGENMIPMAP __MSABI_LONG(0x40000000) 267 #ifndef D3D_DISABLE_9EX 268 #define D3DCAPS2_CANSHARERESOURCE __MSABI_LONG(0x80000000) 269 #endif 270 271 #define D3DVS20_MAX_DYNAMICFLOWCONTROLDEPTH 24 272 #define D3DVS20_MIN_DYNAMICFLOWCONTROLDEPTH 0 273 #define D3DVS20_MAX_NUMTEMPS 32 274 #define D3DVS20_MIN_NUMTEMPS 12 275 #define D3DVS20_MAX_STATICFLOWCONTROLDEPTH 4 276 #define D3DVS20_MIN_STATICFLOWCONTROLDEPTH 1 277 278 #define D3DVS20CAPS_PREDICATION (1 << 0) 279 280 #define D3DPS20CAPS_ARBITRARYSWIZZLE (1 << 0) 281 #define D3DPS20CAPS_GRADIENTINSTRUCTIONS (1 << 1) 282 #define D3DPS20CAPS_PREDICATION (1 << 2) 283 #define D3DPS20CAPS_NODEPENDENTREADLIMIT (1 << 3) 284 #define D3DPS20CAPS_NOTEXINSTRUCTIONLIMIT (1 << 4) 285 286 #define D3DPS20_MAX_DYNAMICFLOWCONTROLDEPTH 24 287 #define D3DPS20_MIN_DYNAMICFLOWCONTROLDEPTH 0 288 #define D3DPS20_MAX_NUMTEMPS 32 289 #define D3DPS20_MIN_NUMTEMPS 12 290 #define D3DPS20_MAX_STATICFLOWCONTROLDEPTH 4 291 #define D3DPS20_MIN_STATICFLOWCONTROLDEPTH 0 292 #define D3DPS20_MAX_NUMINSTRUCTIONSLOTS 512 293 #define D3DPS20_MIN_NUMINSTRUCTIONSLOTS 96 294 295 #define D3DMIN30SHADERINSTRUCTIONS 512 296 #define D3DMAX30SHADERINSTRUCTIONS 32768 297 298 299 typedef struct _D3DVSHADERCAPS2_0 { 300 DWORD Caps; 301 INT DynamicFlowControlDepth; 302 INT NumTemps; 303 INT StaticFlowControlDepth; 304 } D3DVSHADERCAPS2_0; 305 306 typedef struct _D3DPSHADERCAPS2_0 { 307 DWORD Caps; 308 INT DynamicFlowControlDepth; 309 INT NumTemps; 310 INT StaticFlowControlDepth; 311 INT NumInstructionSlots; 312 } D3DPSHADERCAPS2_0; 313 314 /* 315 * The d3dcaps9 structure 316 */ 317 typedef struct _D3DCAPS9 { 318 D3DDEVTYPE DeviceType; 319 UINT AdapterOrdinal; 320 321 DWORD Caps; 322 DWORD Caps2; 323 DWORD Caps3; 324 DWORD PresentationIntervals; 325 326 DWORD CursorCaps; 327 328 DWORD DevCaps; 329 330 DWORD PrimitiveMiscCaps; 331 DWORD RasterCaps; 332 DWORD ZCmpCaps; 333 DWORD SrcBlendCaps; 334 DWORD DestBlendCaps; 335 DWORD AlphaCmpCaps; 336 DWORD ShadeCaps; 337 DWORD TextureCaps; 338 DWORD TextureFilterCaps; 339 DWORD CubeTextureFilterCaps; 340 DWORD VolumeTextureFilterCaps; 341 DWORD TextureAddressCaps; 342 DWORD VolumeTextureAddressCaps; 343 344 DWORD LineCaps; 345 346 DWORD MaxTextureWidth, MaxTextureHeight; 347 DWORD MaxVolumeExtent; 348 349 DWORD MaxTextureRepeat; 350 DWORD MaxTextureAspectRatio; 351 DWORD MaxAnisotropy; 352 float MaxVertexW; 353 354 float GuardBandLeft; 355 float GuardBandTop; 356 float GuardBandRight; 357 float GuardBandBottom; 358 359 float ExtentsAdjust; 360 DWORD StencilCaps; 361 362 DWORD FVFCaps; 363 DWORD TextureOpCaps; 364 DWORD MaxTextureBlendStages; 365 DWORD MaxSimultaneousTextures; 366 367 DWORD VertexProcessingCaps; 368 DWORD MaxActiveLights; 369 DWORD MaxUserClipPlanes; 370 DWORD MaxVertexBlendMatrices; 371 DWORD MaxVertexBlendMatrixIndex; 372 373 float MaxPointSize; 374 375 DWORD MaxPrimitiveCount; 376 DWORD MaxVertexIndex; 377 DWORD MaxStreams; 378 DWORD MaxStreamStride; 379 380 DWORD VertexShaderVersion; 381 DWORD MaxVertexShaderConst; 382 383 DWORD PixelShaderVersion; 384 float PixelShader1xMaxValue; 385 386 /* DX 9 */ 387 DWORD DevCaps2; 388 389 float MaxNpatchTessellationLevel; 390 DWORD Reserved5; 391 392 UINT MasterAdapterOrdinal; 393 UINT AdapterOrdinalInGroup; 394 UINT NumberOfAdaptersInGroup; 395 DWORD DeclTypes; 396 DWORD NumSimultaneousRTs; 397 DWORD StretchRectFilterCaps; 398 D3DVSHADERCAPS2_0 VS20Caps; 399 D3DPSHADERCAPS2_0 PS20Caps; 400 DWORD VertexTextureFilterCaps; 401 DWORD MaxVShaderInstructionsExecuted; 402 DWORD MaxPShaderInstructionsExecuted; 403 DWORD MaxVertexShader30InstructionSlots; 404 DWORD MaxPixelShader30InstructionSlots; 405 406 } D3DCAPS9; 407 408 #ifndef D3D_DISABLE_9EX 409 410 #define D3DOVERLAYCAPS_FULLRANGERGB 0x00000001 411 #define D3DOVERLAYCAPS_LIMITEDRANGERGB 0x00000002 412 #define D3DOVERLAYCAPS_YCbCr_BT601 0x00000004 413 #define D3DOVERLAYCAPS_YCbCr_BT709 0x00000008 414 #define D3DOVERLAYCAPS_YCbCr_BT601_xvYCC 0x00000010 415 #define D3DOVERLAYCAPS_YCbCr_BT709_xvYCC 0x00000020 416 #define D3DOVERLAYCAPS_STRETCHX 0x00000040 417 #define D3DOVERLAYCAPS_STRETCHY 0x00000080 418 419 typedef struct _D3DOVERLAYCAPS { 420 UINT Caps; 421 UINT MaxOverlayDisplayWidth; 422 UINT MaxOverlayDisplayHeight; 423 } D3DOVERLAYCAPS; 424 425 #define D3DCPCAPS_SOFTWARE 0x00000001 426 #define D3DCPCAPS_HARDWARE 0x00000002 427 #define D3DCPCAPS_PROTECTIONALWAYSON 0x00000004 428 #define D3DCPCAPS_PARTIALDECRYPTION 0x00000008 429 #define D3DCPCAPS_CONTENTKEY 0x00000010 430 #define D3DCPCAPS_FRESHENSESSIONKEY 0x00000020 431 #define D3DCPCAPS_ENCRYPTEDREADBACK 0x00000040 432 #define D3DCPCAPS_ENCRYPTEDREADBACKKEY 0x00000080 433 #define D3DCPCAPS_SEQUENTIAL_CTR_IV 0x00000100 434 #define D3DCPCAPS_ENCRYPTSLICEDATAONLY 0x00000200 435 436 typedef struct _D3DCONTENTPROTECTIONCAPS { 437 DWORD Caps; 438 GUID KeyExchangeType; 439 UINT BufferAlignmentStart; 440 UINT BlockAlignmentSize; 441 ULONGLONG ProtectedMemorySize; 442 } D3DCONTENTPROTECTIONCAPS; 443 444 DEFINE_GUID(D3DCRYPTOTYPE_AES128_CTR, 0x9b6bd711, 0x4f74, 0x41c9, 0x9e, 0x7b, 0xb, 0xe2, 0xd7, 0xd9, 0x3b, 0x4f); 445 DEFINE_GUID(D3DCRYPTOTYPE_PROPRIETARY, 0xab4e9afd, 0x1d1c, 0x46e6, 0xa7, 0x2f, 0x8, 0x69, 0x91, 0x7b, 0xd, 0xe8); 446 DEFINE_GUID(D3DKEYEXCHANGE_RSAES_OAEP, 0xc1949895, 0xd72a, 0x4a1d, 0x8e, 0x5d, 0xed, 0x85, 0x7d, 0x17, 0x15, 0x20); 447 DEFINE_GUID(D3DKEYEXCHANGE_DXVA, 0x43d3775c, 0x38e5, 0x4924, 0x8d, 0x86, 0xd3, 0xfc, 0xcf, 0x15, 0x3e, 0x9b); 448 449 #endif 450 451 #ifdef __i386__ 452 #include <poppack.h> 453 #endif 454 455 #endif 456