]> git.cworth.org Git - apitrace/blob - d3d9caps.py
More instructions and copyright updates.
[apitrace] / d3d9caps.py
1 #############################################################################
2 #
3 # Copyright 2008 Jose Fonseca, Tungsten Graphics, Inc.
4 #
5 # This program is free software: you can redistribute it and/or modify it
6 # under the terms of the GNU Lesser General Public License as published
7 # by the Free Software Foundation, either version 3 of the License, or
8 # (at your option) any later version.
9 #
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU Lesser General Public License for more details.
14 #
15 # You should have received a copy of the GNU Lesser General Public License
16 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
17 #
18 #############################################################################
19
20 """d3d9caps.h"""
21
22 from windows import *
23 from d3d9types import *
24
25 D3DVS20CAPS = Flags(DWORD, [
26     "D3DVS20CAPS_PREDICATION",
27 ])
28
29 D3DVSHADERCAPS2_0 = Struct("D3DVSHADERCAPS2_0", [
30     (D3DVS20CAPS, "Caps"),
31     (INT, "DynamicFlowControlDepth"),
32     (INT, "NumTemps"),
33     (INT, "StaticFlowControlDepth"),
34 ])
35
36 D3DPS20CAPS = Flags(DWORD, [
37     "D3DPS20CAPS_ARBITRARYSWIZZLE",
38     "D3DPS20CAPS_GRADIENTINSTRUCTIONS",
39     "D3DPS20CAPS_PREDICATION",
40     "D3DPS20CAPS_NODEPENDENTREADLIMIT",
41     "D3DPS20CAPS_NOTEXINSTRUCTIONLIMIT",
42 ])
43
44 D3DPSHADERCAPS2_0 = Struct("D3DPSHADERCAPS2_0", [
45     (D3DPS20CAPS, "Caps"),
46     (INT, "DynamicFlowControlDepth"),
47     (INT, "NumTemps"),
48     (INT, "StaticFlowControlDepth"),
49     (INT, "NumInstructionSlots"),
50 ])
51
52 D3DCAPS = Flags(DWORD, [
53     "D3DCAPS_READ_SCANLINE",
54 ])
55
56 D3DCAPS2 = Flags(DWORD, [
57     "D3DCAPS2_FULLSCREENGAMMA",
58     "D3DCAPS2_CANCALIBRATEGAMMA",
59     "D3DCAPS2_RESERVED",
60     "D3DCAPS2_CANMANAGERESOURCE",
61     "D3DCAPS2_DYNAMICTEXTURES",
62     "D3DCAPS2_CANAUTOGENMIPMAP",
63     "D3DCAPS2_CANSHARERESOURCE",
64 ])
65
66 D3DCAPS3 = Flags(DWORD, [
67     "D3DCAPS3_RESERVED",
68     "D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD",
69     "D3DCAPS3_LINEAR_TO_SRGB_PRESENTATION",
70     "D3DCAPS3_COPY_TO_VIDMEM",
71     "D3DCAPS3_COPY_TO_SYSTEMMEM",
72 ])
73
74
75 D3DPRESENT_INTERVAL = Flags(DWORD, [
76     "D3DPRESENT_INTERVAL_DEFAULT",
77     "D3DPRESENT_INTERVAL_ONE",
78     "D3DPRESENT_INTERVAL_TWO",
79     "D3DPRESENT_INTERVAL_THREE",
80     "D3DPRESENT_INTERVAL_FOUR",
81     "D3DPRESENT_INTERVAL_IMMEDIATE",
82 ])
83
84 D3DCURSORCAPS = Flags(DWORD, [
85     "D3DCURSORCAPS_COLOR",
86     "D3DCURSORCAPS_LOWRES",
87 ])
88
89 D3DDEVCAPS = Flags(DWORD, [
90     "D3DDEVCAPS_EXECUTESYSTEMMEMORY",
91     "D3DDEVCAPS_EXECUTEVIDEOMEMORY",
92     "D3DDEVCAPS_TLVERTEXSYSTEMMEMORY",
93     "D3DDEVCAPS_TLVERTEXVIDEOMEMORY",
94     "D3DDEVCAPS_TEXTURESYSTEMMEMORY",
95     "D3DDEVCAPS_TEXTUREVIDEOMEMORY",
96     "D3DDEVCAPS_DRAWPRIMTLVERTEX",
97     "D3DDEVCAPS_CANRENDERAFTERFLIP",
98     "D3DDEVCAPS_TEXTURENONLOCALVIDMEM",
99     "D3DDEVCAPS_DRAWPRIMITIVES2",
100     "D3DDEVCAPS_SEPARATETEXTUREMEMORIES",
101     "D3DDEVCAPS_DRAWPRIMITIVES2EX",
102     "D3DDEVCAPS_HWTRANSFORMANDLIGHT",
103     "D3DDEVCAPS_CANBLTSYSTONONLOCAL",
104     "D3DDEVCAPS_HWRASTERIZATION",
105     "D3DDEVCAPS_PUREDEVICE",
106     "D3DDEVCAPS_QUINTICRTPATCHES",
107     "D3DDEVCAPS_RTPATCHES",
108     "D3DDEVCAPS_RTPATCHHANDLEZERO",
109     "D3DDEVCAPS_NPATCHES",
110 ])
111
112 D3DPMISCCAPS = Flags(DWORD, [
113     "D3DPMISCCAPS_MASKZ",
114     "D3DPMISCCAPS_CULLNONE",
115     "D3DPMISCCAPS_CULLCW",
116     "D3DPMISCCAPS_CULLCCW",
117     "D3DPMISCCAPS_COLORWRITEENABLE",
118     "D3DPMISCCAPS_CLIPPLANESCALEDPOINTS",
119     "D3DPMISCCAPS_CLIPTLVERTS",
120     "D3DPMISCCAPS_TSSARGTEMP",
121     "D3DPMISCCAPS_BLENDOP",
122     "D3DPMISCCAPS_NULLREFERENCE",
123     "D3DPMISCCAPS_INDEPENDENTWRITEMASKS",
124     "D3DPMISCCAPS_PERSTAGECONSTANT",
125     "D3DPMISCCAPS_FOGANDSPECULARALPHA",
126     "D3DPMISCCAPS_SEPARATEALPHABLEND",
127     "D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS",
128     "D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING",
129     "D3DPMISCCAPS_FOGVERTEXCLAMPED",
130     "D3DPMISCCAPS_POSTBLENDSRGBCONVERT",
131 ])
132
133 D3DLINECAPS = Flags(DWORD, [
134     "D3DLINECAPS_TEXTURE",
135     "D3DLINECAPS_ZTEST",
136     "D3DLINECAPS_BLEND",
137     "D3DLINECAPS_ALPHACMP",
138     "D3DLINECAPS_FOG",
139     "D3DLINECAPS_ANTIALIAS",
140 ])
141
142 D3DPRASTERCAPS = Flags(DWORD, [
143     "D3DPRASTERCAPS_DITHER",
144     "D3DPRASTERCAPS_ZTEST",
145     "D3DPRASTERCAPS_FOGVERTEX",
146     "D3DPRASTERCAPS_FOGTABLE",
147     "D3DPRASTERCAPS_MIPMAPLODBIAS",
148     "D3DPRASTERCAPS_ZBUFFERLESSHSR",
149     "D3DPRASTERCAPS_FOGRANGE",
150     "D3DPRASTERCAPS_ANISOTROPY",
151     "D3DPRASTERCAPS_WBUFFER",
152     "D3DPRASTERCAPS_WFOG",
153     "D3DPRASTERCAPS_ZFOG",
154     "D3DPRASTERCAPS_COLORPERSPECTIVE",
155     "D3DPRASTERCAPS_SCISSORTEST",
156     "D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS",
157     "D3DPRASTERCAPS_DEPTHBIAS",
158     "D3DPRASTERCAPS_MULTISAMPLE_TOGGLE",
159 ])
160
161 D3DPCMPCAPS = Flags(DWORD, [
162     "D3DPCMPCAPS_NEVER",
163     "D3DPCMPCAPS_LESS",
164     "D3DPCMPCAPS_EQUAL",
165     "D3DPCMPCAPS_LESSEQUAL",
166     "D3DPCMPCAPS_GREATER",
167     "D3DPCMPCAPS_NOTEQUAL",
168     "D3DPCMPCAPS_GREATEREQUAL",
169     "D3DPCMPCAPS_ALWAYS",
170 ])
171
172 D3DPBLENDCAPS = Flags(DWORD, [
173     "D3DPBLENDCAPS_ZERO",
174     "D3DPBLENDCAPS_ONE",
175     "D3DPBLENDCAPS_SRCCOLOR",
176     "D3DPBLENDCAPS_INVSRCCOLOR",
177     "D3DPBLENDCAPS_SRCALPHA",
178     "D3DPBLENDCAPS_INVSRCALPHA",
179     "D3DPBLENDCAPS_DESTALPHA",
180     "D3DPBLENDCAPS_INVDESTALPHA",
181     "D3DPBLENDCAPS_DESTCOLOR",
182     "D3DPBLENDCAPS_INVDESTCOLOR",
183     "D3DPBLENDCAPS_SRCALPHASAT",
184     "D3DPBLENDCAPS_BOTHSRCALPHA",
185     "D3DPBLENDCAPS_BOTHINVSRCALPHA",
186     "D3DPBLENDCAPS_BLENDFACTOR",
187     "D3DPBLENDCAPS_SRCCOLOR2",
188     "D3DPBLENDCAPS_INVSRCCOLOR2",
189 ])
190
191 D3DPSHADECAPS = Flags(DWORD, [
192     "D3DPSHADECAPS_COLORGOURAUDRGB",
193     "D3DPSHADECAPS_SPECULARGOURAUDRGB",
194     "D3DPSHADECAPS_ALPHAGOURAUDBLEND",
195     "D3DPSHADECAPS_FOGGOURAUD",
196 ])
197
198 D3DPTEXTURECAPS = Flags(DWORD, [
199     "D3DPTEXTURECAPS_PERSPECTIVE",
200     "D3DPTEXTURECAPS_POW2",
201     "D3DPTEXTURECAPS_ALPHA",
202     "D3DPTEXTURECAPS_SQUAREONLY",
203     "D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE",
204     "D3DPTEXTURECAPS_ALPHAPALETTE",
205     "D3DPTEXTURECAPS_NONPOW2CONDITIONAL",
206     "D3DPTEXTURECAPS_PROJECTED",
207     "D3DPTEXTURECAPS_CUBEMAP",
208     "D3DPTEXTURECAPS_VOLUMEMAP",
209     "D3DPTEXTURECAPS_MIPMAP",
210     "D3DPTEXTURECAPS_MIPVOLUMEMAP",
211     "D3DPTEXTURECAPS_MIPCUBEMAP",
212     "D3DPTEXTURECAPS_CUBEMAP_POW2",
213     "D3DPTEXTURECAPS_VOLUMEMAP_POW2",
214     "D3DPTEXTURECAPS_NOPROJECTEDBUMPENV",
215 ])
216
217 D3DPTFILTERCAPS = Flags(DWORD, [
218     "D3DPTFILTERCAPS_MINFPOINT",
219     "D3DPTFILTERCAPS_MINFLINEAR",
220     "D3DPTFILTERCAPS_MINFANISOTROPIC",
221     "D3DPTFILTERCAPS_MINFPYRAMIDALQUAD",
222     "D3DPTFILTERCAPS_MINFGAUSSIANQUAD",
223     "D3DPTFILTERCAPS_MIPFPOINT",
224     "D3DPTFILTERCAPS_MIPFLINEAR",
225     "D3DPTFILTERCAPS_CONVOLUTIONMONO",
226     "D3DPTFILTERCAPS_MAGFPOINT",
227     "D3DPTFILTERCAPS_MAGFLINEAR",
228     "D3DPTFILTERCAPS_MAGFANISOTROPIC",
229     "D3DPTFILTERCAPS_MAGFPYRAMIDALQUAD",
230     "D3DPTFILTERCAPS_MAGFGAUSSIANQUAD",
231 ])
232
233 D3DPTADDRESSCAPS = Flags(DWORD, [
234     "D3DPTADDRESSCAPS_WRAP",
235     "D3DPTADDRESSCAPS_MIRROR",
236     "D3DPTADDRESSCAPS_CLAMP",
237     "D3DPTADDRESSCAPS_BORDER",
238     "D3DPTADDRESSCAPS_INDEPENDENTUV",
239     "D3DPTADDRESSCAPS_MIRRORONCE",
240 ])
241
242 D3DSTENCILCAPS = Flags(DWORD, [
243     "D3DSTENCILCAPS_KEEP",
244     "D3DSTENCILCAPS_ZERO",
245     "D3DSTENCILCAPS_REPLACE",
246     "D3DSTENCILCAPS_INCRSAT",
247     "D3DSTENCILCAPS_DECRSAT",
248     "D3DSTENCILCAPS_INVERT",
249     "D3DSTENCILCAPS_INCR",
250     "D3DSTENCILCAPS_DECR",
251     "D3DSTENCILCAPS_TWOSIDED",
252 ])
253
254 D3DTEXOPCAPS = Flags(DWORD, [
255     "D3DTEXOPCAPS_DISABLE",
256     "D3DTEXOPCAPS_SELECTARG1",
257     "D3DTEXOPCAPS_SELECTARG2",
258     "D3DTEXOPCAPS_MODULATE",
259     "D3DTEXOPCAPS_MODULATE2X",
260     "D3DTEXOPCAPS_MODULATE4X",
261     "D3DTEXOPCAPS_ADD",
262     "D3DTEXOPCAPS_ADDSIGNED",
263     "D3DTEXOPCAPS_ADDSIGNED2X",
264     "D3DTEXOPCAPS_SUBTRACT",
265     "D3DTEXOPCAPS_ADDSMOOTH",
266     "D3DTEXOPCAPS_BLENDDIFFUSEALPHA",
267     "D3DTEXOPCAPS_BLENDTEXTUREALPHA",
268     "D3DTEXOPCAPS_BLENDFACTORALPHA",
269     "D3DTEXOPCAPS_BLENDTEXTUREALPHAPM",
270     "D3DTEXOPCAPS_BLENDCURRENTALPHA",
271     "D3DTEXOPCAPS_PREMODULATE",
272     "D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR",
273     "D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA",
274     "D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR",
275     "D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA",
276     "D3DTEXOPCAPS_BUMPENVMAP",
277     "D3DTEXOPCAPS_BUMPENVMAPLUMINANCE",
278     "D3DTEXOPCAPS_DOTPRODUCT3",
279     "D3DTEXOPCAPS_MULTIPLYADD",
280     "D3DTEXOPCAPS_LERP",
281 ])
282
283 D3DFVFCAPS = Flags(DWORD, [
284     "D3DFVFCAPS_TEXCOORDCOUNTMASK",
285     "D3DFVFCAPS_DONOTSTRIPELEMENTS",
286     "D3DFVFCAPS_PSIZE",
287 ])
288
289 D3DVTXPCAPS = Flags(DWORD, [
290     "D3DVTXPCAPS_TEXGEN",
291     "D3DVTXPCAPS_MATERIALSOURCE7",
292     "D3DVTXPCAPS_DIRECTIONALLIGHTS",
293     "D3DVTXPCAPS_POSITIONALLIGHTS",
294     "D3DVTXPCAPS_LOCALVIEWER",
295     "D3DVTXPCAPS_TWEENING",
296     "D3DVTXPCAPS_TEXGEN_SPHEREMAP",
297     "D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER",
298 ])
299
300 D3DDEVCAPS2 = Flags(DWORD, [
301     "D3DDEVCAPS2_STREAMOFFSET",
302     "D3DDEVCAPS2_DMAPNPATCH",
303     "D3DDEVCAPS2_ADAPTIVETESSRTPATCH",
304     "D3DDEVCAPS2_ADAPTIVETESSNPATCH",
305     "D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES",
306     "D3DDEVCAPS2_PRESAMPLEDDMAPNPATCH",
307     "D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET",
308 ])
309
310 D3DDTCAPS = Flags(DWORD, [
311     "D3DDTCAPS_UBYTE4",
312     "D3DDTCAPS_UBYTE4N",
313     "D3DDTCAPS_SHORT2N",
314     "D3DDTCAPS_SHORT4N",
315     "D3DDTCAPS_USHORT2N",
316     "D3DDTCAPS_USHORT4N",
317     "D3DDTCAPS_UDEC3",
318     "D3DDTCAPS_DEC3N",
319     "D3DDTCAPS_FLOAT16_2",
320     "D3DDTCAPS_FLOAT16_4",
321 ])
322
323 #D3DPS_VERSION = Enum("DWORD", [
324 #    "D3DPS_VERSION(0,0)",
325 #    "D3DPS_VERSION(1,0)",
326 #    "D3DPS_VERSION(1,1)",
327 #    "D3DPS_VERSION(1,2)",
328 #    "D3DPS_VERSION(1,3)",
329 #    "D3DPS_VERSION(1,4)",
330 #    "D3DPS_VERSION(2,0)",
331 #    "D3DPS_VERSION(3,0)",
332 #])
333 D3DPS_VERSION = DWORD
334
335 #D3DVS_VERSION = Enum("DWORD", [
336 #    "D3DVS_VERSION(0,0)",
337 #    "D3DVS_VERSION(1,0)",
338 #    "D3DVS_VERSION(1,1)",
339 #    "D3DVS_VERSION(2,0)",
340 #    "D3DVS_VERSION(3,0)",
341 #])
342 D3DVS_VERSION = DWORD
343
344 D3DCAPS9 = Struct("D3DCAPS9", [
345     (D3DDEVTYPE, "DeviceType"),
346     (UINT, "AdapterOrdinal"),
347     (D3DCAPS, "Caps"),
348     (D3DCAPS2, "Caps2"),
349     (D3DCAPS3, "Caps3"),
350     (D3DPRESENT_INTERVAL, "PresentationIntervals"),
351     (D3DCURSORCAPS, "CursorCaps"),
352     (D3DDEVCAPS, "DevCaps"),
353     (D3DPMISCCAPS, "PrimitiveMiscCaps"),
354     (D3DPRASTERCAPS, "RasterCaps"),
355     (D3DPCMPCAPS, "ZCmpCaps"),
356     (D3DPBLENDCAPS, "SrcBlendCaps"),
357     (D3DPBLENDCAPS, "DestBlendCaps"),
358     (D3DPCMPCAPS, "AlphaCmpCaps"),
359     (D3DPSHADECAPS, "ShadeCaps"),
360     (D3DPTEXTURECAPS, "TextureCaps"),
361     (D3DPTFILTERCAPS, "TextureFilterCaps"),
362     (D3DPTFILTERCAPS, "CubeTextureFilterCaps"),
363     (D3DPTFILTERCAPS, "VolumeTextureFilterCaps"),
364     (D3DPTADDRESSCAPS, "TextureAddressCaps"),
365     (D3DPTADDRESSCAPS, "VolumeTextureAddressCaps"),
366     (D3DLINECAPS, "LineCaps"),
367     (DWORD, "MaxTextureWidth"),
368     (DWORD, "MaxTextureHeight"),
369     (DWORD, "MaxVolumeExtent"),
370     (DWORD, "MaxTextureRepeat"),
371     (DWORD, "MaxTextureAspectRatio"),
372     (DWORD, "MaxAnisotropy"),
373     (Float, "MaxVertexW"),
374     (Float, "GuardBandLeft"),
375     (Float, "GuardBandTop"),
376     (Float, "GuardBandRight"),
377     (Float, "GuardBandBottom"),
378     (Float, "ExtentsAdjust"),
379     (D3DSTENCILCAPS, "StencilCaps"),
380     (D3DFVFCAPS, "FVFCaps"),
381     (D3DTEXOPCAPS, "TextureOpCaps"),
382     (DWORD, "MaxTextureBlendStages"),
383     (DWORD, "MaxSimultaneousTextures"),
384     (D3DVTXPCAPS, "VertexProcessingCaps"),
385     (DWORD, "MaxActiveLights"),
386     (DWORD, "MaxUserClipPlanes"),
387     (DWORD, "MaxVertexBlendMatrices"),
388     (DWORD, "MaxVertexBlendMatrixIndex"),
389     (Float, "MaxPointSize"),
390     (DWORD, "MaxPrimitiveCount"),
391     (DWORD, "MaxVertexIndex"),
392     (DWORD, "MaxStreams"),
393     (DWORD, "MaxStreamStride"),
394     (D3DVS_VERSION, "VertexShaderVersion"),
395     (DWORD, "MaxVertexShaderConst"),
396     (D3DPS_VERSION, "PixelShaderVersion"),
397     (Float, "PixelShader1xMaxValue"),
398     (D3DDEVCAPS2, "DevCaps2"),
399     (Float, "MaxNpatchTessellationLevel"),
400     (DWORD, "Reserved5"),
401     (UINT, "MasterAdapterOrdinal"),
402     (UINT, "AdapterOrdinalInGroup"),
403     (UINT, "NumberOfAdaptersInGroup"),
404     (D3DDTCAPS, "DeclTypes"),
405     (DWORD, "NumSimultaneousRTs"),
406     (D3DPTFILTERCAPS, "StretchRectFilterCaps"),
407     (D3DVSHADERCAPS2_0, "VS20Caps"),
408     (D3DPSHADERCAPS2_0, "PS20Caps"),
409     (D3DPTFILTERCAPS, "VertexTextureFilterCaps"),
410     (DWORD, "MaxVShaderInstructionsExecuted"),
411     (DWORD, "MaxPShaderInstructionsExecuted"),
412     (DWORD, "MaxVertexShader30InstructionSlots"),
413     (DWORD, "MaxPixelShader30InstructionSlots"),
414 ])
415