Ada计算机图形DirectX之d3d9caps

----------------------------------------
-- 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;

猜你喜欢

转载自blog.csdn.net/adacore/article/details/83031851