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