1 // Copyright © 2016-2017 winapi-rs developers
2 // Licensed under the Apache License, Version 2.0
3 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
4 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
5 // All files in the project carrying such notice may not be copied, modified, or distributed
6 // except according to those terms.
7 //! Direct3D capabilities include file
8 use ctypes::c_float;
9 use shared::d3d9types::D3DDEVTYPE;
10 use shared::guiddef::GUID;
11 use shared::minwindef::{DWORD, INT, UINT};
12 use um::winnt::ULONGLONG;
13 STRUCT!{struct D3DVSHADERCAPS2_0 {
14     Caps: DWORD,
15     DynamicFlowControlDepth: INT,
16     NumTemps: INT,
17     StaticFlowControlDepth: INT,
18 }}
19 pub const D3DVS20CAPS_PREDICATION: DWORD = 1 << 0;
20 pub const D3DVS20_MAX_DYNAMICFLOWCONTROLDEPTH: DWORD = 24;
21 pub const D3DVS20_MIN_DYNAMICFLOWCONTROLDEPTH: DWORD = 0;
22 pub const D3DVS20_MAX_NUMTEMPS: DWORD = 32;
23 pub const D3DVS20_MIN_NUMTEMPS: DWORD = 12;
24 pub const D3DVS20_MAX_STATICFLOWCONTROLDEPTH: DWORD = 4;
25 pub const D3DVS20_MIN_STATICFLOWCONTROLDEPTH: DWORD = 1;
26 STRUCT!{struct D3DPSHADERCAPS2_0 {
27     Caps: DWORD,
28     DynamicFlowControlDepth: INT,
29     NumTemps: INT,
30     StaticFlowControlDepth: INT,
31     NumInstructionSlots: INT,
32 }}
33 pub const D3DPS20CAPS_ARBITRARYSWIZZLE: DWORD = 1 << 0;
34 pub const D3DPS20CAPS_GRADIENTINSTRUCTIONS: DWORD = 1 << 1;
35 pub const D3DPS20CAPS_PREDICATION: DWORD = 1 << 2;
36 pub const D3DPS20CAPS_NODEPENDENTREADLIMIT: DWORD = 1 << 3;
37 pub const D3DPS20CAPS_NOTEXINSTRUCTIONLIMIT: DWORD = 1 << 4;
38 pub const D3DPS20_MAX_DYNAMICFLOWCONTROLDEPTH: DWORD = 24;
39 pub const D3DPS20_MIN_DYNAMICFLOWCONTROLDEPTH: DWORD = 0;
40 pub const D3DPS20_MAX_NUMTEMPS: DWORD = 32;
41 pub const D3DPS20_MIN_NUMTEMPS: DWORD = 12;
42 pub const D3DPS20_MAX_STATICFLOWCONTROLDEPTH: DWORD = 4;
43 pub const D3DPS20_MIN_STATICFLOWCONTROLDEPTH: DWORD = 0;
44 pub const D3DPS20_MAX_NUMINSTRUCTIONSLOTS: DWORD = 512;
45 pub const D3DPS20_MIN_NUMINSTRUCTIONSLOTS: DWORD = 96;
46 pub const D3DMIN30SHADERINSTRUCTIONS: DWORD = 512;
47 pub const D3DMAX30SHADERINSTRUCTIONS: DWORD = 32768;
48 STRUCT!{struct D3DOVERLAYCAPS {
49     Caps: UINT,
50     MaxOverlayDisplayWidth: UINT,
51     MaxOverlayDisplayHeight: UINT,
52 }}
53 pub const D3DOVERLAYCAPS_FULLRANGERGB: DWORD = 0x00000001;
54 pub const D3DOVERLAYCAPS_LIMITEDRANGERGB: DWORD = 0x00000002;
55 pub const D3DOVERLAYCAPS_YCbCr_BT601: DWORD = 0x00000004;
56 pub const D3DOVERLAYCAPS_YCbCr_BT709: DWORD = 0x00000008;
57 pub const D3DOVERLAYCAPS_YCbCr_BT601_xvYCC: DWORD = 0x00000010;
58 pub const D3DOVERLAYCAPS_YCbCr_BT709_xvYCC: DWORD = 0x00000020;
59 pub const D3DOVERLAYCAPS_STRETCHX: DWORD = 0x00000040;
60 pub const D3DOVERLAYCAPS_STRETCHY: DWORD = 0x00000080;
61 // FIXME packed(4)
62 STRUCT!{#[cfg_attr(target_arch = "x86", repr(packed))] struct D3DCONTENTPROTECTIONCAPS {
63     Caps: DWORD,
64     KeyExchangeType: GUID,
65     BufferAlignmentStart: UINT,
66     BlockAlignmentSize: UINT,
67     ProtectedMemorySize: ULONGLONG,
68 }}
69 pub const D3DCPCAPS_SOFTWARE: DWORD = 0x00000001;
70 pub const D3DCPCAPS_HARDWARE: DWORD = 0x00000002;
71 pub const D3DCPCAPS_PROTECTIONALWAYSON: DWORD = 0x00000004;
72 pub const D3DCPCAPS_PARTIALDECRYPTION: DWORD = 0x00000008;
73 pub const D3DCPCAPS_CONTENTKEY: DWORD = 0x00000010;
74 pub const D3DCPCAPS_FRESHENSESSIONKEY: DWORD = 0x00000020;
75 pub const D3DCPCAPS_ENCRYPTEDREADBACK: DWORD = 0x00000040;
76 pub const D3DCPCAPS_ENCRYPTEDREADBACKKEY: DWORD = 0x00000080;
77 pub const D3DCPCAPS_SEQUENTIAL_CTR_IV: DWORD = 0x00000100;
78 pub const D3DCPCAPS_ENCRYPTSLICEDATAONLY: DWORD = 0x00000200;
79 DEFINE_GUID!{D3DCRYPTOTYPE_AES128_CTR,
80     0x9b6bd711, 0x4f74, 0x41c9, 0x9e, 0x7b, 0x0b, 0xe2, 0xd7, 0xd9, 0x3b, 0x4f}
81 DEFINE_GUID!{D3DCRYPTOTYPE_PROPRIETARY,
82     0xab4e9afd, 0x1d1c, 0x46e6, 0xa7, 0x2f, 0x08, 0x69, 0x91, 0x7b, 0x0d, 0xe8}
83 DEFINE_GUID!{D3DKEYEXCHANGE_RSAES_OAEP,
84     0xc1949895, 0xd72a, 0x4a1d, 0x8e, 0x5d, 0xed, 0x85, 0x7d, 0x17, 0x15, 0x20}
85 DEFINE_GUID!{D3DKEYEXCHANGE_DXVA,
86     0x43d3775c, 0x38e5, 0x4924, 0x8d, 0x86, 0xd3, 0xfc, 0xcf, 0x15, 0x3e, 0x9b}
87 STRUCT!{struct D3DCAPS9 {
88     DeviceType: D3DDEVTYPE,
89     AdapterOrdinal: UINT,
90     Caps: DWORD,
91     Caps2: DWORD,
92     Caps3: DWORD,
93     PresentationIntervals: DWORD,
94     CursorCaps: DWORD,
95     DevCaps: DWORD,
96     PrimitiveMiscCaps: DWORD,
97     RasterCaps: DWORD,
98     ZCmpCaps: DWORD,
99     SrcBlendCaps: DWORD,
100     DestBlendCaps: DWORD,
101     AlphaCmpCaps: DWORD,
102     ShadeCaps: DWORD,
103     TextureCaps: DWORD,
104     TextureFilterCaps: DWORD,
105     CubeTextureFilterCaps: DWORD,
106     VolumeTextureFilterCaps: DWORD,
107     TextureAddressCaps: DWORD,
108     VolumeTextureAddressCaps: DWORD,
109     LineCaps: DWORD,
110     MaxTextureWidth: DWORD,
111     MaxTextureHeight: DWORD,
112     MaxVolumeExtent: DWORD,
113     MaxTextureRepeat: DWORD,
114     MaxTextureAspectRatio: DWORD,
115     MaxAnisotropy: DWORD,
116     MaxVertexW: c_float,
117     GuardBandLeft: c_float,
118     GuardBandTop: c_float,
119     GuardBandRight: c_float,
120     GuardBandBottom: c_float,
121     ExtentsAdjust: c_float,
122     StencilCaps: DWORD,
123     FVFCaps: DWORD,
124     TextureOpCaps: DWORD,
125     MaxTextureBlendStages: DWORD,
126     MaxSimultaneousTextures: DWORD,
127     VertexProcessingCaps: DWORD,
128     MaxActiveLights: DWORD,
129     MaxUserClipPlanes: DWORD,
130     MaxVertexBlendMatrices: DWORD,
131     MaxVertexBlendMatrixIndex: DWORD,
132     MaxPointSize: c_float,
133     MaxPrimitiveCount: DWORD,
134     MaxVertexIndex: DWORD,
135     MaxStreams: DWORD,
136     MaxStreamStride: DWORD,
137     VertexShaderVersion: DWORD,
138     MaxVertexShaderConst: DWORD,
139     PixelShaderVersion: DWORD,
140     PixelShader1xMaxValue: c_float,
141     DevCaps2: DWORD,
142     MaxNpatchTessellationLevel: c_float,
143     Reserved5: DWORD,
144     MasterAdapterOrdinal: UINT,
145     AdapterOrdinalInGroup: UINT,
146     NumberOfAdaptersInGroup: UINT,
147     DeclTypes: DWORD,
148     NumSimultaneousRTs: DWORD,
149     StretchRectFilterCaps: DWORD,
150     VS20Caps: D3DVSHADERCAPS2_0,
151     PS20Caps: D3DPSHADERCAPS2_0,
152     VertexTextureFilterCaps: DWORD,
153     MaxVShaderInstructionsExecuted: DWORD,
154     MaxPShaderInstructionsExecuted: DWORD,
155     MaxVertexShader30InstructionSlots: DWORD,
156     MaxPixelShader30InstructionSlots: DWORD,
157 }}
158 pub const D3DCAPS_OVERLAY: DWORD = 0x00000800;
159 pub const D3DCAPS_READ_SCANLINE: DWORD = 0x00020000;
160 pub const D3DCAPS2_FULLSCREENGAMMA: DWORD = 0x00020000;
161 pub const D3DCAPS2_CANCALIBRATEGAMMA: DWORD = 0x00100000;
162 pub const D3DCAPS2_RESERVED: DWORD = 0x02000000;
163 pub const D3DCAPS2_CANMANAGERESOURCE: DWORD = 0x10000000;
164 pub const D3DCAPS2_DYNAMICTEXTURES: DWORD = 0x20000000;
165 pub const D3DCAPS2_CANAUTOGENMIPMAP: DWORD = 0x40000000;
166 pub const D3DCAPS2_CANSHARERESOURCE: DWORD = 0x80000000;
167 pub const D3DCAPS3_RESERVED: DWORD = 0x8000001f;
168 pub const D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD: DWORD = 0x00000020;
169 pub const D3DCAPS3_LINEAR_TO_SRGB_PRESENTATION: DWORD = 0x00000080;
170 pub const D3DCAPS3_COPY_TO_VIDMEM: DWORD = 0x00000100;
171 pub const D3DCAPS3_COPY_TO_SYSTEMMEM: DWORD = 0x00000200;
172 pub const D3DCAPS3_DXVAHD: DWORD = 0x00000400;
173 pub const D3DCAPS3_DXVAHD_LIMITED: DWORD = 0x00000800;
174 pub const D3DPRESENT_INTERVAL_DEFAULT: DWORD = 0x00000000;
175 pub const D3DPRESENT_INTERVAL_ONE: DWORD = 0x00000001;
176 pub const D3DPRESENT_INTERVAL_TWO: DWORD = 0x00000002;
177 pub const D3DPRESENT_INTERVAL_THREE: DWORD = 0x00000004;
178 pub const D3DPRESENT_INTERVAL_FOUR: DWORD = 0x00000008;
179 pub const D3DPRESENT_INTERVAL_IMMEDIATE: DWORD = 0x80000000;
180 pub const D3DCURSORCAPS_COLOR: DWORD = 0x00000001;
181 pub const D3DCURSORCAPS_LOWRES: DWORD = 0x00000002;
182 pub const D3DDEVCAPS_EXECUTESYSTEMMEMORY: DWORD = 0x00000010;
183 pub const D3DDEVCAPS_EXECUTEVIDEOMEMORY: DWORD = 0x00000020;
184 pub const D3DDEVCAPS_TLVERTEXSYSTEMMEMORY: DWORD = 0x00000040;
185 pub const D3DDEVCAPS_TLVERTEXVIDEOMEMORY: DWORD = 0x00000080;
186 pub const D3DDEVCAPS_TEXTURESYSTEMMEMORY: DWORD = 0x00000100;
187 pub const D3DDEVCAPS_TEXTUREVIDEOMEMORY: DWORD = 0x00000200;
188 pub const D3DDEVCAPS_DRAWPRIMTLVERTEX: DWORD = 0x00000400;
189 pub const D3DDEVCAPS_CANRENDERAFTERFLIP: DWORD = 0x00000800;
190 pub const D3DDEVCAPS_TEXTURENONLOCALVIDMEM: DWORD = 0x00001000;
191 pub const D3DDEVCAPS_DRAWPRIMITIVES2: DWORD = 0x00002000;
192 pub const D3DDEVCAPS_SEPARATETEXTUREMEMORIES: DWORD = 0x00004000;
193 pub const D3DDEVCAPS_DRAWPRIMITIVES2EX: DWORD = 0x00008000;
194 pub const D3DDEVCAPS_HWTRANSFORMANDLIGHT: DWORD = 0x00010000;
195 pub const D3DDEVCAPS_CANBLTSYSTONONLOCAL: DWORD = 0x00020000;
196 pub const D3DDEVCAPS_HWRASTERIZATION: DWORD = 0x00080000;
197 pub const D3DDEVCAPS_PUREDEVICE: DWORD = 0x00100000;
198 pub const D3DDEVCAPS_QUINTICRTPATCHES: DWORD = 0x00200000;
199 pub const D3DDEVCAPS_RTPATCHES: DWORD = 0x00400000;
200 pub const D3DDEVCAPS_RTPATCHHANDLEZERO: DWORD = 0x00800000;
201 pub const D3DDEVCAPS_NPATCHES: DWORD = 0x01000000;
202 pub const D3DPMISCCAPS_MASKZ: DWORD = 0x00000002;
203 pub const D3DPMISCCAPS_CULLNONE: DWORD = 0x00000010;
204 pub const D3DPMISCCAPS_CULLCW: DWORD = 0x00000020;
205 pub const D3DPMISCCAPS_CULLCCW: DWORD = 0x00000040;
206 pub const D3DPMISCCAPS_COLORWRITEENABLE: DWORD = 0x00000080;
207 pub const D3DPMISCCAPS_CLIPPLANESCALEDPOINTS: DWORD = 0x00000100;
208 pub const D3DPMISCCAPS_CLIPTLVERTS: DWORD = 0x00000200;
209 pub const D3DPMISCCAPS_TSSARGTEMP: DWORD = 0x00000400;
210 pub const D3DPMISCCAPS_BLENDOP: DWORD = 0x00000800;
211 pub const D3DPMISCCAPS_NULLREFERENCE: DWORD = 0x00001000;
212 pub const D3DPMISCCAPS_INDEPENDENTWRITEMASKS: DWORD = 0x00004000;
213 pub const D3DPMISCCAPS_PERSTAGECONSTANT: DWORD = 0x00008000;
214 pub const D3DPMISCCAPS_FOGANDSPECULARALPHA: DWORD = 0x00010000;
215 pub const D3DPMISCCAPS_SEPARATEALPHABLEND: DWORD = 0x00020000;
216 pub const D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS: DWORD = 0x00040000;
217 pub const D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING: DWORD = 0x00080000;
218 pub const D3DPMISCCAPS_FOGVERTEXCLAMPED: DWORD = 0x00100000;
219 pub const D3DPMISCCAPS_POSTBLENDSRGBCONVERT: DWORD = 0x00200000;
220 pub const D3DLINECAPS_TEXTURE: DWORD = 0x00000001;
221 pub const D3DLINECAPS_ZTEST: DWORD = 0x00000002;
222 pub const D3DLINECAPS_BLEND: DWORD = 0x00000004;
223 pub const D3DLINECAPS_ALPHACMP: DWORD = 0x00000008;
224 pub const D3DLINECAPS_FOG: DWORD = 0x00000010;
225 pub const D3DLINECAPS_ANTIALIAS: DWORD = 0x00000020;
226 pub const D3DPRASTERCAPS_DITHER: DWORD = 0x00000001;
227 pub const D3DPRASTERCAPS_ZTEST: DWORD = 0x00000010;
228 pub const D3DPRASTERCAPS_FOGVERTEX: DWORD = 0x00000080;
229 pub const D3DPRASTERCAPS_FOGTABLE: DWORD = 0x00000100;
230 pub const D3DPRASTERCAPS_MIPMAPLODBIAS: DWORD = 0x00002000;
231 pub const D3DPRASTERCAPS_ZBUFFERLESSHSR: DWORD = 0x00008000;
232 pub const D3DPRASTERCAPS_FOGRANGE: DWORD = 0x00010000;
233 pub const D3DPRASTERCAPS_ANISOTROPY: DWORD = 0x00020000;
234 pub const D3DPRASTERCAPS_WBUFFER: DWORD = 0x00040000;
235 pub const D3DPRASTERCAPS_WFOG: DWORD = 0x00100000;
236 pub const D3DPRASTERCAPS_ZFOG: DWORD = 0x00200000;
237 pub const D3DPRASTERCAPS_COLORPERSPECTIVE: DWORD = 0x00400000;
238 pub const D3DPRASTERCAPS_SCISSORTEST: DWORD = 0x01000000;
239 pub const D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS: DWORD = 0x02000000;
240 pub const D3DPRASTERCAPS_DEPTHBIAS: DWORD = 0x04000000;
241 pub const D3DPRASTERCAPS_MULTISAMPLE_TOGGLE: DWORD = 0x08000000;
242 pub const D3DPCMPCAPS_NEVER: DWORD = 0x00000001;
243 pub const D3DPCMPCAPS_LESS: DWORD = 0x00000002;
244 pub const D3DPCMPCAPS_EQUAL: DWORD = 0x00000004;
245 pub const D3DPCMPCAPS_LESSEQUAL: DWORD = 0x00000008;
246 pub const D3DPCMPCAPS_GREATER: DWORD = 0x00000010;
247 pub const D3DPCMPCAPS_NOTEQUAL: DWORD = 0x00000020;
248 pub const D3DPCMPCAPS_GREATEREQUAL: DWORD = 0x00000040;
249 pub const D3DPCMPCAPS_ALWAYS: DWORD = 0x00000080;
250 pub const D3DPBLENDCAPS_ZERO: DWORD = 0x00000001;
251 pub const D3DPBLENDCAPS_ONE: DWORD = 0x00000002;
252 pub const D3DPBLENDCAPS_SRCCOLOR: DWORD = 0x00000004;
253 pub const D3DPBLENDCAPS_INVSRCCOLOR: DWORD = 0x00000008;
254 pub const D3DPBLENDCAPS_SRCALPHA: DWORD = 0x00000010;
255 pub const D3DPBLENDCAPS_INVSRCALPHA: DWORD = 0x00000020;
256 pub const D3DPBLENDCAPS_DESTALPHA: DWORD = 0x00000040;
257 pub const D3DPBLENDCAPS_INVDESTALPHA: DWORD = 0x00000080;
258 pub const D3DPBLENDCAPS_DESTCOLOR: DWORD = 0x00000100;
259 pub const D3DPBLENDCAPS_INVDESTCOLOR: DWORD = 0x00000200;
260 pub const D3DPBLENDCAPS_SRCALPHASAT: DWORD = 0x00000400;
261 pub const D3DPBLENDCAPS_BOTHSRCALPHA: DWORD = 0x00000800;
262 pub const D3DPBLENDCAPS_BOTHINVSRCALPHA: DWORD = 0x00001000;
263 pub const D3DPBLENDCAPS_BLENDFACTOR: DWORD = 0x00002000;
264 pub const D3DPBLENDCAPS_SRCCOLOR2: DWORD = 0x00004000;
265 pub const D3DPBLENDCAPS_INVSRCCOLOR2: DWORD = 0x00008000;
266 pub const D3DPSHADECAPS_COLORGOURAUDRGB: DWORD = 0x00000008;
267 pub const D3DPSHADECAPS_SPECULARGOURAUDRGB: DWORD = 0x00000200;
268 pub const D3DPSHADECAPS_ALPHAGOURAUDBLEND: DWORD = 0x00004000;
269 pub const D3DPSHADECAPS_FOGGOURAUD: DWORD = 0x00080000;
270 pub const D3DPTEXTURECAPS_PERSPECTIVE: DWORD = 0x00000001;
271 pub const D3DPTEXTURECAPS_POW2: DWORD = 0x00000002;
272 pub const D3DPTEXTURECAPS_ALPHA: DWORD = 0x00000004;
273 pub const D3DPTEXTURECAPS_SQUAREONLY: DWORD = 0x00000020;
274 pub const D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE: DWORD = 0x00000040;
275 pub const D3DPTEXTURECAPS_ALPHAPALETTE: DWORD = 0x00000080;
276 pub const D3DPTEXTURECAPS_NONPOW2CONDITIONAL: DWORD = 0x00000100;
277 pub const D3DPTEXTURECAPS_PROJECTED: DWORD = 0x00000400;
278 pub const D3DPTEXTURECAPS_CUBEMAP: DWORD = 0x00000800;
279 pub const D3DPTEXTURECAPS_VOLUMEMAP: DWORD = 0x00002000;
280 pub const D3DPTEXTURECAPS_MIPMAP: DWORD = 0x00004000;
281 pub const D3DPTEXTURECAPS_MIPVOLUMEMAP: DWORD = 0x00008000;
282 pub const D3DPTEXTURECAPS_MIPCUBEMAP: DWORD = 0x00010000;
283 pub const D3DPTEXTURECAPS_CUBEMAP_POW2: DWORD = 0x00020000;
284 pub const D3DPTEXTURECAPS_VOLUMEMAP_POW2: DWORD = 0x00040000;
285 pub const D3DPTEXTURECAPS_NOPROJECTEDBUMPENV: DWORD = 0x00200000;
286 pub const D3DPTFILTERCAPS_MINFPOINT: DWORD = 0x00000100;
287 pub const D3DPTFILTERCAPS_MINFLINEAR: DWORD = 0x00000200;
288 pub const D3DPTFILTERCAPS_MINFANISOTROPIC: DWORD = 0x00000400;
289 pub const D3DPTFILTERCAPS_MINFPYRAMIDALQUAD: DWORD = 0x00000800;
290 pub const D3DPTFILTERCAPS_MINFGAUSSIANQUAD: DWORD = 0x00001000;
291 pub const D3DPTFILTERCAPS_MIPFPOINT: DWORD = 0x00010000;
292 pub const D3DPTFILTERCAPS_MIPFLINEAR: DWORD = 0x00020000;
293 pub const D3DPTFILTERCAPS_CONVOLUTIONMONO: DWORD = 0x00040000;
294 pub const D3DPTFILTERCAPS_MAGFPOINT: DWORD = 0x01000000;
295 pub const D3DPTFILTERCAPS_MAGFLINEAR: DWORD = 0x02000000;
296 pub const D3DPTFILTERCAPS_MAGFANISOTROPIC: DWORD = 0x04000000;
297 pub const D3DPTFILTERCAPS_MAGFPYRAMIDALQUAD: DWORD = 0x08000000;
298 pub const D3DPTFILTERCAPS_MAGFGAUSSIANQUAD: DWORD = 0x10000000;
299 pub const D3DPTADDRESSCAPS_WRAP: DWORD = 0x00000001;
300 pub const D3DPTADDRESSCAPS_MIRROR: DWORD = 0x00000002;
301 pub const D3DPTADDRESSCAPS_CLAMP: DWORD = 0x00000004;
302 pub const D3DPTADDRESSCAPS_BORDER: DWORD = 0x00000008;
303 pub const D3DPTADDRESSCAPS_INDEPENDENTUV: DWORD = 0x00000010;
304 pub const D3DPTADDRESSCAPS_MIRRORONCE: DWORD = 0x00000020;
305 pub const D3DSTENCILCAPS_KEEP: DWORD = 0x00000001;
306 pub const D3DSTENCILCAPS_ZERO: DWORD = 0x00000002;
307 pub const D3DSTENCILCAPS_REPLACE: DWORD = 0x00000004;
308 pub const D3DSTENCILCAPS_INCRSAT: DWORD = 0x00000008;
309 pub const D3DSTENCILCAPS_DECRSAT: DWORD = 0x00000010;
310 pub const D3DSTENCILCAPS_INVERT: DWORD = 0x00000020;
311 pub const D3DSTENCILCAPS_INCR: DWORD = 0x00000040;
312 pub const D3DSTENCILCAPS_DECR: DWORD = 0x00000080;
313 pub const D3DSTENCILCAPS_TWOSIDED: DWORD = 0x00000100;
314 pub const D3DTEXOPCAPS_DISABLE: DWORD = 0x00000001;
315 pub const D3DTEXOPCAPS_SELECTARG1: DWORD = 0x00000002;
316 pub const D3DTEXOPCAPS_SELECTARG2: DWORD = 0x00000004;
317 pub const D3DTEXOPCAPS_MODULATE: DWORD = 0x00000008;
318 pub const D3DTEXOPCAPS_MODULATE2X: DWORD = 0x00000010;
319 pub const D3DTEXOPCAPS_MODULATE4X: DWORD = 0x00000020;
320 pub const D3DTEXOPCAPS_ADD: DWORD = 0x00000040;
321 pub const D3DTEXOPCAPS_ADDSIGNED: DWORD = 0x00000080;
322 pub const D3DTEXOPCAPS_ADDSIGNED2X: DWORD = 0x00000100;
323 pub const D3DTEXOPCAPS_SUBTRACT: DWORD = 0x00000200;
324 pub const D3DTEXOPCAPS_ADDSMOOTH: DWORD = 0x00000400;
325 pub const D3DTEXOPCAPS_BLENDDIFFUSEALPHA: DWORD = 0x00000800;
326 pub const D3DTEXOPCAPS_BLENDTEXTUREALPHA: DWORD = 0x00001000;
327 pub const D3DTEXOPCAPS_BLENDFACTORALPHA: DWORD = 0x00002000;
328 pub const D3DTEXOPCAPS_BLENDTEXTUREALPHAPM: DWORD = 0x00004000;
329 pub const D3DTEXOPCAPS_BLENDCURRENTALPHA: DWORD = 0x00008000;
330 pub const D3DTEXOPCAPS_PREMODULATE: DWORD = 0x00010000;
331 pub const D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR: DWORD = 0x00020000;
332 pub const D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA: DWORD = 0x00040000;
333 pub const D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR: DWORD = 0x00080000;
334 pub const D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA: DWORD = 0x00100000;
335 pub const D3DTEXOPCAPS_BUMPENVMAP: DWORD = 0x00200000;
336 pub const D3DTEXOPCAPS_BUMPENVMAPLUMINANCE: DWORD = 0x00400000;
337 pub const D3DTEXOPCAPS_DOTPRODUCT3: DWORD = 0x00800000;
338 pub const D3DTEXOPCAPS_MULTIPLYADD: DWORD = 0x01000000;
339 pub const D3DTEXOPCAPS_LERP: DWORD = 0x02000000;
340 pub const D3DFVFCAPS_TEXCOORDCOUNTMASK: DWORD = 0x0000ffff;
341 pub const D3DFVFCAPS_DONOTSTRIPELEMENTS: DWORD = 0x00080000;
342 pub const D3DFVFCAPS_PSIZE: DWORD = 0x00100000;
343 pub const D3DVTXPCAPS_TEXGEN: DWORD = 0x00000001;
344 pub const D3DVTXPCAPS_MATERIALSOURCE7: DWORD = 0x00000002;
345 pub const D3DVTXPCAPS_DIRECTIONALLIGHTS: DWORD = 0x00000008;
346 pub const D3DVTXPCAPS_POSITIONALLIGHTS: DWORD = 0x00000010;
347 pub const D3DVTXPCAPS_LOCALVIEWER: DWORD = 0x00000020;
348 pub const D3DVTXPCAPS_TWEENING: DWORD = 0x00000040;
349 pub const D3DVTXPCAPS_TEXGEN_SPHEREMAP: DWORD = 0x00000100;
350 pub const D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER: DWORD = 0x00000200;
351 pub const D3DDEVCAPS2_STREAMOFFSET: DWORD = 0x00000001;
352 pub const D3DDEVCAPS2_DMAPNPATCH: DWORD = 0x00000002;
353 pub const D3DDEVCAPS2_ADAPTIVETESSRTPATCH: DWORD = 0x00000004;
354 pub const D3DDEVCAPS2_ADAPTIVETESSNPATCH: DWORD = 0x00000008;
355 pub const D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES: DWORD = 0x00000010;
356 pub const D3DDEVCAPS2_PRESAMPLEDDMAPNPATCH: DWORD = 0x00000020;
357 pub const D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET: DWORD = 0x00000040;
358 pub const D3DDTCAPS_UBYTE4: DWORD = 0x00000001;
359 pub const D3DDTCAPS_UBYTE4N: DWORD = 0x00000002;
360 pub const D3DDTCAPS_SHORT2N: DWORD = 0x00000004;
361 pub const D3DDTCAPS_SHORT4N: DWORD = 0x00000008;
362 pub const D3DDTCAPS_USHORT2N: DWORD = 0x00000010;
363 pub const D3DDTCAPS_USHORT4N: DWORD = 0x00000020;
364 pub const D3DDTCAPS_UDEC3: DWORD = 0x00000040;
365 pub const D3DDTCAPS_DEC3N: DWORD = 0x00000080;
366 pub const D3DDTCAPS_FLOAT16_2: DWORD = 0x00000100;
367 pub const D3DDTCAPS_FLOAT16_4: DWORD = 0x00000200;
368