1 ##########################################################################
3 # Copyright 2008-2009 VMware, Inc.
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:
13 # The above copyright notice and this permission notice shall be included in
14 # all copies or substantial portions of the Software.
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
24 ##########################################################################/
30 D3DCOLOR = Alias("D3DCOLOR", DWORD)
32 D3DVECTOR = Struct("D3DVECTOR", [
38 D3DCOLORVALUE = Struct("D3DCOLORVALUE", [
45 D3DRECT = Struct("D3DRECT", [
52 D3DMATRIX = Struct("D3DMATRIX", [
53 (Array(Array(Float, 4), "4"), "m"),
56 D3DVIEWPORT8 = Struct("D3DVIEWPORT8", [
65 D3DCLIPPLANE = Flags(DWORD, [
74 D3DCS = Flags(DWORD, [
90 D3DCLIPSTATUS8 = Struct("D3DCLIPSTATUS8", [
92 (DWORD, "ClipIntersection"),
95 D3DMATERIAL8 = Struct("D3DMATERIAL8", [
96 (D3DCOLORVALUE, "Diffuse"),
97 (D3DCOLORVALUE, "Ambient"),
98 (D3DCOLORVALUE, "Specular"),
99 (D3DCOLORVALUE, "Emissive"),
103 D3DLIGHTTYPE = Enum("D3DLIGHTTYPE", [
106 "D3DLIGHT_DIRECTIONAL",
109 D3DLIGHT8 = Struct("D3DLIGHT8", [
110 (D3DLIGHTTYPE, "Type"),
111 (D3DCOLORVALUE, "Diffuse"),
112 (D3DCOLORVALUE, "Specular"),
113 (D3DCOLORVALUE, "Ambient"),
114 (D3DVECTOR, "Position"),
115 (D3DVECTOR, "Direction"),
118 (Float, "Attenuation0"),
119 (Float, "Attenuation1"),
120 (Float, "Attenuation2"),
125 D3DCLEAR = Flags(DWORD, [
131 D3DSHADEMODE = Enum("D3DSHADEMODE", [
137 D3DFILLMODE = Enum("D3DFILLMODE", [
143 D3DLINEPATTERN = Struct("D3DLINEPATTERN", [
144 (WORD, "wRepeatFactor"),
145 (WORD, "wLinePattern"),
148 D3DBLEND = Enum("D3DBLEND", [
152 "D3DBLEND_INVSRCCOLOR",
154 "D3DBLEND_INVSRCALPHA",
155 "D3DBLEND_DESTALPHA",
156 "D3DBLEND_INVDESTALPHA",
157 "D3DBLEND_DESTCOLOR",
158 "D3DBLEND_INVDESTCOLOR",
159 "D3DBLEND_SRCALPHASAT",
160 "D3DBLEND_BOTHSRCALPHA",
161 "D3DBLEND_BOTHINVSRCALPHA",
164 D3DBLENDOP = Enum("D3DBLENDOP", [
166 "D3DBLENDOP_SUBTRACT",
167 "D3DBLENDOP_REVSUBTRACT",
172 D3DTEXTUREADDRESS = Enum("D3DTEXTUREADDRESS", [
174 "D3DTADDRESS_MIRROR",
176 "D3DTADDRESS_BORDER",
177 "D3DTADDRESS_MIRRORONCE",
180 D3DCULL = Enum("D3DCULL", [
186 D3DCMPFUNC = Enum("D3DCMPFUNC", [
193 "D3DCMP_GREATEREQUAL",
197 D3DSTENCILOP = Enum("D3DSTENCILOP", [
200 "D3DSTENCILOP_REPLACE",
201 "D3DSTENCILOP_INCRSAT",
202 "D3DSTENCILOP_DECRSAT",
203 "D3DSTENCILOP_INVERT",
208 D3DFOGMODE = Enum("D3DFOGMODE", [
215 D3DZBUFFERTYPE = Enum("D3DZBUFFERTYPE", [
221 D3DPRIMITIVETYPE = Enum("D3DPRIMITIVETYPE", [
225 "D3DPT_TRIANGLELIST",
226 "D3DPT_TRIANGLESTRIP",
230 D3DTRANSFORMSTATETYPE = Enum("D3DTRANSFORMSTATETYPE", [
247 D3DMATERIALCOLORSOURCE = Enum("D3DMATERIALCOLORSOURCE", [
253 D3DWRAP = Flags(DWORD, [
259 D3DWRAPCOORD = Flags(DWORD, [
266 D3DCOLORWRITEENABLE = Flags(DWORD, [
267 "D3DCOLORWRITEENABLE_RED",
268 "D3DCOLORWRITEENABLE_GREEN",
269 "D3DCOLORWRITEENABLE_BLUE",
270 "D3DCOLORWRITEENABLE_ALPHA",
273 D3DORDERTYPE = Enum("D3DORDERTYPE", [
275 "D3DORDER_QUADRATIC",
280 D3DPATCHEDGESTYLE = Enum("D3DPATCHEDGESTYLE", [
281 "D3DPATCHEDGE_DISCRETE",
282 "D3DPATCHEDGE_CONTINUOUS",
285 D3DVERTEXBLENDFLAGS = Enum("D3DVERTEXBLENDFLAGS", [
294 D3DDEBUGMONITORTOKENS = Enum("D3DDEBUGMONITORTOKENS", [
299 # TODO: Convert these to/from actual floats
300 FLOAT_AS_DWORD = DWORD
302 D3DRENDERSTATETYPE, D3DRENDERSTATEVALUE = EnumPolymorphic("D3DRENDERSTATETYPE", "State", [
303 ("D3DRS_ZENABLE", D3DZBUFFERTYPE),
304 ("D3DRS_FILLMODE", D3DFILLMODE),
305 ("D3DRS_SHADEMODE", D3DSHADEMODE),
306 ("D3DRS_LINEPATTERN", DWORD), # D3DLINEPATTERN
307 ("D3DRS_ZWRITEENABLE", BOOL),
308 ("D3DRS_ALPHATESTENABLE", BOOL),
309 ("D3DRS_LASTPIXEL", BOOL),
310 ("D3DRS_SRCBLEND", D3DBLEND),
311 ("D3DRS_DESTBLEND", D3DBLEND),
312 ("D3DRS_CULLMODE", D3DCULL),
313 ("D3DRS_ZFUNC", D3DCMPFUNC),
314 ("D3DRS_ALPHAREF", DWORD),
315 ("D3DRS_ALPHAFUNC", D3DCMPFUNC),
316 ("D3DRS_DITHERENABLE", BOOL),
317 ("D3DRS_ALPHABLENDENABLE", BOOL),
318 ("D3DRS_FOGENABLE", BOOL),
319 ("D3DRS_SPECULARENABLE", BOOL),
320 ("D3DRS_ZVISIBLE", BOOL),
321 ("D3DRS_FOGCOLOR", D3DCOLOR),
322 ("D3DRS_FOGTABLEMODE", D3DFOGMODE),
323 ("D3DRS_FOGSTART", FLOAT_AS_DWORD),
324 ("D3DRS_FOGEND", FLOAT_AS_DWORD),
325 ("D3DRS_FOGDENSITY", FLOAT_AS_DWORD),
326 ("D3DRS_EDGEANTIALIAS", BOOL),
327 ("D3DRS_ZBIAS", LONG),
328 ("D3DRS_RANGEFOGENABLE", BOOL),
329 ("D3DRS_STENCILENABLE", BOOL),
330 ("D3DRS_STENCILFAIL", D3DSTENCILOP),
331 ("D3DRS_STENCILZFAIL", D3DSTENCILOP),
332 ("D3DRS_STENCILPASS", D3DSTENCILOP),
333 ("D3DRS_STENCILFUNC", D3DCMPFUNC),
334 ("D3DRS_STENCILREF", DWORD),
335 ("D3DRS_STENCILMASK", DWORD),
336 ("D3DRS_STENCILWRITEMASK", DWORD),
337 ("D3DRS_TEXTUREFACTOR", D3DCOLOR),
338 ("D3DRS_WRAP0", D3DWRAPCOORD),
339 ("D3DRS_WRAP1", D3DWRAPCOORD),
340 ("D3DRS_WRAP2", D3DWRAPCOORD),
341 ("D3DRS_WRAP3", D3DWRAPCOORD),
342 ("D3DRS_WRAP4", D3DWRAPCOORD),
343 ("D3DRS_WRAP5", D3DWRAPCOORD),
344 ("D3DRS_WRAP6", D3DWRAPCOORD),
345 ("D3DRS_WRAP7", D3DWRAPCOORD),
346 ("D3DRS_CLIPPING", BOOL),
347 ("D3DRS_LIGHTING", BOOL),
348 ("D3DRS_AMBIENT", D3DCOLOR),
349 ("D3DRS_FOGVERTEXMODE", D3DFOGMODE),
350 ("D3DRS_COLORVERTEX", BOOL),
351 ("D3DRS_LOCALVIEWER", BOOL),
352 ("D3DRS_NORMALIZENORMALS", BOOL),
353 ("D3DRS_DIFFUSEMATERIALSOURCE", D3DMATERIALCOLORSOURCE),
354 ("D3DRS_SPECULARMATERIALSOURCE", D3DMATERIALCOLORSOURCE),
355 ("D3DRS_AMBIENTMATERIALSOURCE", D3DMATERIALCOLORSOURCE),
356 ("D3DRS_EMISSIVEMATERIALSOURCE", D3DMATERIALCOLORSOURCE),
357 ("D3DRS_VERTEXBLEND", D3DVERTEXBLENDFLAGS),
358 ("D3DRS_CLIPPLANEENABLE", D3DCLIPPLANE),
359 ("D3DRS_SOFTWAREVERTEXPROCESSING", BOOL),
360 ("D3DRS_POINTSIZE", FLOAT_AS_DWORD),
361 ("D3DRS_POINTSIZE_MIN", FLOAT_AS_DWORD),
362 ("D3DRS_POINTSPRITEENABLE", BOOL),
363 ("D3DRS_POINTSCALEENABLE", BOOL),
364 ("D3DRS_POINTSCALE_A", FLOAT_AS_DWORD),
365 ("D3DRS_POINTSCALE_B", FLOAT_AS_DWORD),
366 ("D3DRS_POINTSCALE_C", FLOAT_AS_DWORD),
367 ("D3DRS_MULTISAMPLEANTIALIAS", BOOL),
368 ("D3DRS_MULTISAMPLEMASK", DWORD),
369 ("D3DRS_PATCHEDGESTYLE", D3DPATCHEDGESTYLE),
370 ("D3DRS_PATCHSEGMENTS", DWORD),
371 ("D3DRS_DEBUGMONITORTOKEN", D3DDEBUGMONITORTOKENS),
372 ("D3DRS_POINTSIZE_MAX", FLOAT_AS_DWORD),
373 ("D3DRS_INDEXEDVERTEXBLENDENABLE", BOOL),
374 ("D3DRS_COLORWRITEENABLE", DWORD),
375 ("D3DRS_TWEENFACTOR", FLOAT_AS_DWORD),
376 ("D3DRS_BLENDOP", D3DBLENDOP),
377 ("D3DRS_POSITIONORDER", D3DORDERTYPE),
378 ("D3DRS_NORMALORDER", D3DORDERTYPE),
380 # XXX: D3DRENDERSTATE_WRAPBIAS + n
383 D3DTSS_TCI = Flags(DWORD, [
384 #"D3DTSS_TCI_PASSTHRU", # 0
385 "D3DTSS_TCI_CAMERASPACENORMAL",
386 "D3DTSS_TCI_CAMERASPACEPOSITION",
387 "D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR",
390 D3DTEXTUREOP = Enum("D3DTEXTUREOP", [
399 "D3DTOP_ADDSIGNED2X",
402 "D3DTOP_BLENDDIFFUSEALPHA",
403 "D3DTOP_BLENDTEXTUREALPHA",
404 "D3DTOP_BLENDFACTORALPHA",
405 "D3DTOP_BLENDTEXTUREALPHAPM",
406 "D3DTOP_BLENDCURRENTALPHA",
407 "D3DTOP_PREMODULATE",
408 "D3DTOP_MODULATEALPHA_ADDCOLOR",
409 "D3DTOP_MODULATECOLOR_ADDALPHA",
410 "D3DTOP_MODULATEINVALPHA_ADDCOLOR",
411 "D3DTOP_MODULATEINVCOLOR_ADDALPHA",
413 "D3DTOP_BUMPENVMAPLUMINANCE",
414 "D3DTOP_DOTPRODUCT3",
415 "D3DTOP_MULTIPLYADD",
419 # XXX: Actually a mixture of enums and flags
420 D3DTA = FakeEnum(DWORD, [
428 #"D3DTA_ALPHAREPLICATE",
431 D3DTEXTURETRANSFORMFLAGS = Enum("D3DTEXTURETRANSFORMFLAGS", [
440 D3DTEXTUREFILTERTYPE = Enum("D3DTEXTUREFILTERTYPE", [
444 "D3DTEXF_ANISOTROPIC",
446 "D3DTEXF_GAUSSIANCUBIC",
449 D3DTEXTURESTAGESTATETYPE, D3DTEXTURESTAGESTATEVALUE = EnumPolymorphic("D3DTEXTURESTAGESTATETYPE", "Type", [
450 ("D3DTSS_COLOROP", D3DTEXTUREOP),
451 ("D3DTSS_COLORARG1", D3DTA),
452 ("D3DTSS_COLORARG2", D3DTA),
453 ("D3DTSS_ALPHAOP", D3DTEXTUREOP),
454 ("D3DTSS_ALPHAARG1", D3DTA),
455 ("D3DTSS_ALPHAARG2", D3DTA),
456 ("D3DTSS_BUMPENVMAT00", FLOAT_AS_DWORD),
457 ("D3DTSS_BUMPENVMAT01", FLOAT_AS_DWORD),
458 ("D3DTSS_BUMPENVMAT10", FLOAT_AS_DWORD),
459 ("D3DTSS_BUMPENVMAT11", FLOAT_AS_DWORD),
460 ("D3DTSS_TEXCOORDINDEX", D3DTSS_TCI),
461 ("D3DTSS_ADDRESSU", D3DTEXTUREADDRESS),
462 ("D3DTSS_ADDRESSV", D3DTEXTUREADDRESS),
463 ("D3DTSS_BORDERCOLOR", D3DCOLOR),
464 ("D3DTSS_MAGFILTER", D3DTEXTUREFILTERTYPE),
465 ("D3DTSS_MINFILTER", D3DTEXTUREFILTERTYPE),
466 ("D3DTSS_MIPFILTER", D3DTEXTUREFILTERTYPE),
467 ("D3DTSS_MIPMAPLODBIAS", FLOAT_AS_DWORD),
468 ("D3DTSS_MAXMIPLEVEL", DWORD),
469 ("D3DTSS_MAXANISOTROPY", DWORD),
470 ("D3DTSS_BUMPENVLSCALE", FLOAT_AS_DWORD),
471 ("D3DTSS_BUMPENVLOFFSET", FLOAT_AS_DWORD),
472 ("D3DTSS_TEXTURETRANSFORMFLAGS", D3DTEXTURETRANSFORMFLAGS),
473 ("D3DTSS_ADDRESSW", D3DTEXTUREADDRESS),
474 ("D3DTSS_COLORARG0", D3DTA),
475 ("D3DTSS_ALPHAARG0", D3DTA),
476 ("D3DTSS_RESULTARG", D3DTA),
479 D3DPV = Flags(DWORD, [
480 "D3DPV_DONOTCOPYDATA",
483 # XXX: Actually a mixture of enums and flags
484 D3DFVF = Flags(DWORD, [
506 "D3DFVF_LASTBETA_UBYTE4",
508 #"D3DFVF_TEXCOORDSIZE1(0)",
509 #"D3DFVF_TEXCOORDSIZE2(0)",
510 #"D3DFVF_TEXCOORDSIZE3(0)",
511 #"D3DFVF_TEXCOORDSIZE4(0)",
512 #"D3DFVF_TEXCOORDSIZE1(1)",
513 #"D3DFVF_TEXCOORDSIZE2(1)",
514 #"D3DFVF_TEXCOORDSIZE3(1)",
515 #"D3DFVF_TEXCOORDSIZE4(1)",
516 #"D3DFVF_TEXCOORDSIZE1(2)",
517 #"D3DFVF_TEXCOORDSIZE2(2)",
518 #"D3DFVF_TEXCOORDSIZE3(2)",
519 #"D3DFVF_TEXCOORDSIZE4(2)",
520 #"D3DFVF_TEXCOORDSIZE1(3)",
521 #"D3DFVF_TEXCOORDSIZE2(3)",
522 #"D3DFVF_TEXCOORDSIZE3(3)",
523 #"D3DFVF_TEXCOORDSIZE4(3)",
527 D3DVSD_TOKENTYPE = Enum("D3DVSD_TOKENTYPE", [
529 "D3DVSD_TOKEN_STREAM",
530 "D3DVSD_TOKEN_STREAMDATA",
531 "D3DVSD_TOKEN_TESSELLATOR",
532 "D3DVSD_TOKEN_CONSTMEM",
538 D3DVSDT = FakeEnum(DWORD, [
548 "D3DVSDE_BLENDWEIGHT",
549 "D3DVSDE_BLENDINDICES",
568 D3DBASISTYPE = Enum("D3DBASISTYPE", [
571 "D3DBASIS_INTERPOLATE",
574 D3DSTATEBLOCKTYPE = Enum("D3DSTATEBLOCKTYPE", [
577 "D3DSBT_VERTEXSTATE",
580 D3DDEVTYPE = Enum("D3DDEVTYPE", [
586 D3DMULTISAMPLE_TYPE = Enum("D3DMULTISAMPLE_TYPE", [
587 "D3DMULTISAMPLE_NONE",
588 "D3DMULTISAMPLE_2_SAMPLES",
589 "D3DMULTISAMPLE_3_SAMPLES",
590 "D3DMULTISAMPLE_4_SAMPLES",
591 "D3DMULTISAMPLE_5_SAMPLES",
592 "D3DMULTISAMPLE_6_SAMPLES",
593 "D3DMULTISAMPLE_7_SAMPLES",
594 "D3DMULTISAMPLE_8_SAMPLES",
595 "D3DMULTISAMPLE_9_SAMPLES",
596 "D3DMULTISAMPLE_10_SAMPLES",
597 "D3DMULTISAMPLE_11_SAMPLES",
598 "D3DMULTISAMPLE_12_SAMPLES",
599 "D3DMULTISAMPLE_13_SAMPLES",
600 "D3DMULTISAMPLE_14_SAMPLES",
601 "D3DMULTISAMPLE_15_SAMPLES",
602 "D3DMULTISAMPLE_16_SAMPLES",
605 D3DFORMAT = Enum("D3DFORMAT", [
618 "D3DFMT_A2B10G10R10",
631 "D3DFMT_A2W10V10U10",
639 "D3DFMT_D16_LOCKABLE",
651 D3DDISPLAYMODE = Struct("D3DDISPLAYMODE", [
654 (UINT, "RefreshRate"),
655 (D3DFORMAT, "Format"),
658 D3DCREATE = Flags(DWORD, [
659 "D3DCREATE_FPU_PRESERVE",
660 "D3DCREATE_MULTITHREADED",
661 "D3DCREATE_PUREDEVICE",
662 "D3DCREATE_SOFTWARE_VERTEXPROCESSING",
663 "D3DCREATE_HARDWARE_VERTEXPROCESSING",
664 "D3DCREATE_MIXED_VERTEXPROCESSING",
665 "D3DCREATE_DISABLE_DRIVER_MANAGEMENT",
668 D3DDEVICE_CREATION_PARAMETERS = Struct("D3DDEVICE_CREATION_PARAMETERS", [
669 (UINT, "AdapterOrdinal"),
670 (D3DDEVTYPE, "DeviceType"),
671 (HWND, "hFocusWindow"),
672 (D3DCREATE, "BehaviorFlags"),
675 D3DSWAPEFFECT = Enum("D3DSWAPEFFECT", [
676 "D3DSWAPEFFECT_DISCARD",
677 "D3DSWAPEFFECT_FLIP",
678 "D3DSWAPEFFECT_COPY",
679 "D3DSWAPEFFECT_COPY_VSYNC",
682 D3DPOOL = Enum("D3DPOOL", [
689 D3DPRESENT = FakeEnum(DWORD, [
690 "D3DPRESENT_RATE_DEFAULT",
691 "D3DPRESENT_RATE_UNLIMITED",
694 D3DPRESENTFLAG = Flags(DWORD, [
695 "D3DPRESENTFLAG_LOCKABLE_BACKBUFFER",
698 D3DPRESENT_INTERVAL = Flags(DWORD, [
699 "D3DPRESENT_INTERVAL_DEFAULT", # 0
700 "D3DPRESENT_INTERVAL_ONE",
701 "D3DPRESENT_INTERVAL_TWO",
702 "D3DPRESENT_INTERVAL_THREE",
703 "D3DPRESENT_INTERVAL_FOUR",
704 "D3DPRESENT_INTERVAL_IMMEDIATE",
707 D3DPRESENT_PARAMETERS = Struct("D3DPRESENT_PARAMETERS", [
708 (UINT, "BackBufferWidth"),
709 (UINT, "BackBufferHeight"),
710 (D3DFORMAT, "BackBufferFormat"),
711 (UINT, "BackBufferCount"),
712 (D3DMULTISAMPLE_TYPE, "MultiSampleType"),
713 (D3DSWAPEFFECT, "SwapEffect"),
714 (HWND, "hDeviceWindow"),
716 (BOOL, "EnableAutoDepthStencil"),
717 (D3DFORMAT, "AutoDepthStencilFormat"),
718 (D3DPRESENTFLAG, "Flags"),
719 (UINT, "FullScreen_RefreshRateInHz"),
720 (D3DPRESENT_INTERVAL, "FullScreen_PresentationInterval"),
723 D3DGAMMARAMP = Struct("D3DGAMMARAMP", [
724 (Array(WORD, 256), "red"),
725 (Array(WORD, 256), "green"),
726 (Array(WORD, 256), "blue"),
729 D3DBACKBUFFER_TYPE = Enum("D3DBACKBUFFER_TYPE", [
730 "D3DBACKBUFFER_TYPE_MONO",
731 "D3DBACKBUFFER_TYPE_LEFT",
732 "D3DBACKBUFFER_TYPE_RIGHT",
735 D3DRESOURCETYPE = Enum("D3DRESOURCETYPE", [
739 "D3DRTYPE_VOLUMETEXTURE",
740 "D3DRTYPE_CUBETEXTURE",
741 "D3DRTYPE_VERTEXBUFFER",
742 "D3DRTYPE_INDEXBUFFER",
745 D3DUSAGE = Flags(DWORD, [
746 "D3DUSAGE_RENDERTARGET",
747 "D3DUSAGE_DEPTHSTENCIL",
748 "D3DUSAGE_WRITEONLY",
749 "D3DUSAGE_SOFTWAREPROCESSING",
750 "D3DUSAGE_DONOTCLIP",
752 "D3DUSAGE_RTPATCHES",
757 D3DCUBEMAP_FACES = Enum("D3DCUBEMAP_FACES", [
758 "D3DCUBEMAP_FACE_POSITIVE_X",
759 "D3DCUBEMAP_FACE_NEGATIVE_X",
760 "D3DCUBEMAP_FACE_POSITIVE_Y",
761 "D3DCUBEMAP_FACE_NEGATIVE_Y",
762 "D3DCUBEMAP_FACE_POSITIVE_Z",
763 "D3DCUBEMAP_FACE_NEGATIVE_Z",
766 D3DLOCK = Flags(DWORD, [
769 "D3DLOCK_NOOVERWRITE",
771 "D3DLOCK_NO_DIRTY_UPDATE",
774 D3DVERTEXBUFFER_DESC = Struct("D3DVERTEXBUFFER_DESC", [
775 (D3DFORMAT, "Format"),
776 (D3DRESOURCETYPE, "Type"),
783 D3DINDEXBUFFER_DESC = Struct("D3DINDEXBUFFER_DESC", [
784 (D3DFORMAT, "Format"),
785 (D3DRESOURCETYPE, "Type"),
791 D3DSURFACE_DESC = Struct("D3DSURFACE_DESC", [
792 (D3DFORMAT, "Format"),
793 (D3DRESOURCETYPE, "Type"),
797 (D3DMULTISAMPLE_TYPE, "MultiSampleType"),
802 D3DVOLUME_DESC = Struct("D3DVOLUME_DESC", [
803 (D3DFORMAT, "Format"),
804 (D3DRESOURCETYPE, "Type"),
813 D3DLOCKED_RECT = Struct("D3DLOCKED_RECT", [
815 (LinearPointer(Void, "_MappedSize"), "pBits"),
818 D3DBOX = Struct("D3DBOX", [
827 D3DLOCKED_BOX = Struct("D3DLOCKED_BOX", [
830 (LinearPointer(Void, "_MappedSize"), "pBits"),
833 D3DRANGE = Struct("D3DRANGE", [
838 D3DRECTPATCH_INFO = Struct("D3DRECTPATCH_INFO", [
839 (UINT, "StartVertexOffsetWidth"),
840 (UINT, "StartVertexOffsetHeight"),
844 (D3DBASISTYPE, "Basis"),
845 (D3DORDERTYPE, "Order"),
848 D3DTRIPATCH_INFO = Struct("D3DTRIPATCH_INFO", [
849 (UINT, "StartVertexOffset"),
850 (UINT, "NumVertices"),
851 (D3DBASISTYPE, "Basis"),
852 (D3DORDERTYPE, "Order"),
855 D3DADAPTER_IDENTIFIER8 = Struct("D3DADAPTER_IDENTIFIER8", [
857 (CString, "Description"),
858 (LARGE_INTEGER, "DriverVersion"),
863 (GUID, "DeviceIdentifier"),
864 (DWORD, "WHQLLevel"),
867 D3DRASTER_STATUS = Struct("D3DRASTER_STATUS", [
872 D3DDEVINFOID = FakeEnum(DWORD, [
873 "D3DDEVINFOID_RESOURCEMANAGER",
874 "D3DDEVINFOID_VERTEXSTATS",
877 D3DRESOURCESTATS = Struct("D3DRESOURCESTATS", [
878 (BOOL, "bThrashing"),
879 (DWORD, "ApproxBytesDownloaded"),
880 (DWORD, "NumEvicts"),
881 (DWORD, "NumVidCreates"),
884 (DWORD, "NumUsedInVidMem"),
885 (DWORD, "WorkingSet"),
886 (DWORD, "WorkingSetBytes"),
887 (DWORD, "TotalManaged"),
888 (DWORD, "TotalBytes"),
891 D3DDEVINFO_RESOURCEMANAGER = Struct("D3DDEVINFO_RESOURCEMANAGER", [
892 (Array(D3DRESOURCESTATS, "D3DRTYPECOUNT"), "stats"),
895 D3DDEVINFO_D3DVERTEXSTATS = Struct("D3DDEVINFO_D3DVERTEXSTATS", [
896 (DWORD, "NumRenderedTriangles"),
897 (DWORD, "NumExtraClippingTriangles"),