]> git.cworth.org Git - apitrace/blob - d3d8types.py
Tweaks.
[apitrace] / d3d8types.py
1 ##########################################################################
2 #
3 # Copyright 2008-2009 VMware, Inc.
4 # All Rights Reserved.
5 #
6 # Permission is hereby granted, free of charge, to any person obtaining a copy
7 # of this software and associated documentation files (the "Software"), to deal
8 # in the Software without restriction, including without limitation the rights
9 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 # copies of the Software, and to permit persons to whom the Software is
11 # furnished to do so, subject to the following conditions:
12 #
13 # The above copyright notice and this permission notice shall be included in
14 # all copies or substantial portions of the Software.
15 #
16 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 # THE SOFTWARE.
23 #
24 ##########################################################################/
25
26 """d3d8types.h"""
27
28 from winapi import *
29
30 D3DCOLOR = Alias("D3DCOLOR", DWORD)
31
32 D3DVECTOR = Struct("D3DVECTOR", [
33     (Float, "x"),
34     (Float, "y"),
35     (Float, "z"),
36 ])
37
38 D3DCOLORVALUE = Struct("D3DCOLORVALUE", [
39     (Float, "r"),
40     (Float, "g"),
41     (Float, "b"),
42     (Float, "a"),
43 ])
44
45 D3DRECT = Struct("D3DRECT", [
46     (LONG, "x1"),
47     (LONG, "y1"),
48     (LONG, "x2"),
49     (LONG, "y2"),
50 ])
51
52 D3DMATRIX = Struct("D3DMATRIX", [
53     (Array(Array(Float, "4"), "4"), "m"),
54 ])
55
56 D3DVIEWPORT8 = Struct("D3DVIEWPORT8", [
57     (DWORD, "X"),
58     (DWORD, "Y"),
59     (DWORD, "Width"),
60     (DWORD, "Height"),
61     (Float, "MinZ"),
62     (Float, "MaxZ"),
63 ])
64
65 D3DCLIP = Flags(DWORD, [
66     "D3DCLIPPLANE0",
67     "D3DCLIPPLANE1",
68     "D3DCLIPPLANE2",
69     "D3DCLIPPLANE3",
70     "D3DCLIPPLANE4",
71     "D3DCLIPPLANE5",
72 ])
73
74 D3DCS = Flags(DWORD, [
75     "D3DCS_ALL",
76     "D3DCS_LEFT",
77     "D3DCS_RIGHT",
78     "D3DCS_TOP",
79     "D3DCS_BOTTOM",
80     "D3DCS_FRONT",
81     "D3DCS_BACK",
82     "D3DCS_PLANE0",
83     "D3DCS_PLANE1",
84     "D3DCS_PLANE2",
85     "D3DCS_PLANE3",
86     "D3DCS_PLANE4",
87     "D3DCS_PLANE5",
88 ])
89
90 D3DCLIPSTATUS8 = Struct("D3DCLIPSTATUS8", [
91     (DWORD, "ClipUnion"),
92     (DWORD, "ClipIntersection"),
93 ])
94
95 D3DMATERIAL8 = Struct("D3DMATERIAL8", [
96     (D3DCOLORVALUE, "Diffuse"),
97     (D3DCOLORVALUE, "Ambient"),
98     (D3DCOLORVALUE, "Specular"),
99     (D3DCOLORVALUE, "Emissive"),
100     (Float, "Power"),
101 ])
102
103 D3DLIGHTTYPE = Enum("D3DLIGHTTYPE", [
104     "D3DLIGHT_POINT",
105     "D3DLIGHT_SPOT",
106     "D3DLIGHT_DIRECTIONAL",
107     "D3DLIGHT_FORCE_DWORD",
108 ])
109
110 D3DLIGHT8 = Struct("D3DLIGHT8", [
111     (D3DLIGHTTYPE, "Type"),
112     (D3DCOLORVALUE, "Diffuse"),
113     (D3DCOLORVALUE, "Specular"),
114     (D3DCOLORVALUE, "Ambient"),
115     (D3DVECTOR, "Position"),
116     (D3DVECTOR, "Direction"),
117     (Float, "Range"),
118     (Float, "Falloff"),
119     (Float, "Attenuation0"),
120     (Float, "Attenuation1"),
121     (Float, "Attenuation2"),
122     (Float, "Theta"),
123     (Float, "Phi"),
124 ])
125
126 D3DCS = Flags(DWORD, [
127     "D3DCLEAR_TARGET",
128     "D3DCLEAR_ZBUFFER",
129     "D3DCLEAR_STENCIL",
130 ])
131
132 D3DSHADEMODE = Enum("D3DSHADEMODE", [
133     "D3DSHADE_FLAT",
134     "D3DSHADE_GOURAUD",
135     "D3DSHADE_PHONG",
136     "D3DSHADE_FORCE_DWORD",
137 ])
138
139 D3DFILLMODE = Enum("D3DFILLMODE", [
140     "D3DFILL_POINT",
141     "D3DFILL_WIREFRAME",
142     "D3DFILL_SOLID",
143     "D3DFILL_FORCE_DWORD",
144 ])
145
146 D3DLINEPATTERN = Struct("D3DLINEPATTERN", [
147     (WORD, "wRepeatFactor"),
148     (WORD, "wLinePattern"),
149 ])
150
151 D3DBLEND = Enum("D3DBLEND", [
152     "D3DBLEND_ZERO",
153     "D3DBLEND_ONE",
154     "D3DBLEND_SRCCOLOR",
155     "D3DBLEND_INVSRCCOLOR",
156     "D3DBLEND_SRCALPHA",
157     "D3DBLEND_INVSRCALPHA",
158     "D3DBLEND_DESTALPHA",
159     "D3DBLEND_INVDESTALPHA",
160     "D3DBLEND_DESTCOLOR",
161     "D3DBLEND_INVDESTCOLOR",
162     "D3DBLEND_SRCALPHASAT",
163     "D3DBLEND_BOTHSRCALPHA",
164     "D3DBLEND_BOTHINVSRCALPHA",
165     "D3DBLEND_FORCE_DWORD",
166 ])
167
168 D3DBLENDOP = Enum("D3DBLENDOP", [
169     "D3DBLENDOP_ADD",
170     "D3DBLENDOP_SUBTRACT",
171     "D3DBLENDOP_REVSUBTRACT",
172     "D3DBLENDOP_MIN",
173     "D3DBLENDOP_MAX",
174     "D3DBLENDOP_FORCE_DWORD",
175 ])
176
177 D3DTEXTUREADDRESS = Enum("D3DTEXTUREADDRESS", [
178     "D3DTADDRESS_WRAP",
179     "D3DTADDRESS_MIRROR",
180     "D3DTADDRESS_CLAMP",
181     "D3DTADDRESS_BORDER",
182     "D3DTADDRESS_MIRRORONCE",
183     "D3DTADDRESS_FORCE_DWORD",
184 ])
185
186 D3DCULL = Enum("D3DCULL", [
187     "D3DCULL_NONE",
188     "D3DCULL_CW",
189     "D3DCULL_CCW",
190     "D3DCULL_FORCE_DWORD",
191 ])
192
193 D3DCMPFUNC = Enum("D3DCMPFUNC", [
194     "D3DCMP_NEVER",
195     "D3DCMP_LESS",
196     "D3DCMP_EQUAL",
197     "D3DCMP_LESSEQUAL",
198     "D3DCMP_GREATER",
199     "D3DCMP_NOTEQUAL",
200     "D3DCMP_GREATEREQUAL",
201     "D3DCMP_ALWAYS",
202     "D3DCMP_FORCE_DWORD",
203 ])
204
205 D3DSTENCILOP = Enum("D3DSTENCILOP", [
206     "D3DSTENCILOP_KEEP",
207     "D3DSTENCILOP_ZERO",
208     "D3DSTENCILOP_REPLACE",
209     "D3DSTENCILOP_INCRSAT",
210     "D3DSTENCILOP_DECRSAT",
211     "D3DSTENCILOP_INVERT",
212     "D3DSTENCILOP_INCR",
213     "D3DSTENCILOP_DECR",
214     "D3DSTENCILOP_FORCE_DWORD",
215 ])
216
217 D3DFOGMODE = Enum("D3DFOGMODE", [
218     "D3DFOG_NONE",
219     "D3DFOG_EXP",
220     "D3DFOG_EXP2",
221     "D3DFOG_LINEAR",
222     "D3DFOG_FORCE_DWORD",
223 ])
224
225 D3DZBUFFERTYPE = Enum("D3DZBUFFERTYPE", [
226     "D3DZB_FALSE",
227     "D3DZB_TRUE",
228     "D3DZB_USEW",
229     "D3DZB_FORCE_DWORD",
230 ])
231
232 D3DPRIMITIVETYPE = Enum("D3DPRIMITIVETYPE", [
233     "D3DPT_POINTLIST",
234     "D3DPT_LINELIST",
235     "D3DPT_LINESTRIP",
236     "D3DPT_TRIANGLELIST",
237     "D3DPT_TRIANGLESTRIP",
238     "D3DPT_TRIANGLEFAN",
239     "D3DPT_FORCE_DWORD",
240 ])
241
242 D3DTRANSFORMSTATETYPE = Enum("D3DTRANSFORMSTATETYPE", [
243     "D3DTS_VIEW",
244     "D3DTS_PROJECTION",
245     "D3DTS_TEXTURE0",
246     "D3DTS_TEXTURE1",
247     "D3DTS_TEXTURE2",
248     "D3DTS_TEXTURE3",
249     "D3DTS_TEXTURE4",
250     "D3DTS_TEXTURE5",
251     "D3DTS_TEXTURE6",
252     "D3DTS_TEXTURE7",
253     "D3DTS_FORCE_DWORD",
254 ])
255
256 D3DTS = Flags(DWORD, [
257     "D3DTS_WORLD",
258     "D3DTS_WORLD1",
259     "D3DTS_WORLD2",
260     "D3DTS_WORLD3",
261 ])
262
263 D3DRENDERSTATETYPE = Enum("D3DRENDERSTATETYPE", [
264     "D3DRS_ZENABLE",
265     "D3DRS_FILLMODE",
266     "D3DRS_SHADEMODE",
267     "D3DRS_LINEPATTERN",
268     "D3DRS_ZWRITEENABLE",
269     "D3DRS_ALPHATESTENABLE",
270     "D3DRS_LASTPIXEL",
271     "D3DRS_SRCBLEND",
272     "D3DRS_DESTBLEND",
273     "D3DRS_CULLMODE",
274     "D3DRS_ZFUNC",
275     "D3DRS_ALPHAREF",
276     "D3DRS_ALPHAFUNC",
277     "D3DRS_DITHERENABLE",
278     "D3DRS_ALPHABLENDENABLE",
279     "D3DRS_FOGENABLE",
280     "D3DRS_SPECULARENABLE",
281     "D3DRS_ZVISIBLE",
282     "D3DRS_FOGCOLOR",
283     "D3DRS_FOGTABLEMODE",
284     "D3DRS_FOGSTART",
285     "D3DRS_FOGEND",
286     "D3DRS_FOGDENSITY",
287     "D3DRS_EDGEANTIALIAS",
288     "D3DRS_ZBIAS",
289     "D3DRS_RANGEFOGENABLE",
290     "D3DRS_STENCILENABLE",
291     "D3DRS_STENCILFAIL",
292     "D3DRS_STENCILZFAIL",
293     "D3DRS_STENCILPASS",
294     "D3DRS_STENCILFUNC",
295     "D3DRS_STENCILREF",
296     "D3DRS_STENCILMASK",
297     "D3DRS_STENCILWRITEMASK",
298     "D3DRS_TEXTUREFACTOR",
299     "D3DRS_WRAP0",
300     "D3DRS_WRAP1",
301     "D3DRS_WRAP2",
302     "D3DRS_WRAP3",
303     "D3DRS_WRAP4",
304     "D3DRS_WRAP5",
305     "D3DRS_WRAP6",
306     "D3DRS_WRAP7",
307     "D3DRS_CLIPPING",
308     "D3DRS_LIGHTING",
309     "D3DRS_AMBIENT",
310     "D3DRS_FOGVERTEXMODE",
311     "D3DRS_COLORVERTEX",
312     "D3DRS_LOCALVIEWER",
313     "D3DRS_NORMALIZENORMALS",
314     "D3DRS_DIFFUSEMATERIALSOURCE",
315     "D3DRS_SPECULARMATERIALSOURCE",
316     "D3DRS_AMBIENTMATERIALSOURCE",
317     "D3DRS_EMISSIVEMATERIALSOURCE",
318     "D3DRS_VERTEXBLEND",
319     "D3DRS_CLIPPLANEENABLE",
320     "D3DRS_SOFTWAREVERTEXPROCESSING",
321     "D3DRS_POINTSIZE",
322     "D3DRS_POINTSIZE_MIN",
323     "D3DRS_POINTSPRITEENABLE",
324     "D3DRS_POINTSCALEENABLE",
325     "D3DRS_POINTSCALE_A",
326     "D3DRS_POINTSCALE_B",
327     "D3DRS_POINTSCALE_C",
328     "D3DRS_MULTISAMPLEANTIALIAS",
329     "D3DRS_MULTISAMPLEMASK",
330     "D3DRS_PATCHEDGESTYLE",
331     "D3DRS_PATCHSEGMENTS",
332     "D3DRS_DEBUGMONITORTOKEN",
333     "D3DRS_POINTSIZE_MAX",
334     "D3DRS_INDEXEDVERTEXBLENDENABLE",
335     "D3DRS_COLORWRITEENABLE",
336     "D3DRS_TWEENFACTOR",
337     "D3DRS_BLENDOP",
338     "D3DRS_POSITIONORDER",
339     "D3DRS_NORMALORDER",
340     "D3DRS_FORCE_DWORD",
341 ])
342
343 D3DMATERIALCOLORSOURCE = Enum("D3DMATERIALCOLORSOURCE", [
344     "D3DMCS_MATERIAL",
345     "D3DMCS_COLOR1",
346     "D3DMCS_COLOR2",
347     "D3DMCS_FORCE_DWORD",
348 ])
349
350 D3DWRAP = Flags(DWORD, [
351     "D3DWRAP_U",
352     "D3DWRAP_V",
353     "D3DWRAP_W",
354 ])
355
356 D3DWRAPCOORD = Flags(DWORD, [
357     "D3DWRAPCOORD_0",
358     "D3DWRAPCOORD_1",
359     "D3DWRAPCOORD_2",
360     "D3DWRAPCOORD_3",
361 ])
362
363 D3DCOLORWRITEENABLE = Flags(DWORD, [
364     "D3DCOLORWRITEENABLE_RED",
365     "D3DCOLORWRITEENABLE_GREEN",
366     "D3DCOLORWRITEENABLE_BLUE",
367     "D3DCOLORWRITEENABLE_ALPHA",
368 ])
369
370 D3DTEXTURESTAGESTATETYPE = Enum("D3DTEXTURESTAGESTATETYPE", [
371     "D3DTSS_COLOROP",
372     "D3DTSS_COLORARG1",
373     "D3DTSS_COLORARG2",
374     "D3DTSS_ALPHAOP",
375     "D3DTSS_ALPHAARG1",
376     "D3DTSS_ALPHAARG2",
377     "D3DTSS_BUMPENVMAT00",
378     "D3DTSS_BUMPENVMAT01",
379     "D3DTSS_BUMPENVMAT10",
380     "D3DTSS_BUMPENVMAT11",
381     "D3DTSS_TEXCOORDINDEX",
382     "D3DTSS_ADDRESSU",
383     "D3DTSS_ADDRESSV",
384     "D3DTSS_BORDERCOLOR",
385     "D3DTSS_MAGFILTER",
386     "D3DTSS_MINFILTER",
387     "D3DTSS_MIPFILTER",
388     "D3DTSS_MIPMAPLODBIAS",
389     "D3DTSS_MAXMIPLEVEL",
390     "D3DTSS_MAXANISOTROPY",
391     "D3DTSS_BUMPENVLSCALE",
392     "D3DTSS_BUMPENVLOFFSET",
393     "D3DTSS_TEXTURETRANSFORMFLAGS",
394     "D3DTSS_ADDRESSW",
395     "D3DTSS_COLORARG0",
396     "D3DTSS_ALPHAARG0",
397     "D3DTSS_RESULTARG",
398     "D3DTSS_FORCE_DWORD",
399 ])
400
401 D3DTSS = Flags(DWORD, [
402     "D3DTSS_TCI_PASSTHRU",
403     "D3DTSS_TCI_CAMERASPACENORMAL",
404     "D3DTSS_TCI_CAMERASPACEPOSITION",
405     "D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR",
406 ])
407
408 D3DTEXTUREOP = Enum("D3DTEXTUREOP", [
409     "D3DTOP_DISABLE",
410     "D3DTOP_SELECTARG1",
411     "D3DTOP_SELECTARG2",
412     "D3DTOP_MODULATE",
413     "D3DTOP_MODULATE2X",
414     "D3DTOP_MODULATE4X",
415     "D3DTOP_ADD",
416     "D3DTOP_ADDSIGNED",
417     "D3DTOP_ADDSIGNED2X",
418     "D3DTOP_SUBTRACT",
419     "D3DTOP_ADDSMOOTH",
420     "D3DTOP_BLENDDIFFUSEALPHA",
421     "D3DTOP_BLENDTEXTUREALPHA",
422     "D3DTOP_BLENDFACTORALPHA",
423     "D3DTOP_BLENDTEXTUREALPHAPM",
424     "D3DTOP_BLENDCURRENTALPHA",
425     "D3DTOP_PREMODULATE",
426     "D3DTOP_MODULATEALPHA_ADDCOLOR",
427     "D3DTOP_MODULATECOLOR_ADDALPHA",
428     "D3DTOP_MODULATEINVALPHA_ADDCOLOR",
429     "D3DTOP_MODULATEINVCOLOR_ADDALPHA",
430     "D3DTOP_BUMPENVMAP",
431     "D3DTOP_BUMPENVMAPLUMINANCE",
432     "D3DTOP_DOTPRODUCT3",
433     "D3DTOP_MULTIPLYADD",
434     "D3DTOP_LERP",
435     "D3DTOP_FORCE_DWORD",
436 ])
437
438 D3DTA = Flags(DWORD, [
439     "D3DTA_SELECTMASK",
440     "D3DTA_DIFFUSE",
441     "D3DTA_CURRENT",
442     "D3DTA_TEXTURE",
443     "D3DTA_TFACTOR",
444     "D3DTA_SPECULAR",
445     "D3DTA_TEMP",
446     "D3DTA_COMPLEMENT",
447     "D3DTA_ALPHAREPLICATE",
448 ])
449
450 D3DTEXTUREFILTERTYPE = Enum("D3DTEXTUREFILTERTYPE", [
451     "D3DTEXF_NONE",
452     "D3DTEXF_POINT",
453     "D3DTEXF_LINEAR",
454     "D3DTEXF_ANISOTROPIC",
455     "D3DTEXF_FLATCUBIC",
456     "D3DTEXF_GAUSSIANCUBIC",
457     "D3DTEXF_FORCE_DWORD",
458 ])
459
460 D3DPV = Flags(DWORD, [
461     "D3DPV_DONOTCOPYDATA",
462 ])
463
464 D3DFVF = Flags(DWORD, [
465     "D3DFVF_RESERVED0",
466     "D3DFVF_POSITION_MASK",
467     "D3DFVF_XYZ",
468     "D3DFVF_XYZRHW",
469     "D3DFVF_XYZB1",
470     "D3DFVF_XYZB2",
471     "D3DFVF_XYZB3",
472     "D3DFVF_XYZB4",
473     "D3DFVF_XYZB5",
474     "D3DFVF_NORMAL",
475     "D3DFVF_PSIZE",
476     "D3DFVF_DIFFUSE",
477     "D3DFVF_SPECULAR",
478     "D3DFVF_TEXCOUNT_MASK",
479     "D3DFVF_TEXCOUNT_SHIFT",
480     "D3DFVF_TEX0",
481     "D3DFVF_TEX1",
482     "D3DFVF_TEX2",
483     "D3DFVF_TEX3",
484     "D3DFVF_TEX4",
485     "D3DFVF_TEX5",
486     "D3DFVF_TEX6",
487     "D3DFVF_TEX7",
488     "D3DFVF_TEX8",
489     "D3DFVF_LASTBETA_UBYTE4",
490     "D3DFVF_RESERVED2",
491     "D3DFVF_TEXCOORDSIZE3(0)",
492     "D3DFVF_TEXCOORDSIZE2(0)",
493     "D3DFVF_TEXCOORDSIZE4(0)",
494     "D3DFVF_TEXCOORDSIZE1(0)",
495     "D3DFVF_TEXCOORDSIZE3(1)",
496     "D3DFVF_TEXCOORDSIZE2(1)",
497     "D3DFVF_TEXCOORDSIZE4(1)",
498     "D3DFVF_TEXCOORDSIZE1(1)",
499     "D3DFVF_TEXCOORDSIZE3(2)",
500     "D3DFVF_TEXCOORDSIZE2(2)",
501     "D3DFVF_TEXCOORDSIZE4(2)",
502     "D3DFVF_TEXCOORDSIZE1(2)",
503     "D3DFVF_TEXCOORDSIZE3(3)",
504     "D3DFVF_TEXCOORDSIZE2(3)",
505     "D3DFVF_TEXCOORDSIZE4(3)",
506     "D3DFVF_TEXCOORDSIZE1(3)",
507 ])
508
509 D3DVSD_TOKENTYPE = Enum("D3DVSD_TOKENTYPE", [
510     "D3DVSD_TOKEN_NOP",
511     "D3DVSD_TOKEN_STREAM",
512     "D3DVSD_TOKEN_STREAMDATA",
513     "D3DVSD_TOKEN_TESSELLATOR",
514     "D3DVSD_TOKEN_CONSTMEM",
515     "D3DVSD_TOKEN_EXT",
516     "D3DVSD_TOKEN_END",
517     "D3DVSD_FORCE_DWORD",
518 ])
519
520 D3DVSDT = Flags(DWORD, [
521     "D3DVSDT_FLOAT1",
522     "D3DVSDT_FLOAT2",
523     "D3DVSDT_FLOAT3",
524     "D3DVSDT_FLOAT4",
525     "D3DVSDT_D3DCOLOR",
526     "D3DVSDT_UBYTE4",
527     "D3DVSDT_SHORT2",
528     "D3DVSDT_SHORT4",
529     "D3DVSDE_POSITION",
530     "D3DVSDE_BLENDWEIGHT",
531     "D3DVSDE_BLENDINDICES",
532     "D3DVSDE_NORMAL",
533     "D3DVSDE_PSIZE",
534     "D3DVSDE_DIFFUSE",
535     "D3DVSDE_SPECULAR",
536     "D3DVSDE_TEXCOORD0",
537     "D3DVSDE_TEXCOORD1",
538     "D3DVSDE_TEXCOORD2",
539     "D3DVSDE_TEXCOORD3",
540     "D3DVSDE_TEXCOORD4",
541     "D3DVSDE_TEXCOORD5",
542     "D3DVSDE_TEXCOORD6",
543     "D3DVSDE_TEXCOORD7",
544     "D3DVSDE_POSITION2",
545     "D3DVSDE_NORMAL2",
546     "D3DDP_MAXTEXCOORD",
547     "D3DSI_OPCODE_MASK",
548 ])
549
550 D3DSHADER_INSTRUCTION_OPCODE_TYPE = Enum("D3DSHADER_INSTRUCTION_OPCODE_TYPE", [
551     "D3DSIO_NOP",
552     "D3DSIO_MOV",
553     "D3DSIO_ADD",
554     "D3DSIO_SUB",
555     "D3DSIO_MAD",
556     "D3DSIO_MUL",
557     "D3DSIO_RCP",
558     "D3DSIO_RSQ",
559     "D3DSIO_DP3",
560     "D3DSIO_DP4",
561     "D3DSIO_MIN",
562     "D3DSIO_MAX",
563     "D3DSIO_SLT",
564     "D3DSIO_SGE",
565     "D3DSIO_EXP",
566     "D3DSIO_LOG",
567     "D3DSIO_LIT",
568     "D3DSIO_DST",
569     "D3DSIO_LRP",
570     "D3DSIO_FRC",
571     "D3DSIO_M4x4",
572     "D3DSIO_M4x3",
573     "D3DSIO_M3x4",
574     "D3DSIO_M3x3",
575     "D3DSIO_M3x2",
576     "D3DSIO_TEXCOORD",
577     "D3DSIO_TEXKILL",
578     "D3DSIO_TEX",
579     "D3DSIO_TEXBEM",
580     "D3DSIO_TEXBEML",
581     "D3DSIO_TEXREG2AR",
582     "D3DSIO_TEXREG2GB",
583     "D3DSIO_TEXM3x2PAD",
584     "D3DSIO_TEXM3x2TEX",
585     "D3DSIO_TEXM3x3PAD",
586     "D3DSIO_TEXM3x3TEX",
587     "D3DSIO_TEXM3x3DIFF",
588     "D3DSIO_TEXM3x3SPEC",
589     "D3DSIO_TEXM3x3VSPEC",
590     "D3DSIO_EXPP",
591     "D3DSIO_LOGP",
592     "D3DSIO_CND",
593     "D3DSIO_DEF",
594     "D3DSIO_TEXREG2RGB",
595     "D3DSIO_TEXDP3TEX",
596     "D3DSIO_TEXM3x2DEPTH",
597     "D3DSIO_TEXDP3",
598     "D3DSIO_TEXM3x3",
599     "D3DSIO_TEXDEPTH",
600     "D3DSIO_CMP",
601     "D3DSIO_BEM",
602     "D3DSIO_PHASE",
603     "D3DSIO_COMMENT",
604     "D3DSIO_END",
605     "D3DSIO_FORCE_DWORD",
606 ])
607
608 D3DSP = Flags(DWORD, [
609     "D3DSP_WRITEMASK_0",
610     "D3DSP_WRITEMASK_1",
611     "D3DSP_WRITEMASK_2",
612     "D3DSP_WRITEMASK_3",
613     "D3DSP_WRITEMASK_ALL",
614 ])
615
616 D3DSHADER_PARAM_DSTMOD_TYPE = Enum("D3DSHADER_PARAM_DSTMOD_TYPE", [
617     "D3DSPDM_NONE",
618     "D3DSPDM_SATURATE",
619     "D3DSPDM_FORCE_DWORD",
620 ])
621
622 D3DSHADER_PARAM_REGISTER_TYPE = Enum("D3DSHADER_PARAM_REGISTER_TYPE", [
623     "D3DSPR_TEMP",
624     "D3DSPR_INPUT",
625     "D3DSPR_CONST",
626     "D3DSPR_ADDR|D3DSPR_TEXTURE",
627     "D3DSPR_RASTOUT",
628     "D3DSPR_ATTROUT",
629     "D3DSPR_TEXCRDOUT",
630     "D3DSPR_FORCE_DWORD",
631 ])
632
633 D3DVS_RASTOUT_OFFSETS = Enum("D3DVS_RASTOUT_OFFSETS", [
634     "D3DSRO_POSITION",
635     "D3DSRO_FOG",
636     "D3DSRO_POINT_SIZE",
637     "D3DSRO_FORCE_DWORD",
638 ])
639
640 D3DVS_ADDRESSMODE_TYPE = Enum("D3DVS_ADDRESSMODE_TYPE", [
641     "D3DVS_ADDRMODE_ABSOLUTE",
642     "D3DVS_ADDRMODE_RELATIVE",
643     "D3DVS_ADDRMODE_FORCE_DWORD",
644 ])
645
646 D3DVS = Flags(DWORD, [
647     "D3DVS_X_X",
648     "D3DVS_X_Y",
649     "D3DVS_X_Z",
650     "D3DVS_X_W",
651     "D3DVS_Y_X",
652     "D3DVS_Y_Y",
653     "D3DVS_Y_Z",
654     "D3DVS_Y_W",
655     "D3DVS_Z_X",
656     "D3DVS_Z_Y",
657     "D3DVS_Z_Z",
658     "D3DVS_Z_W",
659     "D3DVS_W_X",
660     "D3DVS_W_Y",
661     "D3DVS_W_Z",
662     "D3DVS_W_W",
663     "D3DVS_NOSWIZZLE",
664 ])
665
666 D3DSP = Flags(DWORD, [
667     "D3DSP_NOSWIZZLE",
668     "D3DSP_REPLICATERED",
669     "D3DSP_REPLICATEGREEN",
670     "D3DSP_REPLICATEBLUE",
671     "D3DSP_REPLICATEALPHA",
672 ])
673
674 D3DSHADER_PARAM_SRCMOD_TYPE = Enum("D3DSHADER_PARAM_SRCMOD_TYPE", [
675     "D3DSPSM_NONE",
676     "D3DSPSM_NEG",
677     "D3DSPSM_BIAS",
678     "D3DSPSM_BIASNEG",
679     "D3DSPSM_SIGN",
680     "D3DSPSM_SIGNNEG",
681     "D3DSPSM_COMP",
682     "D3DSPSM_X2",
683     "D3DSPSM_X2NEG",
684     "D3DSPSM_DZ",
685     "D3DSPSM_DW",
686     "D3DSPSM_FORCE_DWORD",
687 ])
688
689 D3DBASISTYPE = Enum("D3DBASISTYPE", [
690     "D3DBASIS_BEZIER",
691     "D3DBASIS_BSPLINE",
692     "D3DBASIS_INTERPOLATE",
693     "D3DBASIS_FORCE_DWORD",
694 ])
695
696 D3DORDERTYPE = Enum("D3DORDERTYPE", [
697     "D3DORDER_LINEAR",
698     "D3DORDER_QUADRATIC",
699     "D3DORDER_CUBIC",
700     "D3DORDER_QUINTIC",
701     "D3DORDER_FORCE_DWORD",
702 ])
703
704 D3DPATCHEDGESTYLE = Enum("D3DPATCHEDGESTYLE", [
705     "D3DPATCHEDGE_DISCRETE",
706     "D3DPATCHEDGE_CONTINUOUS",
707     "D3DPATCHEDGE_FORCE_DWORD",
708 ])
709
710 D3DSTATEBLOCKTYPE = Enum("D3DSTATEBLOCKTYPE", [
711     "D3DSBT_ALL",
712     "D3DSBT_PIXELSTATE",
713     "D3DSBT_VERTEXSTATE",
714     "D3DSBT_FORCE_DWORD",
715 ])
716
717 D3DVERTEXBLENDFLAGS = Enum("D3DVERTEXBLENDFLAGS", [
718     "D3DVBF_DISABLE",
719     "D3DVBF_1WEIGHTS",
720     "D3DVBF_2WEIGHTS",
721     "D3DVBF_3WEIGHTS",
722     "D3DVBF_TWEENING",
723     "D3DVBF_0WEIGHTS",
724     "D3DVBF_FORCE_DWORD",
725 ])
726
727 D3DTEXTURETRANSFORMFLAGS = Enum("D3DTEXTURETRANSFORMFLAGS", [
728     "D3DTTFF_DISABLE",
729     "D3DTTFF_COUNT1",
730     "D3DTTFF_COUNT2",
731     "D3DTTFF_COUNT3",
732     "D3DTTFF_COUNT4",
733     "D3DTTFF_PROJECTED",
734     "D3DTTFF_FORCE_DWORD",
735 ])
736
737 D3DDEVTYPE = Enum("D3DDEVTYPE", [
738     "D3DDEVTYPE_HAL",
739     "D3DDEVTYPE_REF",
740     "D3DDEVTYPE_SW",
741     "D3DDEVTYPE_FORCE_DWORD",
742 ])
743
744 D3DMULTISAMPLE_TYPE = Enum("D3DMULTISAMPLE_TYPE", [
745     "D3DMULTISAMPLE_NONE",
746     "D3DMULTISAMPLE_2_SAMPLES",
747     "D3DMULTISAMPLE_3_SAMPLES",
748     "D3DMULTISAMPLE_4_SAMPLES",
749     "D3DMULTISAMPLE_5_SAMPLES",
750     "D3DMULTISAMPLE_6_SAMPLES",
751     "D3DMULTISAMPLE_7_SAMPLES",
752     "D3DMULTISAMPLE_8_SAMPLES",
753     "D3DMULTISAMPLE_9_SAMPLES",
754     "D3DMULTISAMPLE_10_SAMPLES",
755     "D3DMULTISAMPLE_11_SAMPLES",
756     "D3DMULTISAMPLE_12_SAMPLES",
757     "D3DMULTISAMPLE_13_SAMPLES",
758     "D3DMULTISAMPLE_14_SAMPLES",
759     "D3DMULTISAMPLE_15_SAMPLES",
760     "D3DMULTISAMPLE_16_SAMPLES",
761     "D3DMULTISAMPLE_FORCE_DWORD",
762 ])
763
764 D3DFORMAT = Enum("D3DFORMAT", [
765     "D3DFMT_UNKNOWN",
766     "D3DFMT_R8G8B8",
767     "D3DFMT_A8R8G8B8",
768     "D3DFMT_X8R8G8B8",
769     "D3DFMT_R5G6B5",
770     "D3DFMT_X1R5G5B5",
771     "D3DFMT_A1R5G5B5",
772     "D3DFMT_A4R4G4B4",
773     "D3DFMT_R3G3B2",
774     "D3DFMT_A8",
775     "D3DFMT_A8R3G3B2",
776     "D3DFMT_X4R4G4B4",
777     "D3DFMT_A2B10G10R10",
778     "D3DFMT_G16R16",
779     "D3DFMT_A8P8",
780     "D3DFMT_P8",
781     "D3DFMT_L8",
782     "D3DFMT_A8L8",
783     "D3DFMT_A4L4",
784     "D3DFMT_V8U8",
785     "D3DFMT_L6V5U5",
786     "D3DFMT_X8L8V8U8",
787     "D3DFMT_Q8W8V8U8",
788     "D3DFMT_V16U16",
789     "D3DFMT_W11V11U10",
790     "D3DFMT_A2W10V10U10",
791     "D3DFMT_UYVY",
792     "D3DFMT_YUY2",
793     "D3DFMT_DXT1",
794     "D3DFMT_DXT2",
795     "D3DFMT_DXT3",
796     "D3DFMT_DXT4",
797     "D3DFMT_DXT5",
798     "D3DFMT_D16_LOCKABLE",
799     "D3DFMT_D32",
800     "D3DFMT_D15S1",
801     "D3DFMT_D24S8",
802     "D3DFMT_D16",
803     "D3DFMT_D24X8",
804     "D3DFMT_D24X4S4",
805     "D3DFMT_VERTEXDATA",
806     "D3DFMT_INDEX16",
807     "D3DFMT_INDEX32",
808     "D3DFMT_FORCE_DWORD",
809 ])
810
811 D3DDISPLAYMODE = Struct("D3DDISPLAYMODE", [
812     (UINT, "Width"),
813     (UINT, "Height"),
814     (UINT, "RefreshRate"),
815     (D3DFORMAT, "Format"),
816 ])
817
818 D3DDEVICE_CREATION_PARAMETERS = Struct("D3DDEVICE_CREATION_PARAMETERS", [
819     (UINT, "AdapterOrdinal"),
820     (D3DDEVTYPE, "DeviceType"),
821     (HWND, "hFocusWindow"),
822     (DWORD, "BehaviorFlags"),
823 ])
824
825 D3DSWAPEFFECT = Enum("D3DSWAPEFFECT", [
826     "D3DSWAPEFFECT_DISCARD",
827     "D3DSWAPEFFECT_FLIP",
828     "D3DSWAPEFFECT_COPY",
829     "D3DSWAPEFFECT_COPY_VSYNC",
830     "D3DSWAPEFFECT_FORCE_DWORD",
831 ])
832
833 D3DPOOL = Enum("D3DPOOL", [
834     "D3DPOOL_DEFAULT",
835     "D3DPOOL_MANAGED",
836     "D3DPOOL_SYSTEMMEM",
837     "D3DPOOL_SCRATCH",
838     "D3DPOOL_FORCE_DWORD",
839 ])
840
841 D3DPRESENT = Flags(DWORD, [
842     "D3DPRESENT_RATE_DEFAULT",
843     "D3DPRESENT_RATE_UNLIMITED",
844 ])
845
846 D3DPRESENT_PARAMETERS = Struct("D3DPRESENT_PARAMETERS", [
847     (UINT, "BackBufferWidth"),
848     (UINT, "BackBufferHeight"),
849     (D3DFORMAT, "BackBufferFormat"),
850     (UINT, "BackBufferCount"),
851     (D3DMULTISAMPLE_TYPE, "MultiSampleType"),
852     (D3DSWAPEFFECT, "SwapEffect"),
853     (HWND, "hDeviceWindow"),
854     (BOOL, "Windowed"),
855     (BOOL, "EnableAutoDepthStencil"),
856     (D3DFORMAT, "AutoDepthStencilFormat"),
857     (DWORD, "Flags"),
858     (UINT, "FullScreen_RefreshRateInHz"),
859     (UINT, "FullScreen_PresentationInterval"),
860 ])
861
862 D3DPRESENTFLAG = Flags(DWORD, [
863     "D3DPRESENTFLAG_LOCKABLE_BACKBUFFER",
864 ])
865
866 D3DGAMMARAMP = Struct("D3DGAMMARAMP", [
867     (WORD, "red[256]"),
868     (WORD, "green[256]"),
869     (WORD, "blue[256]"),
870 ])
871
872 D3DBACKBUFFER_TYPE = Enum("D3DBACKBUFFER_TYPE", [
873     "D3DBACKBUFFER_TYPE_MONO",
874     "D3DBACKBUFFER_TYPE_LEFT",
875     "D3DBACKBUFFER_TYPE_RIGHT",
876     "D3DBACKBUFFER_TYPE_FORCE_DWORD",
877 ])
878
879 D3DRESOURCETYPE = Enum("D3DRESOURCETYPE", [
880     "D3DRTYPE_SURFACE",
881     "D3DRTYPE_VOLUME",
882     "D3DRTYPE_TEXTURE",
883     "D3DRTYPE_VOLUMETEXTURE",
884     "D3DRTYPE_CUBETEXTURE",
885     "D3DRTYPE_VERTEXBUFFER",
886     "D3DRTYPE_INDEXBUFFER",
887     "D3DRTYPE_FORCE_DWORD",
888 ])
889
890 D3DUSAGE = Flags(DWORD, [
891     "D3DUSAGE_RENDERTARGET",
892     "D3DUSAGE_DEPTHSTENCIL",
893     "D3DUSAGE_WRITEONLY",
894     "D3DUSAGE_SOFTWAREPROCESSING",
895     "D3DUSAGE_DONOTCLIP",
896     "D3DUSAGE_POINTS",
897     "D3DUSAGE_RTPATCHES",
898     "D3DUSAGE_NPATCHES",
899     "D3DUSAGE_DYNAMIC",
900 ])
901
902 D3DCUBEMAP_FACES = Enum("D3DCUBEMAP_FACES", [
903     "D3DCUBEMAP_FACE_POSITIVE_X",
904     "D3DCUBEMAP_FACE_NEGATIVE_X",
905     "D3DCUBEMAP_FACE_POSITIVE_Y",
906     "D3DCUBEMAP_FACE_NEGATIVE_Y",
907     "D3DCUBEMAP_FACE_POSITIVE_Z",
908     "D3DCUBEMAP_FACE_NEGATIVE_Z",
909     "D3DCUBEMAP_FACE_FORCE_DWORD",
910 ])
911
912 D3DLOCK = Flags(DWORD, [
913     "D3DLOCK_READONLY",
914     "D3DLOCK_DISCARD",
915     "D3DLOCK_NOOVERWRITE",
916     "D3DLOCK_NOSYSLOCK",
917     "D3DLOCK_NO_DIRTY_UPDATE",
918 ])
919
920 D3DVERTEXBUFFER_DESC = Struct("D3DVERTEXBUFFER_DESC", [
921     (D3DFORMAT, "Format"),
922     (D3DRESOURCETYPE, "Type"),
923     (DWORD, "Usage"),
924     (D3DPOOL, "Pool"),
925     (UINT, "Size"),
926     (DWORD, "FVF"),
927 ])
928
929 D3DINDEXBUFFER_DESC = Struct("D3DINDEXBUFFER_DESC", [
930     (D3DFORMAT, "Format"),
931     (D3DRESOURCETYPE, "Type"),
932     (DWORD, "Usage"),
933     (D3DPOOL, "Pool"),
934     (UINT, "Size"),
935 ])
936
937 D3DSURFACE_DESC = Struct("D3DSURFACE_DESC", [
938     (D3DFORMAT, "Format"),
939     (D3DRESOURCETYPE, "Type"),
940     (DWORD, "Usage"),
941     (D3DPOOL, "Pool"),
942     (UINT, "Size"),
943     (D3DMULTISAMPLE_TYPE, "MultiSampleType"),
944     (UINT, "Width"),
945     (UINT, "Height"),
946 ])
947
948 D3DVOLUME_DESC = Struct("D3DVOLUME_DESC", [
949     (D3DFORMAT, "Format"),
950     (D3DRESOURCETYPE, "Type"),
951     (DWORD, "Usage"),
952     (D3DPOOL, "Pool"),
953     (UINT, "Size"),
954     (UINT, "Width"),
955     (UINT, "Height"),
956     (UINT, "Depth"),
957 ])
958
959 D3DLOCKED_RECT = Struct("D3DLOCKED_RECT", [
960     (INT, "Pitch"),
961     (PVOID, "pBits"),
962 ])
963
964 D3DBOX = Struct("D3DBOX", [
965     (UINT, "Left"),
966     (UINT, "Top"),
967     (UINT, "Right"),
968     (UINT, "Bottom"),
969     (UINT, "Front"),
970     (UINT, "Back"),
971 ])
972
973 D3DLOCKED_BOX = Struct("D3DLOCKED_BOX", [
974     (INT, "RowPitch"),
975     (INT, "SlicePitch"),
976     (PVOID, "pBits"),
977 ])
978
979 D3DRANGE = Struct("D3DRANGE", [
980     (UINT, "Offset"),
981     (UINT, "Size"),
982 ])
983
984 D3DRECTPATCH_INFO = Struct("D3DRECTPATCH_INFO", [
985     (UINT, "StartVertexOffsetWidth"),
986     (UINT, "StartVertexOffsetHeight"),
987     (UINT, "Width"),
988     (UINT, "Height"),
989     (UINT, "Stride"),
990     (D3DBASISTYPE, "Basis"),
991     (D3DORDERTYPE, "Order"),
992 ])
993
994 D3DTRIPATCH_INFO = Struct("D3DTRIPATCH_INFO", [
995     (UINT, "StartVertexOffset"),
996     (UINT, "NumVertices"),
997     (D3DBASISTYPE, "Basis"),
998     (D3DORDERTYPE, "Order"),
999 ])
1000
1001 D3DADAPTER_IDENTIFIER8 = Struct("D3DADAPTER_IDENTIFIER8", [
1002     (CString, "Driver"),
1003     (CString, "Description"),
1004     (LARGE_INTEGER, "DriverVersion"),
1005     (DWORD, "VendorId"),
1006     (DWORD, "DeviceId"),
1007     (DWORD, "SubSysId"),
1008     (DWORD, "Revision"),
1009     (GUID, "DeviceIdentifier"),
1010     (DWORD, "WHQLLevel"),
1011 ])
1012
1013 D3DRASTER_STATUS = Struct("D3DRASTER_STATUS", [
1014     (BOOL, "InVBlank"),
1015     (UINT, "ScanLine"),
1016 ])
1017
1018 D3DDEBUGMONITORTOKENS = Enum("D3DDEBUGMONITORTOKENS", [
1019     "D3DDMT_ENABLE",
1020     "D3DDMT_DISABLE",
1021     "D3DDMT_FORCE_DWORD",
1022 ])
1023
1024 D3DDEVINFOID = Flags(DWORD, [
1025     "D3DDEVINFOID_RESOURCEMANAGER",
1026     "D3DDEVINFOID_VERTEXSTATS",
1027 ])
1028
1029 D3DRESOURCESTATS = Struct("D3DRESOURCESTATS", [
1030     (BOOL, "bThrashing"),
1031     (DWORD, "ApproxBytesDownloaded"),
1032     (DWORD, "NumEvicts"),
1033     (DWORD, "NumVidCreates"),
1034     (DWORD, "LastPri"),
1035     (DWORD, "NumUsed"),
1036     (DWORD, "NumUsedInVidMem"),
1037     (DWORD, "WorkingSet"),
1038     (DWORD, "WorkingSetBytes"),
1039     (DWORD, "TotalManaged"),
1040     (DWORD, "TotalBytes"),
1041 ])
1042
1043 D3DDEVINFO_RESOURCEMANAGER = Struct("D3DDEVINFO_RESOURCEMANAGER", [
1044     (D3DRESOURCESTATS, "stats[D3DRTYPECOUNT]"),
1045 ])
1046
1047 D3DDEVINFO_D3DVERTEXSTATS = Struct("D3DDEVINFO_D3DVERTEXSTATS", [
1048     (DWORD, "NumRenderedTriangles"),
1049     (DWORD, "NumExtraClippingTriangles"),
1050 ])
1051