| 1 |
/*==========================================================================; |
|---|
| 2 |
* |
|---|
| 3 |
* Copyright (C) Microsoft Corporation. All Rights Reserved. |
|---|
| 4 |
* |
|---|
| 5 |
* File: d3d9caps.h |
|---|
| 6 |
* Content: Direct3D capabilities include file |
|---|
| 7 |
* |
|---|
| 8 |
***************************************************************************/ |
|---|
| 9 |
|
|---|
| 10 |
module win32.directx.d3d9caps; |
|---|
| 11 |
|
|---|
| 12 |
private import win32.windows, |
|---|
| 13 |
win32.directx.d3d9types; |
|---|
| 14 |
|
|---|
| 15 |
align(4): |
|---|
| 16 |
|
|---|
| 17 |
struct D3DVSHADERCAPS2_0 |
|---|
| 18 |
{ |
|---|
| 19 |
DWORD Caps; |
|---|
| 20 |
INT DynamicFlowControlDepth; |
|---|
| 21 |
INT NumTemps; |
|---|
| 22 |
INT StaticFlowControlDepth; |
|---|
| 23 |
} |
|---|
| 24 |
|
|---|
| 25 |
const D3DVS20CAPS_PREDICATION = (1<<0); |
|---|
| 26 |
|
|---|
| 27 |
const D3DVS20_MAX_DYNAMICFLOWCONTROLDEPTH = 24; |
|---|
| 28 |
const D3DVS20_MIN_DYNAMICFLOWCONTROLDEPTH = 0; |
|---|
| 29 |
const D3DVS20_MAX_NUMTEMPS = 32; |
|---|
| 30 |
const D3DVS20_MIN_NUMTEMPS = 12; |
|---|
| 31 |
const D3DVS20_MAX_STATICFLOWCONTROLDEPTH = 4; |
|---|
| 32 |
const D3DVS20_MIN_STATICFLOWCONTROLDEPTH = 1; |
|---|
| 33 |
|
|---|
| 34 |
struct D3DPSHADERCAPS2_0 |
|---|
| 35 |
{ |
|---|
| 36 |
DWORD Caps; |
|---|
| 37 |
INT DynamicFlowControlDepth; |
|---|
| 38 |
INT NumTemps; |
|---|
| 39 |
INT StaticFlowControlDepth; |
|---|
| 40 |
INT NumInstructionSlots; |
|---|
| 41 |
} |
|---|
| 42 |
|
|---|
| 43 |
const D3DPS20CAPS_ARBITRARYSWIZZLE = (1<<0); |
|---|
| 44 |
const D3DPS20CAPS_GRADIENTINSTRUCTIONS = (1<<1); |
|---|
| 45 |
const D3DPS20CAPS_PREDICATION = (1<<2); |
|---|
| 46 |
const D3DPS20CAPS_NODEPENDENTREADLIMIT = (1<<3); |
|---|
| 47 |
const D3DPS20CAPS_NOTEXINSTRUCTIONLIMIT = (1<<4); |
|---|
| 48 |
|
|---|
| 49 |
const D3DPS20_MAX_DYNAMICFLOWCONTROLDEPTH = 24; |
|---|
| 50 |
const D3DPS20_MIN_DYNAMICFLOWCONTROLDEPTH = 0; |
|---|
| 51 |
const D3DPS20_MAX_NUMTEMPS = 32; |
|---|
| 52 |
const D3DPS20_MIN_NUMTEMPS = 12; |
|---|
| 53 |
const D3DPS20_MAX_STATICFLOWCONTROLDEPTH = 4; |
|---|
| 54 |
const D3DPS20_MIN_STATICFLOWCONTROLDEPTH = 0; |
|---|
| 55 |
const D3DPS20_MAX_NUMINSTRUCTIONSLOTS = 512; |
|---|
| 56 |
const D3DPS20_MIN_NUMINSTRUCTIONSLOTS = 96; |
|---|
| 57 |
|
|---|
| 58 |
const D3DMIN30SHADERINSTRUCTIONS = 512; |
|---|
| 59 |
const D3DMAX30SHADERINSTRUCTIONS = 32768; |
|---|
| 60 |
|
|---|
| 61 |
struct D3DCAPS9 |
|---|
| 62 |
{ |
|---|
| 63 |
/* Device Info */ |
|---|
| 64 |
D3DDEVTYPE DeviceType; |
|---|
| 65 |
UINT AdapterOrdinal; |
|---|
| 66 |
|
|---|
| 67 |
/* Caps from DX7 Draw */ |
|---|
| 68 |
DWORD Caps; |
|---|
| 69 |
DWORD Caps2; |
|---|
| 70 |
DWORD Caps3; |
|---|
| 71 |
DWORD PresentationIntervals; |
|---|
| 72 |
|
|---|
| 73 |
/* Cursor Caps */ |
|---|
| 74 |
DWORD CursorCaps; |
|---|
| 75 |
|
|---|
| 76 |
/* 3D Device Caps */ |
|---|
| 77 |
DWORD DevCaps; |
|---|
| 78 |
|
|---|
| 79 |
DWORD PrimitiveMiscCaps; |
|---|
| 80 |
DWORD RasterCaps; |
|---|
| 81 |
DWORD ZCmpCaps; |
|---|
| 82 |
DWORD SrcBlendCaps; |
|---|
| 83 |
DWORD DestBlendCaps; |
|---|
| 84 |
DWORD AlphaCmpCaps; |
|---|
| 85 |
DWORD ShadeCaps; |
|---|
| 86 |
DWORD TextureCaps; |
|---|
| 87 |
DWORD TextureFilterCaps; // D3DPTFILTERCAPS for IDirect3DTexture9's |
|---|
| 88 |
DWORD CubeTextureFilterCaps; // D3DPTFILTERCAPS for IDirect3DCubeTexture9's |
|---|
| 89 |
DWORD VolumeTextureFilterCaps; // D3DPTFILTERCAPS for IDirect3DVolumeTexture9's |
|---|
| 90 |
DWORD TextureAddressCaps; // D3DPTADDRESSCAPS for IDirect3DTexture9's |
|---|
| 91 |
DWORD VolumeTextureAddressCaps; // D3DPTADDRESSCAPS for IDirect3DVolumeTexture9's |
|---|
| 92 |
|
|---|
| 93 |
DWORD LineCaps; // D3DLINECAPS |
|---|
| 94 |
|
|---|
| 95 |
DWORD MaxTextureWidth, MaxTextureHeight; |
|---|
| 96 |
DWORD MaxVolumeExtent; |
|---|
| 97 |
|
|---|
| 98 |
DWORD MaxTextureRepeat; |
|---|
| 99 |
DWORD MaxTextureAspectRatio; |
|---|
| 100 |
DWORD MaxAnisotropy; |
|---|
| 101 |
float MaxVertexW; |
|---|
| 102 |
|
|---|
| 103 |
float GuardBandLeft; |
|---|
| 104 |
float GuardBandTop; |
|---|
| 105 |
float GuardBandRight; |
|---|
| 106 |
float GuardBandBottom; |
|---|
| 107 |
|
|---|
| 108 |
float ExtentsAdjust; |
|---|
| 109 |
DWORD StencilCaps; |
|---|
| 110 |
|
|---|
| 111 |
DWORD FVFCaps; |
|---|
| 112 |
DWORD TextureOpCaps; |
|---|
| 113 |
DWORD MaxTextureBlendStages; |
|---|
| 114 |
DWORD MaxSimultaneousTextures; |
|---|
| 115 |
|
|---|
| 116 |
DWORD VertexProcessingCaps; |
|---|
| 117 |
DWORD MaxActiveLights; |
|---|
| 118 |
DWORD MaxUserClipPlanes; |
|---|
| 119 |
DWORD MaxVertexBlendMatrices; |
|---|
| 120 |
DWORD MaxVertexBlendMatrixIndex; |
|---|
| 121 |
|
|---|
| 122 |
float MaxPointSize; |
|---|
| 123 |
|
|---|
| 124 |
DWORD MaxPrimitiveCount; // max number of primitives per DrawPrimitive call |
|---|
| 125 |
DWORD MaxVertexIndex; |
|---|
| 126 |
DWORD MaxStreams; |
|---|
| 127 |
DWORD MaxStreamStride; // max stride for SetStreamSource |
|---|
| 128 |
|
|---|
| 129 |
DWORD VertexShaderVersion; |
|---|
| 130 |
DWORD MaxVertexShaderConst; // number of vertex shader constant registers |
|---|
| 131 |
|
|---|
| 132 |
DWORD PixelShaderVersion; |
|---|
| 133 |
float PixelShader1xMaxValue; // max value storable in registers of ps.1.x shaders |
|---|
| 134 |
|
|---|
| 135 |
// Here are the DX9 specific ones |
|---|
| 136 |
DWORD DevCaps2; |
|---|
| 137 |
|
|---|
| 138 |
float MaxNpatchTessellationLevel; |
|---|
| 139 |
DWORD Reserved5; |
|---|
| 140 |
|
|---|
| 141 |
UINT MasterAdapterOrdinal; // ordinal of master adaptor for adapter group |
|---|
| 142 |
UINT AdapterOrdinalInGroup; // ordinal inside the adapter group |
|---|
| 143 |
UINT NumberOfAdaptersInGroup; // number of adapters in this adapter group (only if master) |
|---|
| 144 |
DWORD DeclTypes; // Data types, supported in vertex declarations |
|---|
| 145 |
DWORD NumSimultaneousRTs; // Will be at least 1 |
|---|
| 146 |
DWORD StretchRectFilterCaps; // Filter caps supported by StretchRect |
|---|
| 147 |
D3DVSHADERCAPS2_0 VS20Caps; |
|---|
| 148 |
D3DPSHADERCAPS2_0 PS20Caps; |
|---|
| 149 |
DWORD VertexTextureFilterCaps; // D3DPTFILTERCAPS for IDirect3DTexture9's for texture, used in vertex shaders |
|---|
| 150 |
DWORD MaxVShaderInstructionsExecuted; // maximum number of vertex shader instructions that can be executed |
|---|
| 151 |
DWORD MaxPShaderInstructionsExecuted; // maximum number of pixel shader instructions that can be executed |
|---|
| 152 |
DWORD MaxVertexShader30InstructionSlots; |
|---|
| 153 |
DWORD MaxPixelShader30InstructionSlots; |
|---|
| 154 |
} |
|---|
| 155 |
|
|---|
| 156 |
// |
|---|
| 157 |
// BIT DEFINES FOR D3DCAPS9 DWORD MEMBERS |
|---|
| 158 |
// |
|---|
| 159 |
|
|---|
| 160 |
// |
|---|
| 161 |
// Caps |
|---|
| 162 |
// |
|---|
| 163 |
const D3DCAPS_READ_SCANLINE = 0x00020000L; |
|---|
| 164 |
|
|---|
| 165 |
// |
|---|
| 166 |
// Caps2 |
|---|
| 167 |
// |
|---|
| 168 |
const D3DCAPS2_FULLSCREENGAMMA = 0x00020000L; |
|---|
| 169 |
const D3DCAPS2_CANCALIBRATEGAMMA = 0x00100000L; |
|---|
| 170 |
const D3DCAPS2_RESERVED = 0x02000000L; |
|---|
| 171 |
const D3DCAPS2_CANMANAGERESOURCE = 0x10000000L; |
|---|
| 172 |
const D3DCAPS2_DYNAMICTEXTURES = 0x20000000L; |
|---|
| 173 |
const D3DCAPS2_CANAUTOGENMIPMAP = 0x40000000L; |
|---|
| 174 |
|
|---|
| 175 |
const D3DCAPS2_CANSHARERESOURCE = 0x80000000L; |
|---|
| 176 |
|
|---|
| 177 |
// |
|---|
| 178 |
// Caps3 |
|---|
| 179 |
// |
|---|
| 180 |
const D3DCAPS3_RESERVED = 0x8000001fL; |
|---|
| 181 |
|
|---|
| 182 |
// Indicates that the device can respect the ALPHABLENDENABLE render state |
|---|
| 183 |
// when fullscreen while using the FLIP or DISCARD swap effect. |
|---|
| 184 |
// COPY and COPYVSYNC swap effects work whether or not this flag is set. |
|---|
| 185 |
const D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD = 0x00000020L; |
|---|
| 186 |
|
|---|
| 187 |
// Indicates that the device can perform a gamma correction from |
|---|
| 188 |
// a windowed back buffer containing linear content to the sRGB desktop. |
|---|
| 189 |
const D3DCAPS3_LINEAR_TO_SRGB_PRESENTATION = 0x00000080L; |
|---|
| 190 |
|
|---|
| 191 |
const D3DCAPS3_COPY_TO_VIDMEM = 0x00000100L; /* Device can acclerate copies from sysmem to local vidmem */ |
|---|
| 192 |
const D3DCAPS3_COPY_TO_SYSTEMMEM = 0x00000200L; /* Device can acclerate copies from local vidmem to sysmem */ |
|---|
| 193 |
|
|---|
| 194 |
|
|---|
| 195 |
// |
|---|
| 196 |
// PresentationIntervals |
|---|
| 197 |
// |
|---|
| 198 |
const D3DPRESENT_INTERVAL_DEFAULT = 0x00000000L; |
|---|
| 199 |
const D3DPRESENT_INTERVAL_ONE = 0x00000001L; |
|---|
| 200 |
const D3DPRESENT_INTERVAL_TWO = 0x00000002L; |
|---|
| 201 |
const D3DPRESENT_INTERVAL_THREE = 0x00000004L; |
|---|
| 202 |
const D3DPRESENT_INTERVAL_FOUR = 0x00000008L; |
|---|
| 203 |
const D3DPRESENT_INTERVAL_IMMEDIATE = 0x80000000L; |
|---|
| 204 |
|
|---|
| 205 |
// |
|---|
| 206 |
// CursorCaps |
|---|
| 207 |
// |
|---|
| 208 |
// Driver supports HW color cursor in at least hi-res modes(height >=400) |
|---|
| 209 |
const D3DCURSORCAPS_COLOR = 0x00000001L; |
|---|
| 210 |
// Driver supports HW cursor also in low-res modes(height < 400) |
|---|
| 211 |
const D3DCURSORCAPS_LOWRES = 0x00000002L; |
|---|
| 212 |
|
|---|
| 213 |
// |
|---|
| 214 |
// DevCaps |
|---|
| 215 |
// |
|---|
| 216 |
const D3DDEVCAPS_EXECUTESYSTEMMEMORY = 0x00000010L; /* Device can use execute buffers from system memory */ |
|---|
| 217 |
const D3DDEVCAPS_EXECUTEVIDEOMEMORY = 0x00000020L; /* Device can use execute buffers from video memory */ |
|---|
| 218 |
const D3DDEVCAPS_TLVERTEXSYSTEMMEMORY = 0x00000040L; /* Device can use TL buffers from system memory */ |
|---|
| 219 |
const D3DDEVCAPS_TLVERTEXVIDEOMEMORY = 0x00000080L; /* Device can use TL buffers from video memory */ |
|---|
| 220 |
const D3DDEVCAPS_TEXTURESYSTEMMEMORY = 0x00000100L; /* Device can texture from system memory */ |
|---|
| 221 |
const D3DDEVCAPS_TEXTUREVIDEOMEMORY = 0x00000200L; /* Device can texture from device memory */ |
|---|
| 222 |
const D3DDEVCAPS_DRAWPRIMTLVERTEX = 0x00000400L; /* Device can draw TLVERTEX primitives */ |
|---|
| 223 |
const D3DDEVCAPS_CANRENDERAFTERFLIP = 0x00000800L; /* Device can render without waiting for flip to complete */ |
|---|
| 224 |
const D3DDEVCAPS_TEXTURENONLOCALVIDMEM = 0x00001000L; /* Device can texture from nonlocal video memory */ |
|---|
| 225 |
const D3DDEVCAPS_DRAWPRIMITIVES2 = 0x00002000L; /* Device can support DrawPrimitives2 */ |
|---|
| 226 |
const D3DDEVCAPS_SEPARATETEXTUREMEMORIES = 0x00004000L; /* Device is texturing from separate memory pools */ |
|---|
| 227 |
const D3DDEVCAPS_DRAWPRIMITIVES2EX = 0x00008000L; /* Device can support Extended DrawPrimitives2 i.e. DX7 compliant driver*/ |
|---|
| 228 |
const D3DDEVCAPS_HWTRANSFORMANDLIGHT = 0x00010000L; /* Device can support transformation and lighting in hardware and DRAWPRIMITIVES2EX must be also */ |
|---|
| 229 |
const D3DDEVCAPS_CANBLTSYSTONONLOCAL = 0x00020000L; /* Device supports a Tex Blt from system memory to non-local vidmem */ |
|---|
| 230 |
const D3DDEVCAPS_HWRASTERIZATION = 0x00080000L; /* Device has HW acceleration for rasterization */ |
|---|
| 231 |
const D3DDEVCAPS_PUREDEVICE = 0x00100000L; /* Device supports D3DCREATE_PUREDEVICE */ |
|---|
| 232 |
const D3DDEVCAPS_QUINTICRTPATCHES = 0x00200000L; /* Device supports quintic Beziers and BSplines */ |
|---|
| 233 |
const D3DDEVCAPS_RTPATCHES = 0x00400000L; /* Device supports Rect and Tri patches */ |
|---|
| 234 |
const D3DDEVCAPS_RTPATCHHANDLEZERO = 0x00800000L; /* Indicates that RT Patches may be drawn efficiently using handle 0 */ |
|---|
| 235 |
const D3DDEVCAPS_NPATCHES = 0x01000000L; /* Device supports N-Patches */ |
|---|
| 236 |
|
|---|
| 237 |
// |
|---|
| 238 |
// PrimitiveMiscCaps |
|---|
| 239 |
// |
|---|
| 240 |
const D3DPMISCCAPS_MASKZ = 0x00000002L; |
|---|
| 241 |
const D3DPMISCCAPS_CULLNONE = 0x00000010L; |
|---|
| 242 |
const D3DPMISCCAPS_CULLCW = 0x00000020L; |
|---|
| 243 |
const D3DPMISCCAPS_CULLCCW = 0x00000040L; |
|---|
| 244 |
const D3DPMISCCAPS_COLORWRITEENABLE = 0x00000080L; |
|---|
| 245 |
const D3DPMISCCAPS_CLIPPLANESCALEDPOINTS = 0x00000100L; /* Device correctly clips scaled points to clip planes */ |
|---|
| 246 |
const D3DPMISCCAPS_CLIPTLVERTS = 0x00000200L; /* device will clip post-transformed vertex primitives */ |
|---|
| 247 |
const D3DPMISCCAPS_TSSARGTEMP = 0x00000400L; /* device supports D3DTA_TEMP for temporary register */ |
|---|
| 248 |
const D3DPMISCCAPS_BLENDOP = 0x00000800L; /* device supports D3DRS_BLENDOP */ |
|---|
| 249 |
const D3DPMISCCAPS_NULLREFERENCE = 0x00001000L; /* Reference Device that doesnt render */ |
|---|
| 250 |
const D3DPMISCCAPS_INDEPENDENTWRITEMASKS = 0x00004000L; /* Device supports independent write masks for MET or MRT */ |
|---|
| 251 |
const D3DPMISCCAPS_PERSTAGECONSTANT = 0x00008000L; /* Device supports per-stage constants */ |
|---|
| 252 |
const D3DPMISCCAPS_FOGANDSPECULARALPHA = 0x00010000L; /* Device supports separate fog and specular alpha (many devices |
|---|
| 253 |
use the specular alpha channel to store fog factor) */ |
|---|
| 254 |
const D3DPMISCCAPS_SEPARATEALPHABLEND = 0x00020000L; /* Device supports separate blend settings for the alpha channel */ |
|---|
| 255 |
const D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS = 0x00040000L; /* Device supports different bit depths for MRT */ |
|---|
| 256 |
const D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING = 0x00080000L; /* Device supports post-pixel shader operations for MRT */ |
|---|
| 257 |
const D3DPMISCCAPS_FOGVERTEXCLAMPED = 0x00100000L; /* Device clamps fog blend factor per vertex */ |
|---|
| 258 |
|
|---|
| 259 |
const D3DPMISCCAPS_POSTBLENDSRGBCONVERT = 0x00200000L; /* Indicates device can perform conversion to sRGB after blending. */ |
|---|
| 260 |
|
|---|
| 261 |
// |
|---|
| 262 |
// LineCaps |
|---|
| 263 |
// |
|---|
| 264 |
const D3DLINECAPS_TEXTURE = 0x00000001L; |
|---|
| 265 |
const D3DLINECAPS_ZTEST = 0x00000002L; |
|---|
| 266 |
const D3DLINECAPS_BLEND = 0x00000004L; |
|---|
| 267 |
const D3DLINECAPS_ALPHACMP = 0x00000008L; |
|---|
| 268 |
const D3DLINECAPS_FOG = 0x00000010L; |
|---|
| 269 |
const D3DLINECAPS_ANTIALIAS = 0x00000020L; |
|---|
| 270 |
|
|---|
| 271 |
// |
|---|
| 272 |
// RasterCaps |
|---|
| 273 |
// |
|---|
| 274 |
const D3DPRASTERCAPS_DITHER = 0x00000001L; |
|---|
| 275 |
const D3DPRASTERCAPS_ZTEST = 0x00000010L; |
|---|
| 276 |
const D3DPRASTERCAPS_FOGVERTEX = 0x00000080L; |
|---|
| 277 |
const D3DPRASTERCAPS_FOGTABLE = 0x00000100L; |
|---|
| 278 |
const D3DPRASTERCAPS_MIPMAPLODBIAS = 0x00002000L; |
|---|
| 279 |
const D3DPRASTERCAPS_ZBUFFERLESSHSR = 0x00008000L; |
|---|
| 280 |
const D3DPRASTERCAPS_FOGRANGE = 0x00010000L; |
|---|
| 281 |
const D3DPRASTERCAPS_ANISOTROPY = 0x00020000L; |
|---|
| 282 |
const D3DPRASTERCAPS_WBUFFER = 0x00040000L; |
|---|
| 283 |
const D3DPRASTERCAPS_WFOG = 0x00100000L; |
|---|
| 284 |
const D3DPRASTERCAPS_ZFOG = 0x00200000L; |
|---|
| 285 |
const D3DPRASTERCAPS_COLORPERSPECTIVE = 0x00400000L; /* Device iterates colors perspective correct */ |
|---|
| 286 |
const D3DPRASTERCAPS_SCISSORTEST = 0x01000000L; |
|---|
| 287 |
const D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS = 0x02000000L; |
|---|
| 288 |
const D3DPRASTERCAPS_DEPTHBIAS = 0x04000000L; |
|---|
| 289 |
const D3DPRASTERCAPS_MULTISAMPLE_TOGGLE = 0x08000000L; |
|---|
| 290 |
|
|---|
| 291 |
// |
|---|
| 292 |
// ZCmpCaps, AlphaCmpCaps |
|---|
| 293 |
// |
|---|
| 294 |
const D3DPCMPCAPS_NEVER = 0x00000001L; |
|---|
| 295 |
const D3DPCMPCAPS_LESS = 0x00000002L; |
|---|
| 296 |
const D3DPCMPCAPS_EQUAL = 0x00000004L; |
|---|
| 297 |
const D3DPCMPCAPS_LESSEQUAL = 0x00000008L; |
|---|
| 298 |
const D3DPCMPCAPS_GREATER = 0x00000010L; |
|---|
| 299 |
const D3DPCMPCAPS_NOTEQUAL = 0x00000020L; |
|---|
| 300 |
const D3DPCMPCAPS_GREATEREQUAL = 0x00000040L; |
|---|
| 301 |
const D3DPCMPCAPS_ALWAYS = 0x00000080L; |
|---|
| 302 |
|
|---|
| 303 |
// |
|---|
| 304 |
// SourceBlendCaps, DestBlendCaps |
|---|
| 305 |
// |
|---|
| 306 |
const D3DPBLENDCAPS_ZERO = 0x00000001L; |
|---|
| 307 |
const D3DPBLENDCAPS_ONE = 0x00000002L; |
|---|
| 308 |
const D3DPBLENDCAPS_SRCCOLOR = 0x00000004L; |
|---|
| 309 |
const D3DPBLENDCAPS_INVSRCCOLOR = 0x00000008L; |
|---|
| 310 |
const D3DPBLENDCAPS_SRCALPHA = 0x00000010L; |
|---|
| 311 |
const D3DPBLENDCAPS_INVSRCALPHA = 0x00000020L; |
|---|
| 312 |
const D3DPBLENDCAPS_DESTALPHA = 0x00000040L; |
|---|
| 313 |
const D3DPBLENDCAPS_INVDESTALPHA = 0x00000080L; |
|---|
| 314 |
const D3DPBLENDCAPS_DESTCOLOR = 0x00000100L; |
|---|
| 315 |
const D3DPBLENDCAPS_INVDESTCOLOR = 0x00000200L; |
|---|
| 316 |
const D3DPBLENDCAPS_SRCALPHASAT = 0x00000400L; |
|---|
| 317 |
const D3DPBLENDCAPS_BOTHSRCALPHA = 0x00000800L; |
|---|
| 318 |
const D3DPBLENDCAPS_BOTHINVSRCALPHA = 0x00001000L; |
|---|
| 319 |
const D3DPBLENDCAPS_BLENDFACTOR = 0x00002000L; /* Supports both D3DBLEND_BLENDFACTOR and D3DBLEND_INVBLENDFACTOR */ |
|---|
| 320 |
|
|---|
| 321 |
const D3DPBLENDCAPS_SRCCOLOR2 = 0x00004000L; |
|---|
| 322 |
const D3DPBLENDCAPS_INVSRCCOLOR2 = 0x00008000L; |
|---|
| 323 |
|
|---|
| 324 |
// |
|---|
| 325 |
// ShadeCaps |
|---|
| 326 |
// |
|---|
| 327 |
const D3DPSHADECAPS_COLORGOURAUDRGB = 0x00000008L; |
|---|
| 328 |
const D3DPSHADECAPS_SPECULARGOURAUDRGB = 0x00000200L; |
|---|
| 329 |
const D3DPSHADECAPS_ALPHAGOURAUDBLEND = 0x00004000L; |
|---|
| 330 |
const D3DPSHADECAPS_FOGGOURAUD = 0x00080000L; |
|---|
| 331 |
|
|---|
| 332 |
// |
|---|
| 333 |
// TextureCaps |
|---|
| 334 |
// |
|---|
| 335 |
const D3DPTEXTURECAPS_PERSPECTIVE = 0x00000001L; /* Perspective-correct texturing is supported */ |
|---|
| 336 |
const D3DPTEXTURECAPS_POW2 = 0x00000002L; /* Power-of-2 texture dimensions are required - applies to non-Cube/Volume textures only. */ |
|---|
| 337 |
const D3DPTEXTURECAPS_ALPHA = 0x00000004L; /* Alpha in texture pixels is supported */ |
|---|
| 338 |
const D3DPTEXTURECAPS_SQUAREONLY = 0x00000020L; /* Only square textures are supported */ |
|---|
| 339 |
const D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE = 0x00000040L; /* Texture indices are not scaled by the texture size prior to interpolation */ |
|---|
| 340 |
const D3DPTEXTURECAPS_ALPHAPALETTE = 0x00000080L; /* Device can draw alpha from texture palettes */ |
|---|
| 341 |
// Device can use non-POW2 textures if: |
|---|
| 342 |
// 1) D3DTEXTURE_ADDRESS is set to CLAMP for this texture's stage |
|---|
| 343 |
// 2) D3DRS_WRAP(N) is zero for this texture's coordinates |
|---|
| 344 |
// 3) mip mapping is not enabled (use magnification filter only) |
|---|
| 345 |
const D3DPTEXTURECAPS_NONPOW2CONDITIONAL = 0x00000100L; |
|---|
| 346 |
const D3DPTEXTURECAPS_PROJECTED = 0x00000400L; /* Device can do D3DTTFF_PROJECTED */ |
|---|
| 347 |
const D3DPTEXTURECAPS_CUBEMAP = 0x00000800L; /* Device can do cubemap textures */ |
|---|
| 348 |
const D3DPTEXTURECAPS_VOLUMEMAP = 0x00002000L; /* Device can do volume textures */ |
|---|
| 349 |
const D3DPTEXTURECAPS_MIPMAP = 0x00004000L; /* Device can do mipmapped textures */ |
|---|
| 350 |
const D3DPTEXTURECAPS_MIPVOLUMEMAP = 0x00008000L; /* Device can do mipmapped volume textures */ |
|---|
| 351 |
const D3DPTEXTURECAPS_MIPCUBEMAP = 0x00010000L; /* Device can do mipmapped cube maps */ |
|---|
| 352 |
const D3DPTEXTURECAPS_CUBEMAP_POW2 = 0x00020000L; /* Device requires that cubemaps be power-of-2 dimension */ |
|---|
| 353 |
const D3DPTEXTURECAPS_VOLUMEMAP_POW2 = 0x00040000L; /* Device requires that volume maps be power-of-2 dimension */ |
|---|
| 354 |
const D3DPTEXTURECAPS_NOPROJECTEDBUMPENV = 0x00200000L; /* Device does not support projected bump env lookup operation |
|---|
| 355 |
in programmable and fixed function pixel shaders */ |
|---|
| 356 |
|
|---|
| 357 |
// |
|---|
| 358 |
// TextureFilterCaps, StretchRectFilterCaps |
|---|
| 359 |
// |
|---|
| 360 |
const D3DPTFILTERCAPS_MINFPOINT = 0x00000100L; /* Min Filter */ |
|---|
| 361 |
const D3DPTFILTERCAPS_MINFLINEAR = 0x00000200L; |
|---|
| 362 |
const D3DPTFILTERCAPS_MINFANISOTROPIC = 0x00000400L; |
|---|
| 363 |
const D3DPTFILTERCAPS_MINFPYRAMIDALQUAD = 0x00000800L; |
|---|
| 364 |
const D3DPTFILTERCAPS_MINFGAUSSIANQUAD = 0x00001000L; |
|---|
| 365 |
const D3DPTFILTERCAPS_MIPFPOINT = 0x00010000L; /* Mip Filter */ |
|---|
| 366 |
const D3DPTFILTERCAPS_MIPFLINEAR = 0x00020000L; |
|---|
| 367 |
|
|---|
| 368 |
const D3DPTFILTERCAPS_CONVOLUTIONMONO = 0x00040000L; /* Min and Mag for the convolution mono filter */ |
|---|
| 369 |
|
|---|
| 370 |
const D3DPTFILTERCAPS_MAGFPOINT = 0x01000000L; /* Mag Filter */ |
|---|
| 371 |
const D3DPTFILTERCAPS_MAGFLINEAR = 0x02000000L; |
|---|
| 372 |
const D3DPTFILTERCAPS_MAGFANISOTROPIC = 0x04000000L; |
|---|
| 373 |
const D3DPTFILTERCAPS_MAGFPYRAMIDALQUAD = 0x08000000L; |
|---|
| 374 |
const D3DPTFILTERCAPS_MAGFGAUSSIANQUAD = 0x10000000L; |
|---|
| 375 |
|
|---|
| 376 |
// |
|---|
| 377 |
// TextureAddressCaps |
|---|
| 378 |
// |
|---|
| 379 |
const D3DPTADDRESSCAPS_WRAP = 0x00000001L; |
|---|
| 380 |
const D3DPTADDRESSCAPS_MIRROR = 0x00000002L; |
|---|
| 381 |
const D3DPTADDRESSCAPS_CLAMP = 0x00000004L; |
|---|
| 382 |
const D3DPTADDRESSCAPS_BORDER = 0x00000008L; |
|---|
| 383 |
const D3DPTADDRESSCAPS_INDEPENDENTUV = 0x00000010L; |
|---|
| 384 |
const D3DPTADDRESSCAPS_MIRRORONCE = 0x00000020L; |
|---|
| 385 |
|
|---|
| 386 |
// |
|---|
| 387 |
// StencilCaps |
|---|
| 388 |
// |
|---|
| 389 |
const D3DSTENCILCAPS_KEEP = 0x00000001L; |
|---|
| 390 |
const D3DSTENCILCAPS_ZERO = 0x00000002L; |
|---|
| 391 |
const D3DSTENCILCAPS_REPLACE = 0x00000004L; |
|---|
| 392 |
const D3DSTENCILCAPS_INCRSAT = 0x00000008L; |
|---|
| 393 |
const D3DSTENCILCAPS_DECRSAT = 0x00000010L; |
|---|
| 394 |
const D3DSTENCILCAPS_INVERT = 0x00000020L; |
|---|
| 395 |
const D3DSTENCILCAPS_INCR = 0x00000040L; |
|---|
| 396 |
const D3DSTENCILCAPS_DECR = 0x00000080L; |
|---|
| 397 |
const D3DSTENCILCAPS_TWOSIDED = 0x00000100L; |
|---|
| 398 |
|
|---|
| 399 |
// |
|---|
| 400 |
// TextureOpCaps |
|---|
| 401 |
// |
|---|
| 402 |
const D3DTEXOPCAPS_DISABLE = 0x00000001L; |
|---|
| 403 |
const D3DTEXOPCAPS_SELECTARG1 = 0x00000002L; |
|---|
| 404 |
const D3DTEXOPCAPS_SELECTARG2 = 0x00000004L; |
|---|
| 405 |
const D3DTEXOPCAPS_MODULATE = 0x00000008L; |
|---|
| 406 |
const D3DTEXOPCAPS_MODULATE2X = 0x00000010L; |
|---|
| 407 |
const D3DTEXOPCAPS_MODULATE4X = 0x00000020L; |
|---|
| 408 |
const D3DTEXOPCAPS_ADD = 0x00000040L; |
|---|
| 409 |
const D3DTEXOPCAPS_ADDSIGNED = 0x00000080L; |
|---|
| 410 |
const D3DTEXOPCAPS_ADDSIGNED2X = 0x00000100L; |
|---|
| 411 |
const D3DTEXOPCAPS_SUBTRACT = 0x00000200L; |
|---|
| 412 |
const D3DTEXOPCAPS_ADDSMOOTH = 0x00000400L; |
|---|
| 413 |
const D3DTEXOPCAPS_BLENDDIFFUSEALPHA = 0x00000800L; |
|---|
| 414 |
const D3DTEXOPCAPS_BLENDTEXTUREALPHA = 0x00001000L; |
|---|
| 415 |
const D3DTEXOPCAPS_BLENDFACTORALPHA = 0x00002000L; |
|---|
| 416 |
const D3DTEXOPCAPS_BLENDTEXTUREALPHAPM = 0x00004000L; |
|---|
| 417 |
const D3DTEXOPCAPS_BLENDCURRENTALPHA = 0x00008000L; |
|---|
| 418 |
const D3DTEXOPCAPS_PREMODULATE = 0x00010000L; |
|---|
| 419 |
const D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR = 0x00020000L; |
|---|
| 420 |
const D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA = 0x00040000L; |
|---|
| 421 |
const D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR = 0x00080000L; |
|---|
| 422 |
const D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA = 0x00100000L; |
|---|
| 423 |
const D3DTEXOPCAPS_BUMPENVMAP = 0x00200000L; |
|---|
| 424 |
const D3DTEXOPCAPS_BUMPENVMAPLUMINANCE = 0x00400000L; |
|---|
| 425 |
const D3DTEXOPCAPS_DOTPRODUCT3 = 0x00800000L; |
|---|
| 426 |
const D3DTEXOPCAPS_MULTIPLYADD = 0x01000000L; |
|---|
| 427 |
const D3DTEXOPCAPS_LERP = 0x02000000L; |
|---|
| 428 |
|
|---|
| 429 |
// |
|---|
| 430 |
// FVFCaps |
|---|
| 431 |
// |
|---|
| 432 |
const D3DFVFCAPS_TEXCOORDCOUNTMASK = 0x0000ffffL; /* mask for texture coordinate count field */ |
|---|
| 433 |
const D3DFVFCAPS_DONOTSTRIPELEMENTS = 0x00080000L; /* Device prefers that vertex elements not be stripped */ |
|---|
| 434 |
const D3DFVFCAPS_PSIZE = 0x00100000L; /* Device can receive point size */ |
|---|
| 435 |
|
|---|
| 436 |
// |
|---|
| 437 |
// VertexProcessingCaps |
|---|
| 438 |
// |
|---|
| 439 |
const D3DVTXPCAPS_TEXGEN = 0x00000001L; /* device can do texgen */ |
|---|
| 440 |
const D3DVTXPCAPS_MATERIALSOURCE7 = 0x00000002L; /* device can do DX7-level colormaterialsource ops */ |
|---|
| 441 |
const D3DVTXPCAPS_DIRECTIONALLIGHTS = 0x00000008L; /* device can do directional lights */ |
|---|
| 442 |
const D3DVTXPCAPS_POSITIONALLIGHTS = 0x00000010L; /* device can do positional lights (includes point and spot) */ |
|---|
| 443 |
const D3DVTXPCAPS_LOCALVIEWER = 0x00000020L; /* device can do local viewer */ |
|---|
| 444 |
const D3DVTXPCAPS_TWEENING = 0x00000040L; /* device can do vertex tweening */ |
|---|
| 445 |
const D3DVTXPCAPS_TEXGEN_SPHEREMAP = 0x00000100L; /* device supports D3DTSS_TCI_SPHEREMAP */ |
|---|
| 446 |
const D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER = 0x00000200L; /* device does not support TexGen in non-local |
|---|
| 447 |
viewer mode */ |
|---|
| 448 |
|
|---|
| 449 |
// |
|---|
| 450 |
// DevCaps2 |
|---|
| 451 |
// |
|---|
| 452 |
const D3DDEVCAPS2_STREAMOFFSET = 0x00000001L; /* Device supports offsets in streams. Must be set by DX9 drivers */ |
|---|
| 453 |
const D3DDEVCAPS2_DMAPNPATCH = 0x00000002L; /* Device supports displacement maps for N-Patches*/ |
|---|
| 454 |
const D3DDEVCAPS2_ADAPTIVETESSRTPATCH = 0x00000004L; /* Device supports adaptive tesselation of RT-patches*/ |
|---|
| 455 |
const D3DDEVCAPS2_ADAPTIVETESSNPATCH = 0x00000008L; /* Device supports adaptive tesselation of N-patches*/ |
|---|
| 456 |
const D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES = 0x00000010L; /* Device supports StretchRect calls with a texture as the source*/ |
|---|
| 457 |
const D3DDEVCAPS2_PRESAMPLEDDMAPNPATCH = 0x00000020L; /* Device supports presampled displacement maps for N-Patches */ |
|---|
| 458 |
const D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET = 0x00000040L; /* Vertex elements in a vertex declaration can share the same stream offset */ |
|---|
| 459 |
|
|---|
| 460 |
// |
|---|
| 461 |
// DeclTypes |
|---|
| 462 |
// |
|---|
| 463 |
const D3DDTCAPS_UBYTE4 = 0x00000001L; |
|---|
| 464 |
const D3DDTCAPS_UBYTE4N = 0x00000002L; |
|---|
| 465 |
const D3DDTCAPS_SHORT2N = 0x00000004L; |
|---|
| 466 |
const D3DDTCAPS_SHORT4N = 0x00000008L; |
|---|
| 467 |
const D3DDTCAPS_USHORT2N = 0x00000010L; |
|---|
| 468 |
const D3DDTCAPS_USHORT4N = 0x00000020L; |
|---|
| 469 |
const D3DDTCAPS_UDEC3 = 0x00000040L; |
|---|
| 470 |
const D3DDTCAPS_DEC3N = 0x00000080L; |
|---|
| 471 |
const D3DDTCAPS_FLOAT16_2 = 0x00000100L; |
|---|
| 472 |
const D3DDTCAPS_FLOAT16_4 = 0x00000200L; |
|---|