----------------------------------------
-- File : d3d9caps.ads --
-- Translator:Dongfeng.Gu,2018/10/09 --
-- Mail: [email protected] --
-- Progress:100% --
----------------------------------------
with win32; use win32;
with win32.rpcdce; use win32.rpcdce;
with D3d9types; use D3d9types;
package d3d9caps is
DIRECT3D_VERSION : constant := 16#0900#;
type D3DVSHADERCAPS2_0 is record
Caps:DWORD;
DynamicFlowControlDepth:INT;
NumTemps:INT;
StaticFlowControlDepth:INT;
end record;
subtype StaticFlowControlDepth is D3DVSHADERCAPS2_0;
D3DVS20CAPS_PREDICATION : constant := (1);
D3DVS20_MAX_DYNAMICFLOWCONTROLDEPTH : constant := 24;
D3DVS20_MIN_DYNAMICFLOWCONTROLDEPTH : constant := 0;
D3DVS20_MAX_NUMTEMPS : constant := 32;
D3DVS20_MIN_NUMTEMPS : constant := 12;
D3DVS20_MAX_STATICFLOWCONTROLDEPTH : constant := 4;
D3DVS20_MIN_STATICFLOWCONTROLDEPTH : constant := 1;
type D3DPSHADERCAPS2_0 is record
Caps:DWORD;
DynamicFlowControlDepth:INT;
NumTemps:INT;
StaticFlowControlDepth:INT;
NumInstructionSlots:INT;
end record;
subtype NumInstructionSlots is D3DPSHADERCAPS2_0;
D3DPS20CAPS_ARBITRARYSWIZZLE : constant := (1);
D3DPS20CAPS_GRADIENTINSTRUCTIONS : constant := (2);
D3DPS20CAPS_PREDICATION : constant := (4);
D3DPS20CAPS_NODEPENDENTREADLIMIT : constant := (8);
D3DPS20CAPS_NOTEXINSTRUCTIONLIMIT : constant := (16);
D3DPS20_MAX_DYNAMICFLOWCONTROLDEPTH : constant := 24;
D3DPS20_MIN_DYNAMICFLOWCONTROLDEPTH : constant := 0;
D3DPS20_MAX_NUMTEMPS : constant := 32;
D3DPS20_MIN_NUMTEMPS : constant := 12;
D3DPS20_MAX_STATICFLOWCONTROLDEPTH : constant := 4;
D3DPS20_MIN_STATICFLOWCONTROLDEPTH : constant := 0;
D3DPS20_MAX_NUMINSTRUCTIONSLOTS : constant := 512;
D3DPS20_MIN_NUMINSTRUCTIONSLOTS : constant := 96;
D3DMIN30SHADERINSTRUCTIONS : constant := 512;
D3DMAX30SHADERINSTRUCTIONS : constant := 32768;
type D3DOVERLAYCAPS is record
Caps:UINT;
MaxOverlayDisplayWidth:UINT;
MaxOverlayDisplayHeight:UINT;
end record;
subtype MaxOverlayDisplayHeight is D3DOVERLAYCAPS;
D3DOVERLAYCAPS_FULLRANGERGB : constant := 16#00000001#;
D3DOVERLAYCAPS_LIMITEDRANGERGB : constant := 16#00000002#;
D3DOVERLAYCAPS_YCbCr_BT601 : constant := 16#00000004#;
D3DOVERLAYCAPS_YCbCr_BT709 : constant := 16#00000008#;
D3DOVERLAYCAPS_YCbCr_BT601_xvYCC : constant := 16#00000010#;
D3DOVERLAYCAPS_YCbCr_BT709_xvYCC : constant := 16#00000020#;
D3DOVERLAYCAPS_STRETCHX : constant := 16#00000040#;
D3DOVERLAYCAPS_STRETCHY : constant := 16#00000080#;
type D3DCONTENTPROTECTIONCAPS is record
Caps:DWORD;
KeyExchangeType:GUID;
BufferAlignmentStart:UINT;
BlockAlignmentSize:UINT;
ProtectedMemorySize:ULONGLONG;
end record;
subtype ProtectedMemorySize is D3DCONTENTPROTECTIONCAPS;
D3DCPCAPS_SOFTWARE : constant := 16#00000001#;
D3DCPCAPS_HARDWARE : constant := 16#00000002#;
D3DCPCAPS_PROTECTIONALWAYSON : constant := 16#00000004#;
D3DCPCAPS_PARTIALDECRYPTION : constant := 16#00000008#;
D3DCPCAPS_CONTENTKEY : constant := 16#00000010#;
D3DCPCAPS_FRESHENSESSIONKEY : constant := 16#00000020#;
D3DCPCAPS_ENCRYPTEDREADBACK : constant := 16#00000040#;
D3DCPCAPS_ENCRYPTEDREADBACKKEY : constant := 16#00000080#;
D3DCPCAPS_SEQUENTIAL_CTR_IV : constant := 16#00000100#;
D3DCPCAPS_ENCRYPTSLICEDATAONLY : constant := 16#00000200#;
D3DCRYPTOTYPE_AES128_CTR :constant GUID:=(16#9b6bd711#, 16#4f74#, 16#41c9#, (16#9e#, 16#7b#, 16#0b#, 16#e2#, 16#d7#, 16#d9#, 16#3b#, 16#4f#));
D3DCRYPTOTYPE_PROPRIETARY:constant GUID:=(16#ab4e9afd#, 16#1d1c#, 16#46e6#, (16#a7#, 16#2f#, 16#08#, 16#69#, 16#91#, 16#7b#, 16#0d#, 16#e8#));
D3DKEYEXCHANGE_RSAES_OAEP:constant GUID:=(16#c1949895#, 16#d72a#, 16#4a1d#, (16#8e#, 16#5d#, 16#ed#, 16#85#, 16#7d#, 16#17#, 16#15#, 16#20#));
D3DKEYEXCHANGE_DXVA :constant GUID:=(16#43d3775c#, 16#38e5#, 16#4924#, (16#8d#, 16#86#, 16#d3#, 16#fc#, 16#cf#, 16#15#, 16#3e#, 16#9b#));
-- defined in d3d9types.h
-- type D3DDEVTYPE is (D3DDEVTYPE_HAL,
-- D3DDEVTYPE_REF,
-- D3DDEVTYPE_SW,
-- D3DDEVTYPE_NULLREF,
-- D3DDEVTYPE_FORCE_DWORD
-- );
-- for D3DDEVTYPE use (D3DDEVTYPE_HAL =>1,
-- D3DDEVTYPE_REF => 2,
-- D3DDEVTYPE_SW => 3,
-- D3DDEVTYPE_NULLREF => 4,
-- D3DDEVTYPE_FORCE_DWORD => 16#ffffffff#);
type D3DCAPS9 is record
DeviceType:D3DDEVTYPE;
AdapterOrdinal:UINT;
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;
MaxVolumeExtent:DWORD;
MaxTextureRepeat:DWORD;
MaxTextureAspectRatio:DWORD;
MaxAnisotropy:DWORD;
MaxVertexW:float;
GuardBandLeft:float;
GuardBandTop:float;
GuardBandRight:float;
GuardBandBottom:float;
ExtentsAdjust:float;
StencilCaps:DWORD;
FVFCaps:DWORD;
TextureOpCaps:DWORD;
MaxTextureBlendStages:DWORD;
MaxSimultaneousTextures:DWORD;
VertexProcessingCaps:DWORD;
MaxActiveLights:DWORD;
MaxUserClipPlanes:DWORD;
MaxVertexBlendMatrices:DWORD;
MaxVertexBlendMatrixIndex:DWORD;
MaxPointSize:float;
MaxPrimitiveCount:DWORD;
MaxVertexIndex:DWORD;
MaxStreams:DWORD;
MaxStreamStride:DWORD;
VertexShaderVersion:DWORD;
MaxVertexShaderConst:DWORD;
PixelShaderVersion:DWORD;
PixelShader1xMaxValue:float;
DevCaps2:DWORD;
MaxNpatchTessellationLevel:float;
Reserved5:DWORD;
MasterAdapterOrdinal:UINT;
AdapterOrdinalInGroup:UINT;
NumberOfAdaptersInGroup:UINT;
DeclTypes:DWORD;
NumSimultaneousRTs:DWORD;
StretchRectFilterCaps:DWORD;
VS20Caps:D3DVSHADERCAPS2_0;
PS20Caps:D3DPSHADERCAPS2_0;
VertexTextureFilterCaps:DWORD;
MaxVShaderInstructionsExecuted:DWORD;
MaxPShaderInstructionsExecuted:DWORD;
MaxVertexShader30InstructionSlots:DWORD;
MaxPixelShader30InstructionSlots:DWORD;
end record;
subtype MaxPixelShader30InstructionSlots is D3DCAPS9;
D3DCAPS_OVERLAY : constant := 16#00000800#;
D3DCAPS_READ_SCANLINE : constant := 16#00020000#;
D3DCAPS2_FULLSCREENGAMMA : constant := 16#00020000#;
D3DCAPS2_CANCALIBRATEGAMMA : constant := 16#00100000#;
D3DCAPS2_RESERVED : constant := 16#02000000#;
D3DCAPS2_CANMANAGERESOURCE : constant := 16#10000000#;
D3DCAPS2_DYNAMICTEXTURES : constant := 16#20000000#;
D3DCAPS2_CANAUTOGENMIPMAP : constant := 16#40000000#;
D3DCAPS2_CANSHARERESOURCE : constant := 16#80000000#;
D3DCAPS3_RESERVED : constant := 16#8000001f#;
D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD : constant := 16#00000020#;
D3DCAPS3_LINEAR_TO_SRGB_PRESENTATION : constant := 16#00000080#;
D3DCAPS3_COPY_TO_VIDMEM : constant := 16#00000100#; -- /* Device can acclerate copies from sysmem to local vidmem */;
D3DCAPS3_COPY_TO_SYSTEMMEM : constant := 16#00000200#; -- /* Device can acclerate copies from local vidmem to sysmem */;
D3DCAPS3_DXVAHD : constant := 16#00000400#;
D3DPRESENT_INTERVAL_DEFAULT : constant := 16#00000000#;
D3DPRESENT_INTERVAL_ONE : constant := 16#00000001#;
D3DPRESENT_INTERVAL_TWO : constant := 16#00000002#;
D3DPRESENT_INTERVAL_THREE : constant := 16#00000004#;
D3DPRESENT_INTERVAL_FOUR : constant := 16#00000008#;
D3DPRESENT_INTERVAL_IMMEDIATE : constant := 16#80000000#;
D3DCURSORCAPS_COLOR : constant := 16#00000001#;
D3DCURSORCAPS_LOWRES : constant := 16#00000002#;
D3DDEVCAPS_EXECUTESYSTEMMEMORY : constant := 16#00000010#; -- /* Device can use execute buffers from system memory */;
D3DDEVCAPS_EXECUTEVIDEOMEMORY : constant := 16#00000020#; -- /* Device can use execute buffers from video memory */;
D3DDEVCAPS_TLVERTEXSYSTEMMEMORY : constant := 16#00000040#; -- /* Device can use TL buffers from system memory */;
D3DDEVCAPS_TLVERTEXVIDEOMEMORY : constant := 16#00000080#; -- /* Device can use TL buffers from video memory */;
D3DDEVCAPS_TEXTURESYSTEMMEMORY : constant := 16#00000100#; -- /* Device can texture from system memory */;
D3DDEVCAPS_TEXTUREVIDEOMEMORY : constant := 16#00000200#; -- /* Device can texture from device memory */;
D3DDEVCAPS_DRAWPRIMTLVERTEX : constant := 16#00000400#; -- /* Device can draw TLVERTEX primitives */;
D3DDEVCAPS_CANRENDERAFTERFLIP : constant := 16#00000800#; -- /* Device can render without waiting for flip to complete */;
D3DDEVCAPS_TEXTURENONLOCALVIDMEM : constant := 16#00001000#; -- /* Device can texture from nonlocal video memory */;
D3DDEVCAPS_DRAWPRIMITIVES2 : constant := 16#00002000#; -- /* Device can support DrawPrimitives2 */;
D3DDEVCAPS_SEPARATETEXTUREMEMORIES : constant := 16#00004000#; -- /* Device is texturing from separate memory pools */;
D3DDEVCAPS_DRAWPRIMITIVES2EX : constant := 16#00008000#; -- /* Device can support Extended DrawPrimitives2 i.e. DX7 compliant driver*/;
D3DDEVCAPS_HWTRANSFORMANDLIGHT : constant := 16#00010000#; -- /* Device can support transformation and lighting in hardware and DRAWPRIMITIVES2EX must be also */;
D3DDEVCAPS_CANBLTSYSTONONLOCAL : constant := 16#00020000#; -- /* Device supports a Tex Blt from system memory to non-local vidmem */;
D3DDEVCAPS_HWRASTERIZATION : constant := 16#00080000#; -- /* Device has HW acceleration for rasterization */;
D3DDEVCAPS_PUREDEVICE : constant := 16#00100000#; -- /* Device supports D3DCREATE_PUREDEVICE */;
D3DDEVCAPS_QUINTICRTPATCHES : constant := 16#00200000#; -- /* Device supports quintic Beziers and BSplines */;
D3DDEVCAPS_RTPATCHES : constant := 16#00400000#; -- /* Device supports Rect and Tri patches */;
D3DDEVCAPS_RTPATCHHANDLEZERO : constant := 16#00800000#; -- /* Indicates that RT Patches may be drawn efficiently using handle 0 */;
D3DDEVCAPS_NPATCHES : constant := 16#01000000#; -- /* Device supports N-Patches */;
D3DPMISCCAPS_MASKZ : constant := 16#00000002#;
D3DPMISCCAPS_CULLNONE : constant := 16#00000010#;
D3DPMISCCAPS_CULLCW : constant := 16#00000020#;
D3DPMISCCAPS_CULLCCW : constant := 16#00000040#;
D3DPMISCCAPS_COLORWRITEENABLE : constant := 16#00000080#;
D3DPMISCCAPS_CLIPPLANESCALEDPOINTS : constant := 16#00000100#; -- /* Device correctly clips scaled points to clip planes */;
D3DPMISCCAPS_CLIPTLVERTS : constant := 16#00000200#; -- /* device will clip post-transformed vertex primitives */;
D3DPMISCCAPS_TSSARGTEMP : constant := 16#00000400#; -- /* device supports D3DTA_TEMP for temporary register */;
D3DPMISCCAPS_BLENDOP : constant := 16#00000800#; -- /* device supports D3DRS_BLENDOP */;
D3DPMISCCAPS_NULLREFERENCE : constant := 16#00001000#; -- /* Reference Device that doesnt render */;
D3DPMISCCAPS_INDEPENDENTWRITEMASKS : constant := 16#00004000#; -- /* Device supports independent write masks for MET or MRT */;
D3DPMISCCAPS_PERSTAGECONSTANT : constant := 16#00008000#; -- /* Device supports per-stage constants */;
D3DPMISCCAPS_FOGANDSPECULARALPHA : constant := 16#00010000#; -- /* Device supports separate fog and specular alpha (many devices;
D3DPMISCCAPS_SEPARATEALPHABLEND : constant := 16#00020000#; -- /* Device supports separate blend settings for the alpha channel */;
D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS : constant := 16#00040000#; -- /* Device supports different bit depths for MRT */;
D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING : constant := 16#00080000#; -- /* Device supports post-pixel shader operations for MRT */;
D3DPMISCCAPS_FOGVERTEXCLAMPED : constant := 16#00100000#; -- /* Device clamps fog blend factor per vertex */;
D3DPMISCCAPS_POSTBLENDSRGBCONVERT : constant := 16#00200000#; -- /* Indicates device can perform conversion to sRGB after blending. */;
D3DLINECAPS_TEXTURE : constant := 16#00000001#;
D3DLINECAPS_ZTEST : constant := 16#00000002#;
D3DLINECAPS_BLEND : constant := 16#00000004#;
D3DLINECAPS_ALPHACMP : constant := 16#00000008#;
D3DLINECAPS_FOG : constant := 16#00000010#;
D3DLINECAPS_ANTIALIAS : constant := 16#00000020#;
D3DPRASTERCAPS_DITHER : constant := 16#00000001#;
D3DPRASTERCAPS_ZTEST : constant := 16#00000010#;
D3DPRASTERCAPS_FOGVERTEX : constant := 16#00000080#;
D3DPRASTERCAPS_FOGTABLE : constant := 16#00000100#;
D3DPRASTERCAPS_MIPMAPLODBIAS : constant := 16#00002000#;
D3DPRASTERCAPS_ZBUFFERLESSHSR : constant := 16#00008000#;
D3DPRASTERCAPS_FOGRANGE : constant := 16#00010000#;
D3DPRASTERCAPS_ANISOTROPY : constant := 16#00020000#;
D3DPRASTERCAPS_WBUFFER : constant := 16#00040000#;
D3DPRASTERCAPS_WFOG : constant := 16#00100000#;
D3DPRASTERCAPS_ZFOG : constant := 16#00200000#;
D3DPRASTERCAPS_COLORPERSPECTIVE : constant := 16#00400000#; -- /* Device iterates colors perspective correct */;
D3DPRASTERCAPS_SCISSORTEST : constant := 16#01000000#;
D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS : constant := 16#02000000#;
D3DPRASTERCAPS_DEPTHBIAS : constant := 16#04000000#;
D3DPRASTERCAPS_MULTISAMPLE_TOGGLE : constant := 16#08000000#;
D3DPCMPCAPS_NEVER : constant := 16#00000001#;
D3DPCMPCAPS_LESS : constant := 16#00000002#;
D3DPCMPCAPS_EQUAL : constant := 16#00000004#;
D3DPCMPCAPS_LESSEQUAL : constant := 16#00000008#;
D3DPCMPCAPS_GREATER : constant := 16#00000010#;
D3DPCMPCAPS_NOTEQUAL : constant := 16#00000020#;
D3DPCMPCAPS_GREATEREQUAL : constant := 16#00000040#;
D3DPCMPCAPS_ALWAYS : constant := 16#00000080#;
D3DPBLENDCAPS_ZERO : constant := 16#00000001#;
D3DPBLENDCAPS_ONE : constant := 16#00000002#;
D3DPBLENDCAPS_SRCCOLOR : constant := 16#00000004#;
D3DPBLENDCAPS_INVSRCCOLOR : constant := 16#00000008#;
D3DPBLENDCAPS_SRCALPHA : constant := 16#00000010#;
D3DPBLENDCAPS_INVSRCALPHA : constant := 16#00000020#;
D3DPBLENDCAPS_DESTALPHA : constant := 16#00000040#;
D3DPBLENDCAPS_INVDESTALPHA : constant := 16#00000080#;
D3DPBLENDCAPS_DESTCOLOR : constant := 16#00000100#;
D3DPBLENDCAPS_INVDESTCOLOR : constant := 16#00000200#;
D3DPBLENDCAPS_SRCALPHASAT : constant := 16#00000400#;
D3DPBLENDCAPS_BOTHSRCALPHA : constant := 16#00000800#;
D3DPBLENDCAPS_BOTHINVSRCALPHA : constant := 16#00001000#;
D3DPBLENDCAPS_BLENDFACTOR : constant := 16#00002000#; -- /* Supports both D3DBLEND_BLENDFACTOR and D3DBLEND_INVBLENDFACTOR */;
D3DPBLENDCAPS_SRCCOLOR2 : constant := 16#00004000#;
D3DPBLENDCAPS_INVSRCCOLOR2 : constant := 16#00008000#;
D3DPSHADECAPS_COLORGOURAUDRGB : constant := 16#00000008#;
D3DPSHADECAPS_SPECULARGOURAUDRGB : constant := 16#00000200#;
D3DPSHADECAPS_ALPHAGOURAUDBLEND : constant := 16#00004000#;
D3DPSHADECAPS_FOGGOURAUD : constant := 16#00080000#;
D3DPTEXTURECAPS_PERSPECTIVE : constant := 16#00000001#; -- /* Perspective-correct texturing is supported */;
D3DPTEXTURECAPS_POW2 : constant := 16#00000002#; -- /* Power-of-2 texture dimensions are required - applies to non-Cube/Volume textures only. */;
D3DPTEXTURECAPS_ALPHA : constant := 16#00000004#; -- /* Alpha in texture pixels is supported */;
D3DPTEXTURECAPS_SQUAREONLY : constant := 16#00000020#; -- /* Only square textures are supported */;
D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE : constant := 16#00000040#; -- /* Texture indices are not scaled by the texture size prior to interpolation */;
D3DPTEXTURECAPS_ALPHAPALETTE : constant := 16#00000080#; -- /* Device can draw alpha from texture palettes */;
D3DPTEXTURECAPS_NONPOW2CONDITIONAL : constant := 16#00000100#;
D3DPTEXTURECAPS_PROJECTED : constant := 16#00000400#; -- /* Device can do D3DTTFF_PROJECTED */;
D3DPTEXTURECAPS_CUBEMAP : constant := 16#00000800#; -- /* Device can do cubemap textures */;
D3DPTEXTURECAPS_VOLUMEMAP : constant := 16#00002000#; -- /* Device can do volume textures */;
D3DPTEXTURECAPS_MIPMAP : constant := 16#00004000#; -- /* Device can do mipmapped textures */;
D3DPTEXTURECAPS_MIPVOLUMEMAP : constant := 16#00008000#; -- /* Device can do mipmapped volume textures */;
D3DPTEXTURECAPS_MIPCUBEMAP : constant := 16#00010000#; -- /* Device can do mipmapped cube maps */;
D3DPTEXTURECAPS_CUBEMAP_POW2 : constant := 16#00020000#; -- /* Device requires that cubemaps be power-of-2 dimension */;
D3DPTEXTURECAPS_VOLUMEMAP_POW2 : constant := 16#00040000#; -- /* Device requires that volume maps be power-of-2 dimension */;
D3DPTEXTURECAPS_NOPROJECTEDBUMPENV : constant := 16#00200000#; -- /* Device does not support projected bump env lookup operation ;
D3DPTFILTERCAPS_MINFPOINT : constant := 16#00000100#; -- /* Min Filter */;
D3DPTFILTERCAPS_MINFLINEAR : constant := 16#00000200#;
D3DPTFILTERCAPS_MINFANISOTROPIC : constant := 16#00000400#;
D3DPTFILTERCAPS_MINFPYRAMIDALQUAD : constant := 16#00000800#;
D3DPTFILTERCAPS_MINFGAUSSIANQUAD : constant := 16#00001000#;
D3DPTFILTERCAPS_MIPFPOINT : constant := 16#00010000#; -- /* Mip Filter */;
D3DPTFILTERCAPS_MIPFLINEAR : constant := 16#00020000#;
D3DPTFILTERCAPS_CONVOLUTIONMONO : constant := 16#00040000#; -- /* Min and Mag for the convolution mono filter */;
D3DPTFILTERCAPS_MAGFPOINT : constant := 16#01000000#; -- /* Mag Filter */;
D3DPTFILTERCAPS_MAGFLINEAR : constant := 16#02000000#;
D3DPTFILTERCAPS_MAGFANISOTROPIC : constant := 16#04000000#;
D3DPTFILTERCAPS_MAGFPYRAMIDALQUAD : constant := 16#08000000#;
D3DPTFILTERCAPS_MAGFGAUSSIANQUAD : constant := 16#10000000#;
D3DPTADDRESSCAPS_WRAP : constant := 16#00000001#;
D3DPTADDRESSCAPS_MIRROR : constant := 16#00000002#;
D3DPTADDRESSCAPS_CLAMP : constant := 16#00000004#;
D3DPTADDRESSCAPS_BORDER : constant := 16#00000008#;
D3DPTADDRESSCAPS_INDEPENDENTUV : constant := 16#00000010#;
D3DPTADDRESSCAPS_MIRRORONCE : constant := 16#00000020#;
D3DSTENCILCAPS_KEEP : constant := 16#00000001#;
D3DSTENCILCAPS_ZERO : constant := 16#00000002#;
D3DSTENCILCAPS_REPLACE : constant := 16#00000004#;
D3DSTENCILCAPS_INCRSAT : constant := 16#00000008#;
D3DSTENCILCAPS_DECRSAT : constant := 16#00000010#;
D3DSTENCILCAPS_INVERT : constant := 16#00000020#;
D3DSTENCILCAPS_INCR : constant := 16#00000040#;
D3DSTENCILCAPS_DECR : constant := 16#00000080#;
D3DSTENCILCAPS_TWOSIDED : constant := 16#00000100#;
D3DTEXOPCAPS_DISABLE : constant := 16#00000001#;
D3DTEXOPCAPS_SELECTARG1 : constant := 16#00000002#;
D3DTEXOPCAPS_SELECTARG2 : constant := 16#00000004#;
D3DTEXOPCAPS_MODULATE : constant := 16#00000008#;
D3DTEXOPCAPS_MODULATE2X : constant := 16#00000010#;
D3DTEXOPCAPS_MODULATE4X : constant := 16#00000020#;
D3DTEXOPCAPS_ADD : constant := 16#00000040#;
D3DTEXOPCAPS_ADDSIGNED : constant := 16#00000080#;
D3DTEXOPCAPS_ADDSIGNED2X : constant := 16#00000100#;
D3DTEXOPCAPS_SUBTRACT : constant := 16#00000200#;
D3DTEXOPCAPS_ADDSMOOTH : constant := 16#00000400#;
D3DTEXOPCAPS_BLENDDIFFUSEALPHA : constant := 16#00000800#;
D3DTEXOPCAPS_BLENDTEXTUREALPHA : constant := 16#00001000#;
D3DTEXOPCAPS_BLENDFACTORALPHA : constant := 16#00002000#;
D3DTEXOPCAPS_BLENDTEXTUREALPHAPM : constant := 16#00004000#;
D3DTEXOPCAPS_BLENDCURRENTALPHA : constant := 16#00008000#;
D3DTEXOPCAPS_PREMODULATE : constant := 16#00010000#;
D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR : constant := 16#00020000#;
D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA : constant := 16#00040000#;
D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR : constant := 16#00080000#;
D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA : constant := 16#00100000#;
D3DTEXOPCAPS_BUMPENVMAP : constant := 16#00200000#;
D3DTEXOPCAPS_BUMPENVMAPLUMINANCE : constant := 16#00400000#;
D3DTEXOPCAPS_DOTPRODUCT3 : constant := 16#00800000#;
D3DTEXOPCAPS_MULTIPLYADD : constant := 16#01000000#;
D3DTEXOPCAPS_LERP : constant := 16#02000000#;
D3DFVFCAPS_TEXCOORDCOUNTMASK : constant := 16#0000ffff#; -- /* mask for texture coordinate count field */;
D3DFVFCAPS_DONOTSTRIPELEMENTS : constant := 16#00080000#; -- /* Device prefers that vertex elements not be stripped */;
D3DFVFCAPS_PSIZE : constant := 16#00100000#; -- /* Device can receive point size */;
D3DVTXPCAPS_TEXGEN : constant := 16#00000001#; -- /* device can do texgen */;
D3DVTXPCAPS_MATERIALSOURCE7 : constant := 16#00000002#; -- /* device can do DX7-level colormaterialsource ops */;
D3DVTXPCAPS_DIRECTIONALLIGHTS : constant := 16#00000008#; -- /* device can do directional lights */;
D3DVTXPCAPS_POSITIONALLIGHTS : constant := 16#00000010#; -- /* device can do positional lights (includes point and spot) */;
D3DVTXPCAPS_LOCALVIEWER : constant := 16#00000020#; -- /* device can do local viewer */;
D3DVTXPCAPS_TWEENING : constant := 16#00000040#; -- /* device can do vertex tweening */;
D3DVTXPCAPS_TEXGEN_SPHEREMAP : constant := 16#00000100#; -- /* device supports D3DTSS_TCI_SPHEREMAP */;
D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER : constant := 16#00000200#; -- /* device does not support TexGen in non-loca#;
D3DDEVCAPS2_STREAMOFFSET : constant := 16#00000001#; -- /* Device supports offsets in streams. Must be set by DX9 drivers */;
D3DDEVCAPS2_DMAPNPATCH : constant := 16#00000002#; -- /* Device supports displacement maps for N-Patches*/;
D3DDEVCAPS2_ADAPTIVETESSRTPATCH : constant := 16#00000004#; -- /* Device supports adaptive tesselation of RT-patches*/;
D3DDEVCAPS2_ADAPTIVETESSNPATCH : constant := 16#00000008#; -- /* Device supports adaptive tesselation of N-patches*/;
D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES : constant := 16#00000010#; -- /* Device supports StretchRect calls with a texture as the source*/;
D3DDEVCAPS2_PRESAMPLEDDMAPNPATCH : constant := 16#00000020#; -- /* Device supports presampled displacement maps for N-Patches */;
D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET : constant := 16#00000040#; -- /* Vertex elements in a vertex declaration can share the same stream offset */;
D3DDTCAPS_UBYTE4 : constant := 16#00000001#;
D3DDTCAPS_UBYTE4N : constant := 16#00000002#;
D3DDTCAPS_SHORT2N : constant := 16#00000004#;
D3DDTCAPS_SHORT4N : constant := 16#00000008#;
D3DDTCAPS_USHORT2N : constant := 16#00000010#;
D3DDTCAPS_USHORT4N : constant := 16#00000020#;
D3DDTCAPS_UDEC3 : constant := 16#00000040#;
D3DDTCAPS_DEC3N : constant := 16#00000080#;
D3DDTCAPS_FLOAT16_2 : constant := 16#00000100#;
D3DDTCAPS_FLOAT16_4 : constant := 16#00000200#;
--
-- THE END
--
end d3d9caps;