/*

	d3d9caps.h - Header file for the Direct3D9 API

	Written by Filip Navara <xnavara@volny.cz>

	This library is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

*/

#ifndef _D3D9_CAPS_H
#define _D3D9_CAPS_H
#if __GNUC__ >=3
#pragma GCC system_header
#endif

#ifndef DIRECT3D_VERSION
#define DIRECT3D_VERSION  0x0900
#endif

#if (DIRECT3D_VERSION >= 0x0900)

#define D3DCURSORCAPS_COLOR	1
#define D3DCURSORCAPS_LOWRES	2
#define D3DDEVCAPS_EXECUTESYSTEMMEMORY	0x10
#define D3DDEVCAPS_EXECUTEVIDEOMEMORY	0x20
#define D3DDEVCAPS_TLVERTEXSYSTEMMEMORY	0x40
#define D3DDEVCAPS_TLVERTEXVIDEOMEMORY	0x80
#define D3DDEVCAPS_TEXTURESYSTEMMEMORY	0x100
#define D3DDEVCAPS_TEXTUREVIDEOMEMORY	0x200
#define D3DDEVCAPS_DRAWPRIMTLVERTEX	0x400
#define D3DDEVCAPS_CANRENDERAFTERFLIP	0x800
#define D3DDEVCAPS_TEXTURENONLOCALVIDMEM	0x1000
#define D3DDEVCAPS_DRAWPRIMITIVES2	0x2000
#define D3DDEVCAPS_SEPARATETEXTUREMEMORIES	0x4000
#define D3DDEVCAPS_DRAWPRIMITIVES2EX	0x8000
#define D3DDEVCAPS_HWTRANSFORMANDLIGHT	0x10000
#define D3DDEVCAPS_CANBLTSYSTONONLOCAL	0x20000
#define D3DDEVCAPS_HWRASTERIZATION	0x80000
#define D3DDEVCAPS_PUREDEVICE	0x100000
#define D3DDEVCAPS_QUINTICRTPATCHES	0x200000
#define D3DDEVCAPS_RTPATCHES	0x400000
#define D3DDEVCAPS_RTPATCHHANDLEZERO	0x800000
#define D3DDEVCAPS_NPATCHES	0x1000000
#define D3DDEVCAPS2_STREAMOFFSET	0x01
#define D3DDEVCAPS2_DMAPNPATCH	0x02
#define D3DDEVCAPS2_ADAPTIVETESSRTPATCH	0x04
#define D3DDEVCAPS2_ADAPTIVETESSNPATCH	0x08
#define D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES	0x10
#define D3DDEVCAPS2_PRESAMPLEDDMAPNPATCH	0x20
#define D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET	0x40
#define D3DFVFCAPS_TEXCOORDCOUNTMASK	0xFFFF
#define D3DFVFCAPS_DONOTSTRIPELEMENTS	0x80000
#define D3DFVFCAPS_PSIZE	0x100000
#define D3DLINECAPS_TEXTURE	0x01
#define D3DLINECAPS_ZTEST	0x02
#define D3DLINECAPS_BLEND	0x04
#define D3DLINECAPS_ALPHACMP	0x08
#define D3DLINECAPS_FOG	0x10
#define D3DLINECAPS_ANTIALIAS	0x20
#define D3DPBLENDCAPS_ZERO	0x01
#define D3DPBLENDCAPS_ONE	0x02
#define D3DPBLENDCAPS_SRCCOLOR	0x04
#define D3DPBLENDCAPS_INVSRCCOLOR	0x08
#define D3DPBLENDCAPS_SRCALPHA	0x10
#define D3DPBLENDCAPS_INVSRCALPHA	0x20
#define D3DPBLENDCAPS_DESTALPHA	0x40
#define D3DPBLENDCAPS_INVDESTALPHA	0x80
#define D3DPBLENDCAPS_DESTCOLOR	0x100
#define D3DPBLENDCAPS_INVDESTCOLOR	0x200
#define D3DPBLENDCAPS_SRCALPHASAT	0x400
#define D3DPBLENDCAPS_BOTHSRCALPHA	0x800
#define D3DPBLENDCAPS_BOTHINVSRCALPHA	0x1000
#define D3DPBLENDCAPS_BLENDFACTOR	0x2000
#define D3DPCMPCAPS_NEVER	0x01
#define D3DPCMPCAPS_LESS	0x02
#define D3DPCMPCAPS_EQUAL	0x04
#define D3DPCMPCAPS_LESSEQUAL	0x08
#define D3DPCMPCAPS_GREATER	0x10
#define D3DPCMPCAPS_NOTEQUAL	0x20
#define D3DPCMPCAPS_GREATEREQUAL	0x40
#define D3DPCMPCAPS_ALWAYS	0x80
#define D3DPMISCCAPS_MASKZ	0x02
#define D3DPMISCCAPS_CULLNONE	0x10
#define D3DPMISCCAPS_CULLCW	0x20
#define D3DPMISCCAPS_CULLCCW	0x40
#define D3DPMISCCAPS_COLORWRITEENABLE	0x80
#define D3DPMISCCAPS_CLIPPLANESCALEDPOINTS	0x100
#define D3DPMISCCAPS_CLIPTLVERTS	0x200
#define D3DPMISCCAPS_TSSARGTEMP	0x400
#define D3DPMISCCAPS_BLENDOP	0x800
#define D3DPMISCCAPS_NULLREFERENCE	0x1000
#define D3DPMISCCAPS_INDEPENDENTWRITEMASKS	0x4000
#define D3DPMISCCAPS_PERSTAGECONSTANT	0x8000
#define D3DPMISCCAPS_FOGANDSPECULARALPHA	0x10000
#define D3DPMISCCAPS_SEPARATEALPHABLEND	0x20000
#define D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS	0x40000
#define D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING	0x80000
#define D3DPMISCCAPS_FOGVERTEXCLAMPED	0x100000
#define D3DPRASTERCAPS_DITHER	0x01
#define D3DPRASTERCAPS_ZTEST	0x10
#define D3DPRASTERCAPS_FOGVERTEX	0x80
#define D3DPRASTERCAPS_FOGTABLE	0x100
#define D3DPRASTERCAPS_MIPMAPLODBIAS	0x2000
#define D3DPRASTERCAPS_ZBUFFERLESSHSR	0x8000
#define D3DPRASTERCAPS_FOGRANGE	0x10000
#define D3DPRASTERCAPS_ANISOTROPY	0x20000
#define D3DPRASTERCAPS_WBUFFER	0x40000
#define D3DPRASTERCAPS_WFOG	0x100000
#define D3DPRASTERCAPS_ZFOG	0x200000
#define D3DPRASTERCAPS_COLORPERSPECTIVE	0x400000
#define D3DPRASTERCAPS_SCISSORTEST	0x1000000
#define D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS	0x2000000
#define D3DPRASTERCAPS_DEPTHBIAS	0x4000000 
#define D3DPRASTERCAPS_MULTISAMPLE_TOGGLE	0x8000000
#define D3DPRESENT_INTERVAL_DEFAULT	0x00
#define D3DPRESENT_INTERVAL_ONE	0x01
#define D3DPRESENT_INTERVAL_TWO	0x02
#define D3DPRESENT_INTERVAL_THREE	0x04
#define D3DPRESENT_INTERVAL_FOUR	0x08
#define D3DPRESENT_INTERVAL_IMMEDIATE	0x80000000L
#define D3DPSHADECAPS_COLORGOURAUDRGB	0x08
#define D3DPSHADECAPS_SPECULARGOURAUDRGB	0x200
#define D3DPSHADECAPS_ALPHAGOURAUDBLEND	0x4000
#define D3DPSHADECAPS_FOGGOURAUD	0x80000
#define D3DPTADDRESSCAPS_WRAP	0x01
#define D3DPTADDRESSCAPS_MIRROR	0x02
#define D3DPTADDRESSCAPS_CLAMP	0x04
#define D3DPTADDRESSCAPS_BORDER	0x08
#define D3DPTADDRESSCAPS_INDEPENDENTUV	0x10
#define D3DPTADDRESSCAPS_MIRRORONCE	0x20
#define D3DPTEXTURECAPS_PERSPECTIVE	0x01
#define D3DPTEXTURECAPS_POW2	0x02
#define D3DPTEXTURECAPS_ALPHA	0x04
#define D3DPTEXTURECAPS_SQUAREONLY	0x20
#define D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE	0x40
#define D3DPTEXTURECAPS_ALPHAPALETTE	0x80
#define D3DPTEXTURECAPS_NONPOW2CONDITIONAL	0x100
#define D3DPTEXTURECAPS_PROJECTED	0x400
#define D3DPTEXTURECAPS_CUBEMAP	0x800
#define D3DPTEXTURECAPS_VOLUMEMAP	0x2000
#define D3DPTEXTURECAPS_MIPMAP	0x4000
#define D3DPTEXTURECAPS_MIPVOLUMEMAP	0x8000
#define D3DPTEXTURECAPS_MIPCUBEMAP	0x10000
#define D3DPTEXTURECAPS_CUBEMAP_POW2	0x20000
#define D3DPTEXTURECAPS_VOLUMEMAP_POW2	0x40000
#define D3DPTEXTURECAPS_NOPROJECTEDBUMPENV	0x200000
#define D3DPTFILTERCAPS_MINFPOINT	0x100
#define D3DPTFILTERCAPS_MINFLINEAR	0x200
#define D3DPTFILTERCAPS_MINFANISOTROPIC	0x400
#define D3DPTFILTERCAPS_MINFPYRAMIDALQUAD	0x800
#define D3DPTFILTERCAPS_MINFGAUSSIANQUAD	0x1000
#define D3DPTFILTERCAPS_MIPFPOINT	0x10000
#define D3DPTFILTERCAPS_MIPFLINEAR	0x20000
#define D3DPTFILTERCAPS_MAGFPOINT	0x1000000
#define D3DPTFILTERCAPS_MAGFLINEAR	0x2000000
#define D3DPTFILTERCAPS_MAGFANISOTROPIC	0x4000000
#define D3DPTFILTERCAPS_MAGFPYRAMIDALQUAD	0x8000000
#define D3DPTFILTERCAPS_MAGFGAUSSIANQUAD	0x10000000
#define D3DSTENCILCAPS_KEEP	0x01
#define D3DSTENCILCAPS_ZERO	0x02
#define D3DSTENCILCAPS_REPLACE	0x04
#define D3DSTENCILCAPS_INCRSAT	0x08
#define D3DSTENCILCAPS_DECRSAT	0x10
#define D3DSTENCILCAPS_INVERT	0x20
#define D3DSTENCILCAPS_INCR	0x40
#define D3DSTENCILCAPS_DECR	0x80
#define D3DSTENCILCAPS_TWOSIDED	0x100
#define D3DTEXOPCAPS_DISABLE	0x01
#define D3DTEXOPCAPS_SELECTARG1	0x02
#define D3DTEXOPCAPS_SELECTARG2	0x04
#define D3DTEXOPCAPS_MODULATE	0x08
#define D3DTEXOPCAPS_MODULATE2X	0x10
#define D3DTEXOPCAPS_MODULATE4X	0x20
#define D3DTEXOPCAPS_ADD	0x40
#define D3DTEXOPCAPS_ADDSIGNED	0x80
#define D3DTEXOPCAPS_ADDSIGNED2X	0x100
#define D3DTEXOPCAPS_SUBTRACT	0x200
#define D3DTEXOPCAPS_ADDSMOOTH	0x400
#define D3DTEXOPCAPS_BLENDDIFFUSEALPHA	0x800
#define D3DTEXOPCAPS_BLENDTEXTUREALPHA	0x1000
#define D3DTEXOPCAPS_BLENDFACTORALPHA	0x2000
#define D3DTEXOPCAPS_BLENDTEXTUREALPHAPM	0x4000
#define D3DTEXOPCAPS_BLENDCURRENTALPHA	0x8000
#define D3DTEXOPCAPS_PREMODULATE	0x10000
#define D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR	0x20000
#define D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA	0x40000
#define D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR	0x80000
#define D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA	0x100000
#define D3DTEXOPCAPS_BUMPENVMAP	0x200000
#define D3DTEXOPCAPS_BUMPENVMAPLUMINANCE	0x400000
#define D3DTEXOPCAPS_DOTPRODUCT3	0x800000
#define D3DTEXOPCAPS_MULTIPLYADD	0x1000000
#define D3DTEXOPCAPS_LERP	0x2000000
#define D3DVTXPCAPS_TEXGEN	0x01
#define D3DVTXPCAPS_MATERIALSOURCE7	0x02
#define D3DVTXPCAPS_DIRECTIONALLIGHTS	0x08
#define D3DVTXPCAPS_POSITIONALLIGHTS	0x10
#define D3DVTXPCAPS_LOCALVIEWER	0x20
#define D3DVTXPCAPS_TWEENING	0x40
#define D3DVTXPCAPS_TEXGEN_SPHEREMAP	0x100
#define D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER	0x200
#define D3DCAPS_READ_SCANLINE	0x20000
#define D3DCAPS2_FULLSCREENGAMMA	0x20000L
#define D3DCAPS2_CANCALIBRATEGAMMA	0x100000L
#define D3DCAPS2_RESERVED	0x2000000L
#define D3DCAPS2_CANMANAGERESOURCE	0x10000000L
#define D3DCAPS2_DYNAMICTEXTURES	0x20000000L
#define D3DCAPS2_CANAUTOGENMIPMAP	0x40000000L
#define D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD	0x20
#define D3DCAPS3_LINEAR_TO_SRGB_PRESENTATION	0x80
#define D3DCAPS3_COPY_TO_VIDMEM	0x100
#define D3DCAPS3_COPY_TO_SYSTEMMEM	0x200
#define D3DCAPS3_RESERVED	0x8000001fL
#define D3DDTCAPS_UBYTE4	0x01
#define D3DDTCAPS_UBYTE4N	0x02
#define D3DDTCAPS_SHORT2N	0x04
#define D3DDTCAPS_SHORT4N	0x08
#define D3DDTCAPS_USHORT2N	0x10
#define D3DDTCAPS_USHORT4N	0x20
#define D3DDTCAPS_UDEC3	0x40
#define D3DDTCAPS_DEC3N	0x80
#define D3DDTCAPS_FLOAT16_2	0x100
#define D3DDTCAPS_FLOAT16_4	0x200
#define D3DMIN30SHADERINSTRUCTIONS	512
#define D3DMAX30SHADERINSTRUCTIONS	32768
#define D3DPS20_MAX_DYNAMICFLOWCONTROLDEPTH	24
#define D3DPS20_MIN_DYNAMICFLOWCONTROLDEPTH	0
#define D3DPS20_MAX_NUMTEMPS	32
#define D3DPS20_MIN_NUMTEMPS	12
#define D3DPS20_MAX_STATICFLOWCONTROLDEPTH	4
#define D3DPS20_MIN_STATICFLOWCONTROLDEPTH	0
#define D3DPS20_MAX_NUMINSTRUCTIONSLOTS	512
#define D3DPS20_MIN_NUMINSTRUCTIONSLOTS	96
#define D3DPS20CAPS_ARBITRARYSWIZZLE	0x1
#define D3DPS20CAPS_GRADIENTINSTRUCTIONS	0x2
#define D3DPS20CAPS_PREDICATION	0x4
#define D3DPS20CAPS_NODEPENDENTREADLIMIT	0x8
#define D3DPS20CAPS_NOTEXINSTRUCTIONLIMIT	0x10
#define D3DVS20_MAX_DYNAMICFLOWCONTROLDEPTH	24
#define D3DVS20_MIN_DYNAMICFLOWCONTROLDEPTH	0
#define D3DVS20_MAX_NUMTEMPS	32
#define D3DVS20_MIN_NUMTEMPS	12
#define D3DVS20_MAX_STATICFLOWCONTROLDEPTH	4
#define D3DVS20_MIN_STATICFLOWCONTROLDEPTH	1
#define D3DVS20CAPS_PREDICATION	1

typedef struct _D3DVSHADERCAPS2_0 {
	DWORD Caps;
	INT DynamicFlowControlDepth;
	INT NumTemps;
	INT StaticFlowControlDepth;
} D3DVSHADERCAPS2_0;

typedef struct _D3DPSHADERCAPS2_0 {
	DWORD Caps;
	INT DynamicFlowControlDepth;
	INT NumTemps;
	INT StaticFlowControlDepth;
	INT NumInstructionSlots;
} D3DPSHADERCAPS2_0;

typedef struct _D3DCAPS9 {
	D3DDEVTYPE DeviceType;
	UINT AdapterOrdinal;
	DWORD Caps;
	DWORD Caps2;
	DWORD Caps3;
	DWORD PresentationIntervals;
	DWORD CursorCaps;
	DWORD DevCaps;
	DWORD PrimitiveMiscCaps;
	DWORD RasterCaps;
	DWORD ZCmpCaps;
	DWORD SrcBlendCaps;
	DWORD DestBlendCaps;
	DWORD AlphaCmpCaps;
	DWORD ShadeCaps;
	DWORD TextureCaps;
	DWORD TextureFilterCaps;
	DWORD CubeTextureFilterCaps;
	DWORD VolumeTextureFilterCaps;
	DWORD TextureAddressCaps;
	DWORD VolumeTextureAddressCaps;
	DWORD LineCaps;
	DWORD MaxTextureWidth;
	DWORD MaxTextureHeight;
	DWORD MaxVolumeExtent;
	DWORD MaxTextureRepeat;
	DWORD MaxTextureAspectRatio;
	DWORD MaxAnisotropy;
	float MaxVertexW;
	float GuardBandLeft;
	float GuardBandTop;
	float GuardBandRight;
	float GuardBandBottom;
	float ExtentsAdjust;
	DWORD StencilCaps;
	DWORD FVFCaps;
	DWORD TextureOpCaps;
	DWORD MaxTextureBlendStages;
	DWORD MaxSimultaneousTextures;
	DWORD VertexProcessingCaps;
	DWORD MaxActiveLights;
	DWORD MaxUserClipPlanes;
	DWORD MaxVertexBlendMatrices;
	DWORD MaxVertexBlendMatrixIndex;
	float MaxPointSize;
	DWORD MaxPrimitiveCount;
	DWORD MaxVertexIndex;
	DWORD MaxStreams;
	DWORD MaxStreamStride;
	DWORD VertexShaderVersion;
	DWORD MaxVertexShaderConst;
	DWORD PixelShaderVersion;
	float PixelShader1xMaxValue;
	DWORD DevCaps2;
	float MaxNpatchTessellationLevel;
	DWORD Reserved5;
	UINT MasterAdapterOrdinal;   
	UINT AdapterOrdinalInGroup;  
	UINT NumberOfAdaptersInGroup;
	DWORD DeclTypes;              
	DWORD NumSimultaneousRTs;     
	DWORD StretchRectFilterCaps;  
	D3DVSHADERCAPS2_0 VS20Caps;
	D3DPSHADERCAPS2_0 PS20Caps;
	DWORD VertexTextureFilterCaps;
	DWORD MaxVShaderInstructionsExecuted;
	DWORD MaxPShaderInstructionsExecuted;
	DWORD MaxVertexShader30InstructionSlots; 
	DWORD MaxPixelShader30InstructionSlots;
} D3DCAPS9;

#endif
#endif
