Mercurial > projects > ddbg_continued
comparison win32/directx/d3d9caps.d @ 1:4a9dcbd9e54f
-files of 0.13 beta
-fixes so that it now compiles with the current dmd version
author | marton@basel.hu |
---|---|
date | Tue, 05 Apr 2011 20:44:01 +0200 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
0:586e4a649642 | 1:4a9dcbd9e54f |
---|---|
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; |