]> git.cworth.org Git - apitrace/blob - d3dtypes.py
Match GL specs.
[apitrace] / d3dtypes.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 """d3dtypes.h"""
27
28 from windows import *
29 from ddraw import *
30
31 D3DVALUE = Float
32 LPD3DVALUE = Pointer(Float)
33 D3DFIXED = LONG
34
35 LPD3DVALIDATECALLBACK = LPVOID
36 LPD3DENUMTEXTUREFORMATSCALLBACK = LPVOID
37 LPD3DENUMPIXELFORMATSCALLBACK = LPVOID
38
39 D3DCOLOR = DWORD
40 LPD3DCOLOR = Pointer(D3DCOLOR)
41
42 D3DMATERIALHANDLE = DWORD
43 LPD3DMATERIALHANDLE = Pointer(D3DMATERIALHANDLE)
44
45 D3DTEXTUREHANDLE = DWORD
46 LPD3DTEXTUREHANDLE = Pointer(D3DTEXTUREHANDLE)
47
48 D3DMATRIXHANDLE = DWORD
49 LPD3DMATRIXHANDLE = Pointer(D3DMATRIXHANDLE)
50
51 D3DCOLORVALUE = Struct("D3DCOLORVALUE", [
52     (D3DVALUE, "r"),
53     (D3DVALUE, "g"),
54     (D3DVALUE, "b"),
55     (D3DVALUE, "a"),
56 ])
57 LPD3DCOLORVALUE = Pointer(D3DCOLORVALUE)
58
59 D3DRECT = Struct("D3DRECT", [
60     (LONG, "x1"),
61     (LONG, "y1"),
62     (LONG, "x2"),
63     (LONG, "y2"),
64 ])
65 LPD3DRECT = Pointer(D3DRECT)
66
67 D3DVECTOR = Struct("D3DVECTOR", [
68     (D3DVALUE, "x"),
69     (D3DVALUE, "y"),
70     (D3DVALUE, "z"),
71 ])
72 LPD3DVECTOR = Pointer(D3DVECTOR)
73
74 D3DHVERTEX = Struct("D3DHVERTEX", [
75     (DWORD, "dwFlags"),
76     (D3DVALUE, "hx"),
77     (D3DVALUE, "hy"),
78     (D3DVALUE, "hz"),
79 ])
80 LPD3DHVERTEX = Pointer(D3DHVERTEX)
81
82 D3DTLVERTEX = Struct("D3DTLVERTEX", [
83     (D3DVALUE, "sx"),
84     (D3DVALUE, "sy"),
85     (D3DVALUE, "sz"),
86     (D3DVALUE, "rhw"),
87     (D3DCOLOR, "color"),
88     (D3DCOLOR, "specular"),
89     (D3DVALUE, "tu"),
90     (D3DVALUE, "tv"),
91 ])
92 LPD3DTLVERTEX = Pointer(D3DTLVERTEX)
93
94 D3DLVERTEX = Struct("D3DLVERTEX", [
95     (D3DVALUE, "x"),
96     (D3DVALUE, "y"),
97     (D3DVALUE, "z"),
98     (DWORD, "dwReserved"),
99     (D3DCOLOR, "color"),
100     (D3DCOLOR, "specular"),
101     (D3DVALUE, "tu"),
102     (D3DVALUE, "tv"),
103 ])
104 LPD3DLVERTEX = Pointer(D3DLVERTEX)
105
106 D3DVERTEX = Struct("D3DVERTEX", [
107     (D3DVALUE, "x"),
108     (D3DVALUE, "y"),
109     (D3DVALUE, "z"),
110     (D3DVALUE, "nx"),
111     (D3DVALUE, "ny"),
112     (D3DVALUE, "nz"),
113     (D3DVALUE, "tu"),
114     (D3DVALUE, "tv"),
115 ])
116 LPD3DVERTEX = Pointer(D3DVERTEX)
117
118 D3DMATRIX = Struct("D3DMATRIX", [
119     (D3DVALUE, "m[4][4]"),
120 ])
121 LPD3DMATRIX = Pointer(D3DMATRIX)
122
123 D3DVIEWPORT = Struct("D3DVIEWPORT", [
124     (DWORD, "dwSize"),
125     (DWORD, "dwX"),
126     (DWORD, "dwY"),
127     (DWORD, "dwWidth"),
128     (DWORD, "dwHeight"),
129     (D3DVALUE, "dvScaleX"),
130     (D3DVALUE, "dvScaleY"),
131     (D3DVALUE, "dvMaxX"),
132     (D3DVALUE, "dvMaxY"),
133     (D3DVALUE, "dvMinZ"),
134     (D3DVALUE, "dvMaxZ"),
135 ])
136 LPD3DVIEWPORT = Pointer(D3DVIEWPORT)
137
138 D3DVIEWPORT2 = Struct("D3DVIEWPORT2", [
139     (DWORD, "dwSize"),
140     (DWORD, "dwX"),
141     (DWORD, "dwY"),
142     (DWORD, "dwWidth"),
143     (DWORD, "dwHeight"),
144     (D3DVALUE, "dvClipX"),
145     (D3DVALUE, "dvClipY"),
146     (D3DVALUE, "dvClipWidth"),
147     (D3DVALUE, "dvClipHeight"),
148     (D3DVALUE, "dvMinZ"),
149     (D3DVALUE, "dvMaxZ"),
150 ])
151 LPD3DVIEWPORT2 = Pointer(D3DVIEWPORT2)
152
153 D3DVIEWPORT7 = Struct("D3DVIEWPORT7", [
154     (DWORD, "dwX"),
155     (DWORD, "dwY"),
156     (DWORD, "dwWidth"),
157     (DWORD, "dwHeight"),
158     (D3DVALUE, "dvMinZ"),
159     (D3DVALUE, "dvMaxZ"),
160 ])
161 LPD3DVIEWPORT7 = Pointer(D3DVIEWPORT7)
162
163 D3DCLIP = Flags(DWORD, [
164     "D3DCLIP_LEFT",
165     "D3DCLIP_RIGHT",
166     "D3DCLIP_TOP",
167     "D3DCLIP_BOTTOM",
168     "D3DCLIP_FRONT",
169     "D3DCLIP_BACK",
170     "D3DCLIP_GEN0",
171     "D3DCLIP_GEN1",
172     "D3DCLIP_GEN2",
173     "D3DCLIP_GEN3",
174     "D3DCLIP_GEN4",
175     "D3DCLIP_GEN5",
176 ])
177
178 D3DSTATUS = Flags(DWORD, [
179     "D3DSTATUS_DEFAULT",
180     "D3DSTATUS_CLIPUNIONALL",
181     "D3DSTATUS_CLIPUNIONLEFT",
182     "D3DSTATUS_CLIPUNIONRIGHT",
183     "D3DSTATUS_CLIPUNIONTOP",
184     "D3DSTATUS_CLIPUNIONBOTTOM",
185     "D3DSTATUS_CLIPUNIONFRONT",
186     "D3DSTATUS_CLIPUNIONBACK",
187     "D3DSTATUS_CLIPUNIONGEN0",
188     "D3DSTATUS_CLIPUNIONGEN1",
189     "D3DSTATUS_CLIPUNIONGEN2",
190     "D3DSTATUS_CLIPUNIONGEN3",
191     "D3DSTATUS_CLIPUNIONGEN4",
192     "D3DSTATUS_CLIPUNIONGEN5",
193     "D3DSTATUS_CLIPINTERSECTIONALL",
194     "D3DSTATUS_CLIPINTERSECTIONLEFT",
195     "D3DSTATUS_CLIPINTERSECTIONRIGHT",
196     "D3DSTATUS_CLIPINTERSECTIONTOP",
197     "D3DSTATUS_CLIPINTERSECTIONBOTTOM",
198     "D3DSTATUS_CLIPINTERSECTIONFRONT",
199     "D3DSTATUS_CLIPINTERSECTIONBACK",
200     "D3DSTATUS_CLIPINTERSECTIONGEN0",
201     "D3DSTATUS_CLIPINTERSECTIONGEN1",
202     "D3DSTATUS_CLIPINTERSECTIONGEN2",
203     "D3DSTATUS_CLIPINTERSECTIONGEN3",
204     "D3DSTATUS_CLIPINTERSECTIONGEN4",
205     "D3DSTATUS_CLIPINTERSECTIONGEN5",
206     "D3DSTATUS_ZNOTVISIBLE",
207 ])
208
209 D3DTRANSFORM = Flags(DWORD, [
210     "D3DTRANSFORM_CLIPPED",
211     "D3DTRANSFORM_UNCLIPPED",
212 ])
213
214 D3DTRANSFORMDATA = Struct("D3DTRANSFORMDATA", [
215     (DWORD, "dwSize"),
216     (LPVOID, "lpIn"),
217     (DWORD, "dwInSize"),
218     (LPVOID, "lpOut"),
219     (DWORD, "dwOutSize"),
220     (LPD3DHVERTEX, "lpHOut"),
221     (DWORD, "dwClip"),
222     (DWORD, "dwClipIntersection"),
223     (DWORD, "dwClipUnion"),
224     (D3DRECT, "drExtent"),
225 ])
226 LPD3DTRANSFORMDATA = Pointer(D3DTRANSFORMDATA)
227
228 D3DLIGHTINGELEMENT = Struct("D3DLIGHTINGELEMENT", [
229     (D3DVECTOR, "dvPosition"),
230     (D3DVECTOR, "dvNormal"),
231 ])
232 LPD3DLIGHTINGELEMENT = Pointer(D3DLIGHTINGELEMENT)
233
234 D3DMATERIAL = Struct("D3DMATERIAL", [
235     (DWORD, "dwSize"),
236     (D3DCOLORVALUE, "diffuse"),
237     (D3DCOLORVALUE, "ambient"),
238     (D3DCOLORVALUE, "specular"),
239     (D3DCOLORVALUE, "emissive"),
240     (D3DVALUE, "power"),
241     (D3DTEXTUREHANDLE, "hTexture"),
242     (DWORD, "dwRampSize"),
243 ])
244 LPD3DMATERIAL = Pointer(D3DMATERIAL)
245
246 D3DMATERIAL7 = Struct("D3DMATERIAL7", [
247     (D3DCOLORVALUE, "diffuse"),
248     (D3DCOLORVALUE, "ambient"),
249     (D3DCOLORVALUE, "specular"),
250     (D3DCOLORVALUE, "emissive"),
251     (D3DVALUE, "power"),
252 ])
253 LPD3DMATERIAL7 = Pointer(D3DMATERIAL7)
254
255 D3DLIGHTTYPE = Enum("D3DLIGHTTYPE", [
256     "D3DLIGHT_POINT",
257     "D3DLIGHT_SPOT",
258     "D3DLIGHT_DIRECTIONAL",
259     "D3DLIGHT_PARALLELPOINT",
260     "D3DLIGHT_GLSPOT",
261     "D3DLIGHT_FORCE_DWORD",
262 ])
263
264 D3DLIGHT = Struct("D3DLIGHT", [
265     (DWORD, "dwSize"),
266     (D3DLIGHTTYPE, "dltType"),
267     (D3DCOLORVALUE, "dcvColor"),
268     (D3DVECTOR, "dvPosition"),
269     (D3DVECTOR, "dvDirection"),
270     (D3DVALUE, "dvRange"),
271     (D3DVALUE, "dvFalloff"),
272     (D3DVALUE, "dvAttenuation0"),
273     (D3DVALUE, "dvAttenuation1"),
274     (D3DVALUE, "dvAttenuation2"),
275     (D3DVALUE, "dvTheta"),
276     (D3DVALUE, "dvPhi"),
277 ])
278 LPD3DLIGHT = Pointer(D3DLIGHT)
279
280 D3DLIGHT7 = Struct("D3DLIGHT7", [
281     (D3DLIGHTTYPE, "dltType"),
282     (D3DCOLORVALUE, "dcvDiffuse"),
283     (D3DCOLORVALUE, "dcvSpecular"),
284     (D3DCOLORVALUE, "dcvAmbient"),
285     (D3DVECTOR, "dvPosition"),
286     (D3DVECTOR, "dvDirection"),
287     (D3DVALUE, "dvRange"),
288     (D3DVALUE, "dvFalloff"),
289     (D3DVALUE, "dvAttenuation0"),
290     (D3DVALUE, "dvAttenuation1"),
291     (D3DVALUE, "dvAttenuation2"),
292     (D3DVALUE, "dvTheta"),
293     (D3DVALUE, "dvPhi"),
294 ])
295 LPD3DLIGHT7 = Pointer(D3DLIGHT7)
296
297 D3DLIGHTFLAGS = Flags(DWORD, [
298     "D3DLIGHT_ACTIVE",
299     "D3DLIGHT_NO_SPECULAR",
300     "D3DLIGHT_ALL",
301 ])
302
303 D3DLIGHT2 = Struct("D3DLIGHT2", [
304     (DWORD, "dwSize"),
305     (D3DLIGHTTYPE, "dltType"),
306     (D3DCOLORVALUE, "dcvColor"),
307     (D3DVECTOR, "dvPosition"),
308     (D3DVECTOR, "dvDirection"),
309     (D3DVALUE, "dvRange"),
310     (D3DVALUE, "dvFalloff"),
311     (D3DVALUE, "dvAttenuation0"),
312     (D3DVALUE, "dvAttenuation1"),
313     (D3DVALUE, "dvAttenuation2"),
314     (D3DVALUE, "dvTheta"),
315     (D3DVALUE, "dvPhi"),
316     (DWORD, "dwFlags"),
317 ])
318 LPD3DLIGHT2 = Pointer(D3DLIGHT2)
319
320 D3DLIGHTDATA = Struct("D3DLIGHTDATA", [
321     (DWORD, "dwSize"),
322     (LPD3DLIGHTINGELEMENT, "lpIn"),
323     (DWORD, "dwInSize"),
324     (LPD3DTLVERTEX, "lpOut"),
325     (DWORD, "dwOutSize"),
326 ])
327 LPD3DLIGHTDATA = Pointer(D3DLIGHTDATA)
328
329 D3DCOLOR = Flags(DWORD, [
330     "D3DCOLOR_MONO",
331     "D3DCOLOR_RGB",
332 ])
333
334 D3DCOLORMODEL = DWORD
335
336 D3DCLEAR = Flags(DWORD, [
337     "D3DCLEAR_TARGET",
338     "D3DCLEAR_ZBUFFER",
339     "D3DCLEAR_STENCIL",
340 ])
341
342 D3DOPCODE = Enum("D3DOPCODE", [
343     "D3DOP_POINT",
344     "D3DOP_LINE",
345     "D3DOP_TRIANGLE",
346     "D3DOP_MATRIXLOAD",
347     "D3DOP_MATRIXMULTIPLY",
348     "D3DOP_STATETRANSFORM",
349     "D3DOP_STATELIGHT",
350     "D3DOP_STATERENDER",
351     "D3DOP_PROCESSVERTICES",
352     "D3DOP_TEXTURELOAD",
353     "D3DOP_EXIT",
354     "D3DOP_BRANCHFORWARD",
355     "D3DOP_SPAN",
356     "D3DOP_SETSTATUS",
357     "D3DOP_FORCE_DWORD",
358 ])
359
360 D3DINSTRUCTION = Struct("D3DINSTRUCTION", [
361     (BYTE, "bOpcode"),
362     (BYTE, "bSize"),
363     (WORD, "wCount"),
364 ])
365
366 D3DTEXTURELOAD = Struct("D3DTEXTURELOAD", [
367     (D3DTEXTUREHANDLE, "hDestTexture"),
368     (D3DTEXTUREHANDLE, "hSrcTexture"),
369 ])
370
371 D3DPICKRECORD = Struct("D3DPICKRECORD", [
372     (BYTE, "bOpcode"),
373     (BYTE, "bPad"),
374     (DWORD, "dwOffset"),
375     (D3DVALUE, "dvZ"),
376 ])
377 LPD3DPICKRECORD = Pointer(D3DPICKRECORD)
378
379 D3DSHADEMODE = Enum("D3DSHADEMODE", [
380     "D3DSHADE_FLAT",
381     "D3DSHADE_GOURAUD",
382     "D3DSHADE_PHONG",
383     "D3DSHADE_FORCE_DWORD",
384 ])
385
386 D3DFILLMODE = Enum("D3DFILLMODE", [
387     "D3DFILL_POINT",
388     "D3DFILL_WIREFRAME",
389     "D3DFILL_SOLID",
390     "D3DFILL_FORCE_DWORD",
391 ])
392
393 D3DLINEPATTERN = Struct("D3DLINEPATTERN", [
394     (WORD, "wRepeatFactor"),
395     (WORD, "wLinePattern"),
396 ])
397
398 D3DTEXTUREFILTER = Enum("D3DTEXTUREFILTER", [
399     "D3DFILTER_NEAREST",
400     "D3DFILTER_LINEAR",
401     "D3DFILTER_MIPNEAREST",
402     "D3DFILTER_MIPLINEAR",
403     "D3DFILTER_LINEARMIPNEAREST",
404     "D3DFILTER_LINEARMIPLINEAR",
405     "D3DFILTER_FORCE_DWORD",
406 ])
407
408 D3DBLEND = Enum("D3DBLEND", [
409     "D3DBLEND_ZERO",
410     "D3DBLEND_ONE",
411     "D3DBLEND_SRCCOLOR",
412     "D3DBLEND_INVSRCCOLOR",
413     "D3DBLEND_SRCALPHA",
414     "D3DBLEND_INVSRCALPHA",
415     "D3DBLEND_DESTALPHA",
416     "D3DBLEND_INVDESTALPHA",
417     "D3DBLEND_DESTCOLOR",
418     "D3DBLEND_INVDESTCOLOR",
419     "D3DBLEND_SRCALPHASAT",
420     "D3DBLEND_BOTHSRCALPHA",
421     "D3DBLEND_BOTHINVSRCALPHA",
422     "D3DBLEND_FORCE_DWORD",
423 ])
424
425 D3DTEXTUREBLEND = Enum("D3DTEXTUREBLEND", [
426     "D3DTBLEND_DECAL",
427     "D3DTBLEND_MODULATE",
428     "D3DTBLEND_DECALALPHA",
429     "D3DTBLEND_MODULATEALPHA",
430     "D3DTBLEND_DECALMASK",
431     "D3DTBLEND_MODULATEMASK",
432     "D3DTBLEND_COPY",
433     "D3DTBLEND_ADD",
434     "D3DTBLEND_FORCE_DWORD",
435 ])
436
437 D3DTEXTUREADDRESS = Enum("D3DTEXTUREADDRESS", [
438     "D3DTADDRESS_WRAP",
439     "D3DTADDRESS_MIRROR",
440     "D3DTADDRESS_CLAMP",
441     "D3DTADDRESS_BORDER",
442     "D3DTADDRESS_FORCE_DWORD",
443 ])
444
445 D3DCULL = Enum("D3DCULL", [
446     "D3DCULL_NONE",
447     "D3DCULL_CW",
448     "D3DCULL_CCW",
449     "D3DCULL_FORCE_DWORD",
450 ])
451
452 D3DCMPFUNC = Enum("D3DCMPFUNC", [
453     "D3DCMP_NEVER",
454     "D3DCMP_LESS",
455     "D3DCMP_EQUAL",
456     "D3DCMP_LESSEQUAL",
457     "D3DCMP_GREATER",
458     "D3DCMP_NOTEQUAL",
459     "D3DCMP_GREATEREQUAL",
460     "D3DCMP_ALWAYS",
461     "D3DCMP_FORCE_DWORD",
462 ])
463
464 D3DSTENCILOP = Enum("D3DSTENCILOP", [
465     "D3DSTENCILOP_KEEP",
466     "D3DSTENCILOP_ZERO",
467     "D3DSTENCILOP_REPLACE",
468     "D3DSTENCILOP_INCRSAT",
469     "D3DSTENCILOP_DECRSAT",
470     "D3DSTENCILOP_INVERT",
471     "D3DSTENCILOP_INCR",
472     "D3DSTENCILOP_DECR",
473     "D3DSTENCILOP_FORCE_DWORD",
474 ])
475
476 D3DFOGMODE = Enum("D3DFOGMODE", [
477     "D3DFOG_NONE",
478     "D3DFOG_EXP",
479     "D3DFOG_EXP2",
480     "D3DFOG_LINEAR",
481     "D3DFOG_FORCE_DWORD",
482 ])
483
484 D3DZBUFFERTYPE = Enum("D3DZBUFFERTYPE", [
485     "D3DZB_FALSE",
486     "D3DZB_TRUE",
487     "D3DZB_USEW",
488     "D3DZB_FORCE_DWORD",
489 ])
490
491 D3DANTIALIASMODE = Enum("D3DANTIALIASMODE", [
492     "D3DANTIALIAS_NONE",
493     "D3DANTIALIAS_SORTDEPENDENT",
494     "D3DANTIALIAS_SORTINDEPENDENT",
495     "D3DANTIALIAS_FORCE_DWORD",
496 ])
497
498 D3DVERTEXTYPE = Enum("D3DVERTEXTYPE", [
499     "D3DVT_VERTEX",
500     "D3DVT_LVERTEX",
501     "D3DVT_TLVERTEX",
502     "D3DVT_FORCE_DWORD",
503 ])
504
505 D3DPRIMITIVETYPE = Enum("D3DPRIMITIVETYPE", [
506     "D3DPT_POINTLIST",
507     "D3DPT_LINELIST",
508     "D3DPT_LINESTRIP",
509     "D3DPT_TRIANGLELIST",
510     "D3DPT_TRIANGLESTRIP",
511     "D3DPT_TRIANGLEFAN",
512     "D3DPT_FORCE_DWORD",
513 ])
514
515 D3DTRANSFORMSTATETYPE = Enum("D3DTRANSFORMSTATETYPE", [
516     "D3DTRANSFORMSTATE_WORLD",
517     "D3DTRANSFORMSTATE_VIEW",
518     "D3DTRANSFORMSTATE_PROJECTION",
519     "D3DTRANSFORMSTATE_WORLD1",
520     "D3DTRANSFORMSTATE_WORLD2",
521     "D3DTRANSFORMSTATE_WORLD3",
522     "D3DTRANSFORMSTATE_TEXTURE0",
523     "D3DTRANSFORMSTATE_TEXTURE1",
524     "D3DTRANSFORMSTATE_TEXTURE2",
525     "D3DTRANSFORMSTATE_TEXTURE3",
526     "D3DTRANSFORMSTATE_TEXTURE4",
527     "D3DTRANSFORMSTATE_TEXTURE5",
528     "D3DTRANSFORMSTATE_TEXTURE6",
529     "D3DTRANSFORMSTATE_TEXTURE7",
530     "D3DTRANSFORMSTATE_FORCE_DWORD",
531 ])
532
533 D3DLIGHTSTATETYPE = Enum("D3DLIGHTSTATETYPE", [
534     "D3DLIGHTSTATE_MATERIAL",
535     "D3DLIGHTSTATE_AMBIENT",
536     "D3DLIGHTSTATE_COLORMODEL",
537     "D3DLIGHTSTATE_FOGMODE",
538     "D3DLIGHTSTATE_FOGSTART",
539     "D3DLIGHTSTATE_FOGEND",
540     "D3DLIGHTSTATE_FOGDENSITY",
541     "D3DLIGHTSTATE_COLORVERTEX",
542     "D3DLIGHTSTATE_FORCE_DWORD",
543 ])
544
545 D3DRENDERSTATETYPE = Enum("D3DRENDERSTATETYPE", [
546     "D3DRENDERSTATE_ANTIALIAS",
547     "D3DRENDERSTATE_TEXTUREPERSPECTIVE",
548     "D3DRENDERSTATE_ZENABLE",
549     "D3DRENDERSTATE_FILLMODE",
550     "D3DRENDERSTATE_SHADEMODE",
551     "D3DRENDERSTATE_LINEPATTERN",
552     "D3DRENDERSTATE_ZWRITEENABLE",
553     "D3DRENDERSTATE_ALPHATESTENABLE",
554     "D3DRENDERSTATE_LASTPIXEL",
555     "D3DRENDERSTATE_SRCBLEND",
556     "D3DRENDERSTATE_DESTBLEND",
557     "D3DRENDERSTATE_CULLMODE",
558     "D3DRENDERSTATE_ZFUNC",
559     "D3DRENDERSTATE_ALPHAREF",
560     "D3DRENDERSTATE_ALPHAFUNC",
561     "D3DRENDERSTATE_DITHERENABLE",
562     "D3DRENDERSTATE_ALPHABLENDENABLE",
563     "D3DRENDERSTATE_FOGENABLE",
564     "D3DRENDERSTATE_SPECULARENABLE",
565     "D3DRENDERSTATE_ZVISIBLE",
566     "D3DRENDERSTATE_STIPPLEDALPHA",
567     "D3DRENDERSTATE_FOGCOLOR",
568     "D3DRENDERSTATE_FOGTABLEMODE",
569     "D3DRENDERSTATE_FOGSTART",
570     "D3DRENDERSTATE_FOGEND",
571     "D3DRENDERSTATE_FOGDENSITY",
572     "D3DRENDERSTATE_EDGEANTIALIAS",
573     "D3DRENDERSTATE_COLORKEYENABLE",
574     "D3DRENDERSTATE_ZBIAS",
575     "D3DRENDERSTATE_RANGEFOGENABLE",
576     "D3DRENDERSTATE_STENCILENABLE",
577     "D3DRENDERSTATE_STENCILFAIL",
578     "D3DRENDERSTATE_STENCILZFAIL",
579     "D3DRENDERSTATE_STENCILPASS",
580     "D3DRENDERSTATE_STENCILFUNC",
581     "D3DRENDERSTATE_STENCILREF",
582     "D3DRENDERSTATE_STENCILMASK",
583     "D3DRENDERSTATE_STENCILWRITEMASK",
584     "D3DRENDERSTATE_TEXTUREFACTOR",
585     "D3DRENDERSTATE_WRAP0",
586     "D3DRENDERSTATE_WRAP1",
587     "D3DRENDERSTATE_WRAP2",
588     "D3DRENDERSTATE_WRAP3",
589     "D3DRENDERSTATE_WRAP4",
590     "D3DRENDERSTATE_WRAP5",
591     "D3DRENDERSTATE_WRAP6",
592     "D3DRENDERSTATE_WRAP7",
593     "D3DRENDERSTATE_CLIPPING",
594     "D3DRENDERSTATE_LIGHTING",
595     "D3DRENDERSTATE_EXTENTS",
596     "D3DRENDERSTATE_AMBIENT",
597     "D3DRENDERSTATE_FOGVERTEXMODE",
598     "D3DRENDERSTATE_COLORVERTEX",
599     "D3DRENDERSTATE_LOCALVIEWER",
600     "D3DRENDERSTATE_NORMALIZENORMALS",
601     "D3DRENDERSTATE_COLORKEYBLENDENABLE",
602     "D3DRENDERSTATE_DIFFUSEMATERIALSOURCE",
603     "D3DRENDERSTATE_SPECULARMATERIALSOURCE",
604     "D3DRENDERSTATE_AMBIENTMATERIALSOURCE",
605     "D3DRENDERSTATE_EMISSIVEMATERIALSOURCE",
606     "D3DRENDERSTATE_VERTEXBLEND",
607     "D3DRENDERSTATE_CLIPPLANEENABLE",
608     "D3DRENDERSTATE_TEXTUREHANDLE",
609     "D3DRENDERSTATE_TEXTUREADDRESS",
610     "D3DRENDERSTATE_WRAPU",
611     "D3DRENDERSTATE_WRAPV",
612     "D3DRENDERSTATE_MONOENABLE",
613     "D3DRENDERSTATE_ROP2",
614     "D3DRENDERSTATE_PLANEMASK",
615     "D3DRENDERSTATE_TEXTUREMAG",
616     "D3DRENDERSTATE_TEXTUREMIN",
617     "D3DRENDERSTATE_TEXTUREMAPBLEND",
618     "D3DRENDERSTATE_SUBPIXEL",
619     "D3DRENDERSTATE_SUBPIXELX",
620     "D3DRENDERSTATE_STIPPLEENABLE",
621     "D3DRENDERSTATE_BORDERCOLOR",
622     "D3DRENDERSTATE_TEXTUREADDRESSU",
623     "D3DRENDERSTATE_TEXTUREADDRESSV",
624     "D3DRENDERSTATE_MIPMAPLODBIAS",
625     "D3DRENDERSTATE_ANISOTROPY",
626     "D3DRENDERSTATE_FLUSHBATCH",
627     "D3DRENDERSTATE_TRANSLUCENTSORTINDEPENDENT",
628     "D3DRENDERSTATE_STIPPLEPATTERN00",
629     "D3DRENDERSTATE_STIPPLEPATTERN01",
630     "D3DRENDERSTATE_STIPPLEPATTERN02",
631     "D3DRENDERSTATE_STIPPLEPATTERN03",
632     "D3DRENDERSTATE_STIPPLEPATTERN04",
633     "D3DRENDERSTATE_STIPPLEPATTERN05",
634     "D3DRENDERSTATE_STIPPLEPATTERN06",
635     "D3DRENDERSTATE_STIPPLEPATTERN07",
636     "D3DRENDERSTATE_STIPPLEPATTERN08",
637     "D3DRENDERSTATE_STIPPLEPATTERN09",
638     "D3DRENDERSTATE_STIPPLEPATTERN10",
639     "D3DRENDERSTATE_STIPPLEPATTERN11",
640     "D3DRENDERSTATE_STIPPLEPATTERN12",
641     "D3DRENDERSTATE_STIPPLEPATTERN13",
642     "D3DRENDERSTATE_STIPPLEPATTERN14",
643     "D3DRENDERSTATE_STIPPLEPATTERN15",
644     "D3DRENDERSTATE_STIPPLEPATTERN16",
645     "D3DRENDERSTATE_STIPPLEPATTERN17",
646     "D3DRENDERSTATE_STIPPLEPATTERN18",
647     "D3DRENDERSTATE_STIPPLEPATTERN19",
648     "D3DRENDERSTATE_STIPPLEPATTERN20",
649     "D3DRENDERSTATE_STIPPLEPATTERN21",
650     "D3DRENDERSTATE_STIPPLEPATTERN22",
651     "D3DRENDERSTATE_STIPPLEPATTERN23",
652     "D3DRENDERSTATE_STIPPLEPATTERN24",
653     "D3DRENDERSTATE_STIPPLEPATTERN25",
654     "D3DRENDERSTATE_STIPPLEPATTERN26",
655     "D3DRENDERSTATE_STIPPLEPATTERN27",
656     "D3DRENDERSTATE_STIPPLEPATTERN28",
657     "D3DRENDERSTATE_STIPPLEPATTERN29",
658     "D3DRENDERSTATE_STIPPLEPATTERN30",
659     "D3DRENDERSTATE_STIPPLEPATTERN31",
660     "D3DRENDERSTATE_FOGTABLESTART",
661     "D3DRENDERSTATE_FOGTABLEEND",
662     "D3DRENDERSTATE_FOGTABLEDENSITY",
663 ])
664
665 D3DMATERIALCOLORSOURCE = Enum("D3DMATERIALCOLORSOURCE", [
666     "D3DMCS_MATERIAL",
667     "D3DMCS_COLOR1",
668     "D3DMCS_COLOR2",
669 ])
670
671 D3DWRAP = Flags(DWORD, [
672     "D3DWRAP_U",
673     "D3DWRAP_V",
674     "D3DWRAPCOORD_0",
675     "D3DWRAPCOORD_1",
676     "D3DWRAPCOORD_2",
677     "D3DWRAPCOORD_3",
678 ])
679
680 D3DSTATE = Struct("D3DSTATE", [
681     (D3DTRANSFORMSTATETYPE, "dtstTransformStateType"),
682     (D3DLIGHTSTATETYPE, "dlstLightStateType"),
683     (D3DRENDERSTATETYPE, "drstRenderStateType"),
684     (DWORD, "dwArg[1]"),
685     (D3DVALUE, "dvArg[1]"),
686 ])
687
688 D3DMATRIXLOAD = Struct("D3DMATRIXLOAD", [
689     (D3DMATRIXHANDLE, "hDestMatrix"),
690     (D3DMATRIXHANDLE, "hSrcMatrix"),
691 ])
692
693 D3DMATRIXMULTIPLY = Struct("D3DMATRIXMULTIPLY", [
694     (D3DMATRIXHANDLE, "hDestMatrix"),
695     (D3DMATRIXHANDLE, "hSrcMatrix1"),
696     (D3DMATRIXHANDLE, "hSrcMatrix2"),
697 ])
698
699 D3DPROCESSVERTICES = Struct("D3DPROCESSVERTICES", [
700     (DWORD, "dwFlags"),
701     (WORD, "wStart"),
702     (WORD, "wDest"),
703     (DWORD, "dwCount"),
704     (DWORD, "dwReserved"),
705 ])
706
707 D3DPROCESSVERTICES = Flags(DWORD, [
708     "D3DPROCESSVERTICES_TRANSFORMLIGHT",
709     "D3DPROCESSVERTICES_TRANSFORM",
710     "D3DPROCESSVERTICES_COPY",
711     "D3DPROCESSVERTICES_OPMASK",
712     "D3DPROCESSVERTICES_UPDATEEXTENTS",
713     "D3DPROCESSVERTICES_NOCOLOR",
714 ])
715
716 D3DTEXTURESTAGESTATETYPE = Enum("D3DTEXTURESTAGESTATETYPE", [
717     "D3DTSS_COLOROP",
718     "D3DTSS_COLORARG1",
719     "D3DTSS_COLORARG2",
720     "D3DTSS_ALPHAOP",
721     "D3DTSS_ALPHAARG1",
722     "D3DTSS_ALPHAARG2",
723     "D3DTSS_BUMPENVMAT00",
724     "D3DTSS_BUMPENVMAT01",
725     "D3DTSS_BUMPENVMAT10",
726     "D3DTSS_BUMPENVMAT11",
727     "D3DTSS_TEXCOORDINDEX",
728     "D3DTSS_ADDRESS",
729     "D3DTSS_ADDRESSU",
730     "D3DTSS_ADDRESSV",
731     "D3DTSS_BORDERCOLOR",
732     "D3DTSS_MAGFILTER",
733     "D3DTSS_MINFILTER",
734     "D3DTSS_MIPFILTER",
735     "D3DTSS_MIPMAPLODBIAS",
736     "D3DTSS_MAXMIPLEVEL",
737     "D3DTSS_MAXANISOTROPY",
738     "D3DTSS_BUMPENVLSCALE",
739     "D3DTSS_BUMPENVLOFFSET",
740     "D3DTSS_TEXTURETRANSFORMFLAGS",
741     "D3DTSS_FORCE_DWORD",
742 ])
743
744 D3DTSS_TCI = Flags(DWORD, [
745     "D3DTSS_TCI_PASSTHRU",
746     "D3DTSS_TCI_CAMERASPACENORMAL",
747     "D3DTSS_TCI_CAMERASPACEPOSITION",
748     "D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR",
749 ])
750
751 D3DTEXTUREOP = Enum("D3DTEXTUREOP", [
752     "D3DTOP_DISABLE",
753     "D3DTOP_SELECTARG1",
754     "D3DTOP_SELECTARG2",
755     "D3DTOP_MODULATE",
756     "D3DTOP_MODULATE2X",
757     "D3DTOP_MODULATE4X",
758     "D3DTOP_ADD",
759     "D3DTOP_ADDSIGNED",
760     "D3DTOP_ADDSIGNED2X",
761     "D3DTOP_SUBTRACT",
762     "D3DTOP_ADDSMOOTH",
763     "D3DTOP_BLENDDIFFUSEALPHA",
764     "D3DTOP_BLENDTEXTUREALPHA",
765     "D3DTOP_BLENDFACTORALPHA",
766     "D3DTOP_BLENDTEXTUREALPHAPM",
767     "D3DTOP_BLENDCURRENTALPHA",
768     "D3DTOP_PREMODULATE",
769     "D3DTOP_MODULATEALPHA_ADDCOLOR",
770     "D3DTOP_MODULATECOLOR_ADDALPHA",
771     "D3DTOP_MODULATEINVALPHA_ADDCOLOR",
772     "D3DTOP_MODULATEINVCOLOR_ADDALPHA",
773     "D3DTOP_BUMPENVMAP",
774     "D3DTOP_BUMPENVMAPLUMINANCE",
775     "D3DTOP_DOTPRODUCT3",
776 ])
777
778 D3DTA = Flags(DWORD, [
779     "D3DTA_SELECTMASK",
780     "D3DTA_DIFFUSE",
781     "D3DTA_CURRENT",
782     "D3DTA_TEXTURE",
783     "D3DTA_TFACTOR",
784     "D3DTA_SPECULAR",
785     "D3DTA_COMPLEMENT",
786     "D3DTA_ALPHAREPLICATE",
787 ])
788
789 D3DTEXTUREMAGFILTER = Enum("D3DTEXTUREMAGFILTER", [
790     "D3DTFG_POINT",
791     "D3DTFG_LINEAR",
792     "D3DTFG_FLATCUBIC",
793     "D3DTFG_GAUSSIANCUBIC",
794     "D3DTFG_ANISOTROPIC",
795     "D3DTFG_FORCE_DWORD",
796 ])
797
798 D3DTEXTUREMINFILTER = Enum("D3DTEXTUREMINFILTER", [
799     "D3DTFN_POINT",
800     "D3DTFN_LINEAR",
801     "D3DTFN_ANISOTROPIC",
802     "D3DTFN_FORCE_DWORD",
803 ])
804
805 D3DTEXTUREMIPFILTER = Enum("D3DTEXTUREMIPFILTER", [
806     "D3DTFP_NONE",
807     "D3DTFP_POINT",
808     "D3DTFP_LINEAR",
809     "D3DTFP_FORCE_DWORD",
810 ])
811
812 D3DTRIFLAG = Flags(DWORD, [
813     "D3DTRIFLAG_START",
814     "D3DTRIFLAG_STARTFLAT(len)",
815     "D3DTRIFLAG_ODD",
816     "D3DTRIFLAG_EVEN",
817     "D3DTRIFLAG_EDGEENABLETRIANGLE",
818     "D3DTRIFLAG_EDGEENABLE1",
819     "D3DTRIFLAG_EDGEENABLE2",
820     "D3DTRIFLAG_EDGEENABLE3",
821 ])
822
823 D3DTRIANGLE = Struct("D3DTRIANGLE", [
824     (WORD, "v1"),
825     (WORD, "v2"),
826     (WORD, "v3"),
827     (WORD, "wFlags"),
828 ])
829
830 D3DLINE = Struct("D3DLINE", [
831     (WORD, "v1"),
832     (WORD, "v2"),
833 ])
834
835 D3DSPAN = Struct("D3DSPAN", [
836     (WORD, "wCount"),
837     (WORD, "wFirst"),
838 ])
839
840 D3DPOINT = Struct("D3DPOINT", [
841     (WORD, "wCount"),
842     (WORD, "wFirst"),
843 ])
844
845 D3DBRANCH = Struct("D3DBRANCH", [
846     (DWORD, "dwMask"),
847     (DWORD, "dwValue"),
848     (BOOL, "bNegate"),
849     (DWORD, "dwOffset"),
850 ])
851
852 D3DSTATUS = Struct("D3DSTATUS", [
853     (DWORD, "dwFlags"),
854     (DWORD, "dwStatus"),
855     (D3DRECT, "drExtent"),
856 ])
857
858 D3DSETSTATUS = Flags(DWORD, [
859     "D3DSETSTATUS_STATUS",
860     "D3DSETSTATUS_EXTENTS",
861     "D3DSETSTATUS_ALL",
862 ])
863
864 D3DCLIPSTATUS = Struct("D3DCLIPSTATUS", [
865     (DWORD, "dwFlags"),
866     (DWORD, "dwStatus"),
867     (Float, "minx"),
868     (Float, "maxx"),
869     (Float, "miny"),
870     (Float, "maxy"),
871     (Float, "minz"),
872     (Float, "maxz"),
873 ])
874 LPD3DCLIPSTATUS = Pointer(D3DCLIPSTATUS)
875
876 D3DCLIPSTATUS = Flags(DWORD, [
877     "D3DCLIPSTATUS_STATUS",
878     "D3DCLIPSTATUS_EXTENTS2",
879     "D3DCLIPSTATUS_EXTENTS3",
880 ])
881
882 D3DSTATS = Struct("D3DSTATS", [
883     (DWORD, "dwSize"),
884     (DWORD, "dwTrianglesDrawn"),
885     (DWORD, "dwLinesDrawn"),
886     (DWORD, "dwPointsDrawn"),
887     (DWORD, "dwSpansDrawn"),
888     (DWORD, "dwVerticesProcessed"),
889 ])
890 LPD3DSTATS = Pointer(D3DSTATS)
891
892 D3DEXECUTE = Flags(DWORD, [
893     "D3DEXECUTE_CLIPPED",
894     "D3DEXECUTE_UNCLIPPED",
895 ])
896
897 D3DEXECUTEDATA = Struct("D3DEXECUTEDATA", [
898     (DWORD, "dwSize"),
899     (DWORD, "dwVertexOffset"),
900     (DWORD, "dwVertexCount"),
901     (DWORD, "dwInstructionOffset"),
902     (DWORD, "dwInstructionLength"),
903     (DWORD, "dwHVertexOffset"),
904     (D3DSTATUS, "dsStatus"),
905 ])
906 LPD3DEXECUTEDATA = Pointer(D3DEXECUTEDATA)
907
908 D3DPAL = Flags(DWORD, [
909     "D3DPAL_FREE",
910     "D3DPAL_READONLY",
911     "D3DPAL_RESERVED",
912 ])
913
914 D3DVERTEXBUFFERDESC = Struct("D3DVERTEXBUFFERDESC", [
915     (DWORD, "dwSize"),
916     (DWORD, "dwCaps"),
917     (DWORD, "dwFVF"),
918     (DWORD, "dwNumVertices"),
919 ])
920 LPD3DVERTEXBUFFERDESC = Pointer(D3DVERTEXBUFFERDESC)
921
922 D3DVBCAPS = Flags(DWORD, [
923     "D3DVBCAPS_SYSTEMMEMORY",
924     "D3DVBCAPS_WRITEONLY",
925     "D3DVBCAPS_OPTIMIZED",
926     "D3DVBCAPS_DONOTCLIP",
927 ])
928
929 D3DVOP = Flags(DWORD, [
930     "D3DVOP_LIGHT",
931     "D3DVOP_TRANSFORM",
932     "D3DVOP_CLIP",
933     "D3DVOP_EXTENTS",
934 ])
935
936 D3DPV = Flags(DWORD, [
937     "D3DPV_DONOTCOPYDATA",
938 ])
939
940 D3DFVF = Flags(DWORD, [
941     "D3DFVF_RESERVED0",
942     "D3DFVF_POSITION_MASK",
943     "D3DFVF_XYZ",
944     "D3DFVF_XYZRHW",
945     "D3DFVF_XYZB1",
946     "D3DFVF_XYZB2",
947     "D3DFVF_XYZB3",
948     "D3DFVF_XYZB4",
949     "D3DFVF_XYZB5",
950     "D3DFVF_NORMAL",
951     "D3DFVF_RESERVED1",
952     "D3DFVF_DIFFUSE",
953     "D3DFVF_SPECULAR",
954     "D3DFVF_TEXCOUNT_MASK",
955     "D3DFVF_TEXCOUNT_SHIFT",
956     "D3DFVF_TEX0",
957     "D3DFVF_TEX1",
958     "D3DFVF_TEX2",
959     "D3DFVF_TEX3",
960     "D3DFVF_TEX4",
961     "D3DFVF_TEX5",
962     "D3DFVF_TEX6",
963     "D3DFVF_TEX7",
964     "D3DFVF_TEX8",
965     "D3DFVF_RESERVED2",
966     "D3DFVF_RESERVED1",
967     "D3DFVF_VERTEX",
968     "D3DFVF_LVERTEX",
969     "D3DFVF_TLVERTEX",
970     "D3DFVF_TEXCOORDSIZE1(0)",
971     "D3DFVF_TEXCOORDSIZE1(1)",
972     "D3DFVF_TEXCOORDSIZE2(0)",
973     "D3DFVF_TEXCOORDSIZE2(1)",
974     "D3DFVF_TEXCOORDSIZE3(0)",
975     "D3DFVF_TEXCOORDSIZE3(1)",
976     "D3DFVF_TEXCOORDSIZE4(0)",
977     "D3DFVF_TEXCOORDSIZE4(1)",
978 ])
979
980 D3DDP_PTRSTRIDE = Struct("D3DDP_PTRSTRIDE", [
981     (LPVOID, "lpvData"),
982     (DWORD, "dwStride"),
983 ])
984
985 D3DDRAWPRIMITIVESTRIDEDDATA = Struct("D3DDRAWPRIMITIVESTRIDEDDATA", [
986     (D3DDP_PTRSTRIDE, "position"),
987     (D3DDP_PTRSTRIDE, "normal"),
988     (D3DDP_PTRSTRIDE, "diffuse"),
989     (D3DDP_PTRSTRIDE, "specular"),
990     (D3DDP_PTRSTRIDE, "textureCoords[D3DDP_MAXTEXCOORD]"),
991 ])
992 LPD3DDRAWPRIMITIVESTRIDEDDATA = Pointer(D3DDRAWPRIMITIVESTRIDEDDATA)
993
994 D3DVIS = Flags(DWORD, [
995     "D3DVIS_INSIDE_FRUSTUM",
996     "D3DVIS_INTERSECT_FRUSTUM",
997     "D3DVIS_OUTSIDE_FRUSTUM",
998     "D3DVIS_INSIDE_LEFT",
999     "D3DVIS_INTERSECT_LEFT",
1000     "D3DVIS_OUTSIDE_LEFT",
1001     "D3DVIS_INSIDE_RIGHT",
1002     "D3DVIS_INTERSECT_RIGHT",
1003     "D3DVIS_OUTSIDE_RIGHT",
1004     "D3DVIS_INSIDE_TOP",
1005     "D3DVIS_INTERSECT_TOP",
1006     "D3DVIS_OUTSIDE_TOP",
1007     "D3DVIS_INSIDE_BOTTOM",
1008     "D3DVIS_INTERSECT_BOTTOM",
1009     "D3DVIS_OUTSIDE_BOTTOM",
1010     "D3DVIS_INSIDE_NEAR",
1011     "D3DVIS_INTERSECT_NEAR",
1012     "D3DVIS_OUTSIDE_NEAR",
1013     "D3DVIS_INSIDE_FAR",
1014     "D3DVIS_INTERSECT_FAR",
1015     "D3DVIS_OUTSIDE_FAR",
1016     "D3DVIS_MASK_FRUSTUM",
1017     "D3DVIS_MASK_LEFT",
1018     "D3DVIS_MASK_RIGHT",
1019     "D3DVIS_MASK_TOP",
1020     "D3DVIS_MASK_BOTTOM",
1021     "D3DVIS_MASK_NEAR",
1022     "D3DVIS_MASK_FAR",
1023 ])
1024
1025 D3DDEVINFOID = Flags(DWORD, [
1026     "D3DDEVINFOID_TEXTUREMANAGER",
1027     "D3DDEVINFOID_D3DTEXTUREMANAGER",
1028     "D3DDEVINFOID_TEXTURING",
1029 ])
1030
1031 D3DSTATEBLOCKTYPE = Enum("D3DSTATEBLOCKTYPE", [
1032     "D3DSBT_ALL",
1033     "D3DSBT_PIXELSTATE",
1034     "D3DSBT_VERTEXSTATE",
1035     "D3DSBT_FORCE_DWORD",
1036 ])
1037
1038 D3DVERTEXBLENDFLAGS = Enum("D3DVERTEXBLENDFLAGS", [
1039     "D3DVBLEND_DISABLE",
1040     "D3DVBLEND_1WEIGHT",
1041     "D3DVBLEND_2WEIGHTS",
1042     "D3DVBLEND_3WEIGHTS",
1043 ])
1044
1045 D3DTEXTURETRANSFORMFLAGS = Enum("D3DTEXTURETRANSFORMFLAGS", [
1046     "D3DTTFF_DISABLE",
1047     "D3DTTFF_COUNT1",
1048     "D3DTTFF_COUNT2",
1049     "D3DTTFF_COUNT3",
1050     "D3DTTFF_COUNT4",
1051     "D3DTTFF_PROJECTED",
1052     "D3DTTFF_FORCE_DWORD",
1053 ])