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