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", [
243 D3DTS = Flags(DWORD, [
250 D3DMATERIALCOLORSOURCE = Enum("D3DMATERIALCOLORSOURCE", [
256 D3DWRAP = Flags(DWORD, [
262 D3DWRAPCOORD = Flags(DWORD, [
269 D3DCOLORWRITEENABLE = Flags(DWORD, [
270 "D3DCOLORWRITEENABLE_RED",
271 "D3DCOLORWRITEENABLE_GREEN",
272 "D3DCOLORWRITEENABLE_BLUE",
273 "D3DCOLORWRITEENABLE_ALPHA",
276 D3DORDERTYPE = Enum("D3DORDERTYPE", [
278 "D3DORDER_QUADRATIC",
283 D3DPATCHEDGESTYLE = Enum("D3DPATCHEDGESTYLE", [
284 "D3DPATCHEDGE_DISCRETE",
285 "D3DPATCHEDGE_CONTINUOUS",
288 D3DVERTEXBLENDFLAGS = Enum("D3DVERTEXBLENDFLAGS", [
297 D3DDEBUGMONITORTOKENS = Enum("D3DDEBUGMONITORTOKENS", [
302 # TODO: Convert these to/from actual floats
303 FLOAT_AS_DWORD = DWORD
305 D3DRENDERSTATETYPE, D3DRENDERSTATEVALUE = EnumPolymorphic("D3DRENDERSTATETYPE", "State", [
306 ("D3DRS_ZENABLE", D3DZBUFFERTYPE),
307 ("D3DRS_FILLMODE", D3DFILLMODE),
308 ("D3DRS_SHADEMODE", D3DSHADEMODE),
309 ("D3DRS_LINEPATTERN", DWORD), # D3DLINEPATTERN
310 ("D3DRS_ZWRITEENABLE", BOOL),
311 ("D3DRS_ALPHATESTENABLE", BOOL),
312 ("D3DRS_LASTPIXEL", BOOL),
313 ("D3DRS_SRCBLEND", D3DBLEND),
314 ("D3DRS_DESTBLEND", D3DBLEND),
315 ("D3DRS_CULLMODE", D3DCULL),
316 ("D3DRS_ZFUNC", D3DCMPFUNC),
317 ("D3DRS_ALPHAREF", DWORD),
318 ("D3DRS_ALPHAFUNC", D3DCMPFUNC),
319 ("D3DRS_DITHERENABLE", BOOL),
320 ("D3DRS_ALPHABLENDENABLE", BOOL),
321 ("D3DRS_FOGENABLE", BOOL),
322 ("D3DRS_SPECULARENABLE", BOOL),
323 ("D3DRS_ZVISIBLE", BOOL),
324 ("D3DRS_FOGCOLOR", D3DCOLOR),
325 ("D3DRS_FOGTABLEMODE", D3DFOGMODE),
326 ("D3DRS_FOGSTART", FLOAT_AS_DWORD),
327 ("D3DRS_FOGEND", FLOAT_AS_DWORD),
328 ("D3DRS_FOGDENSITY", FLOAT_AS_DWORD),
329 ("D3DRS_EDGEANTIALIAS", BOOL),
330 ("D3DRS_ZBIAS", LONG),
331 ("D3DRS_RANGEFOGENABLE", BOOL),
332 ("D3DRS_STENCILENABLE", BOOL),
333 ("D3DRS_STENCILFAIL", D3DSTENCILOP),
334 ("D3DRS_STENCILZFAIL", D3DSTENCILOP),
335 ("D3DRS_STENCILPASS", D3DSTENCILOP),
336 ("D3DRS_STENCILFUNC", D3DCMPFUNC),
337 ("D3DRS_STENCILREF", DWORD),
338 ("D3DRS_STENCILMASK", DWORD),
339 ("D3DRS_STENCILWRITEMASK", DWORD),
340 ("D3DRS_TEXTUREFACTOR", D3DCOLOR),
341 ("D3DRS_WRAP0", D3DWRAPCOORD),
342 ("D3DRS_WRAP1", D3DWRAPCOORD),
343 ("D3DRS_WRAP2", D3DWRAPCOORD),
344 ("D3DRS_WRAP3", D3DWRAPCOORD),
345 ("D3DRS_WRAP4", D3DWRAPCOORD),
346 ("D3DRS_WRAP5", D3DWRAPCOORD),
347 ("D3DRS_WRAP6", D3DWRAPCOORD),
348 ("D3DRS_WRAP7", D3DWRAPCOORD),
349 ("D3DRS_CLIPPING", BOOL),
350 ("D3DRS_LIGHTING", BOOL),
351 ("D3DRS_AMBIENT", D3DCOLOR),
352 ("D3DRS_FOGVERTEXMODE", D3DFOGMODE),
353 ("D3DRS_COLORVERTEX", BOOL),
354 ("D3DRS_LOCALVIEWER", BOOL),
355 ("D3DRS_NORMALIZENORMALS", BOOL),
356 ("D3DRS_DIFFUSEMATERIALSOURCE", D3DMATERIALCOLORSOURCE),
357 ("D3DRS_SPECULARMATERIALSOURCE", D3DMATERIALCOLORSOURCE),
358 ("D3DRS_AMBIENTMATERIALSOURCE", D3DMATERIALCOLORSOURCE),
359 ("D3DRS_EMISSIVEMATERIALSOURCE", D3DMATERIALCOLORSOURCE),
360 ("D3DRS_VERTEXBLEND", D3DVERTEXBLENDFLAGS),
361 ("D3DRS_CLIPPLANEENABLE", D3DCLIPPLANE),
362 ("D3DRS_SOFTWAREVERTEXPROCESSING", BOOL),
363 ("D3DRS_POINTSIZE", FLOAT_AS_DWORD),
364 ("D3DRS_POINTSIZE_MIN", FLOAT_AS_DWORD),
365 ("D3DRS_POINTSPRITEENABLE", BOOL),
366 ("D3DRS_POINTSCALEENABLE", BOOL),
367 ("D3DRS_POINTSCALE_A", FLOAT_AS_DWORD),
368 ("D3DRS_POINTSCALE_B", FLOAT_AS_DWORD),
369 ("D3DRS_POINTSCALE_C", FLOAT_AS_DWORD),
370 ("D3DRS_MULTISAMPLEANTIALIAS", BOOL),
371 ("D3DRS_MULTISAMPLEMASK", DWORD),
372 ("D3DRS_PATCHEDGESTYLE", D3DPATCHEDGESTYLE),
373 ("D3DRS_PATCHSEGMENTS", DWORD),
374 ("D3DRS_DEBUGMONITORTOKEN", D3DDEBUGMONITORTOKENS),
375 ("D3DRS_POINTSIZE_MAX", FLOAT_AS_DWORD),
376 ("D3DRS_INDEXEDVERTEXBLENDENABLE", BOOL),
377 ("D3DRS_COLORWRITEENABLE", DWORD),
378 ("D3DRS_TWEENFACTOR", FLOAT_AS_DWORD),
379 ("D3DRS_BLENDOP", D3DBLENDOP),
380 ("D3DRS_POSITIONORDER", D3DORDERTYPE),
381 ("D3DRS_NORMALORDER", D3DORDERTYPE),
383 # XXX: D3DRENDERSTATE_WRAPBIAS + n
386 D3DTSS_TCI = Flags(DWORD, [
387 #"D3DTSS_TCI_PASSTHRU", # 0
388 "D3DTSS_TCI_CAMERASPACENORMAL",
389 "D3DTSS_TCI_CAMERASPACEPOSITION",
390 "D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR",
393 D3DTEXTUREOP = Enum("D3DTEXTUREOP", [
402 "D3DTOP_ADDSIGNED2X",
405 "D3DTOP_BLENDDIFFUSEALPHA",
406 "D3DTOP_BLENDTEXTUREALPHA",
407 "D3DTOP_BLENDFACTORALPHA",
408 "D3DTOP_BLENDTEXTUREALPHAPM",
409 "D3DTOP_BLENDCURRENTALPHA",
410 "D3DTOP_PREMODULATE",
411 "D3DTOP_MODULATEALPHA_ADDCOLOR",
412 "D3DTOP_MODULATECOLOR_ADDALPHA",
413 "D3DTOP_MODULATEINVALPHA_ADDCOLOR",
414 "D3DTOP_MODULATEINVCOLOR_ADDALPHA",
416 "D3DTOP_BUMPENVMAPLUMINANCE",
417 "D3DTOP_DOTPRODUCT3",
418 "D3DTOP_MULTIPLYADD",
422 # XXX: Actually a mixture of enums and flags
423 D3DTA = FakeEnum(DWORD, [
431 #"D3DTA_ALPHAREPLICATE",
434 D3DTEXTURETRANSFORMFLAGS = Enum("D3DTEXTURETRANSFORMFLAGS", [
443 D3DTEXTUREFILTERTYPE = Enum("D3DTEXTUREFILTERTYPE", [
447 "D3DTEXF_ANISOTROPIC",
449 "D3DTEXF_GAUSSIANCUBIC",
452 D3DTEXTURESTAGESTATETYPE, D3DTEXTURESTAGESTATEVALUE = EnumPolymorphic("D3DTEXTURESTAGESTATETYPE", "Type", [
453 ("D3DTSS_COLOROP", D3DTEXTUREOP),
454 ("D3DTSS_COLORARG1", D3DTA),
455 ("D3DTSS_COLORARG2", D3DTA),
456 ("D3DTSS_ALPHAOP", D3DTEXTUREOP),
457 ("D3DTSS_ALPHAARG1", D3DTA),
458 ("D3DTSS_ALPHAARG2", D3DTA),
459 ("D3DTSS_BUMPENVMAT00", FLOAT_AS_DWORD),
460 ("D3DTSS_BUMPENVMAT01", FLOAT_AS_DWORD),
461 ("D3DTSS_BUMPENVMAT10", FLOAT_AS_DWORD),
462 ("D3DTSS_BUMPENVMAT11", FLOAT_AS_DWORD),
463 ("D3DTSS_TEXCOORDINDEX", D3DTSS_TCI),
464 ("D3DTSS_ADDRESSU", D3DTEXTUREADDRESS),
465 ("D3DTSS_ADDRESSV", D3DTEXTUREADDRESS),
466 ("D3DTSS_BORDERCOLOR", D3DCOLOR),
467 ("D3DTSS_MAGFILTER", D3DTEXTUREFILTERTYPE),
468 ("D3DTSS_MINFILTER", D3DTEXTUREFILTERTYPE),
469 ("D3DTSS_MIPFILTER", D3DTEXTUREFILTERTYPE),
470 ("D3DTSS_MIPMAPLODBIAS", FLOAT_AS_DWORD),
471 ("D3DTSS_MAXMIPLEVEL", DWORD),
472 ("D3DTSS_MAXANISOTROPY", DWORD),
473 ("D3DTSS_BUMPENVLSCALE", FLOAT_AS_DWORD),
474 ("D3DTSS_BUMPENVLOFFSET", FLOAT_AS_DWORD),
475 ("D3DTSS_TEXTURETRANSFORMFLAGS", D3DTEXTURETRANSFORMFLAGS),
476 ("D3DTSS_ADDRESSW", D3DTEXTUREADDRESS),
477 ("D3DTSS_COLORARG0", D3DTA),
478 ("D3DTSS_ALPHAARG0", D3DTA),
479 ("D3DTSS_RESULTARG", D3DTA),
482 D3DPV = Flags(DWORD, [
483 "D3DPV_DONOTCOPYDATA",
486 # XXX: Actually a mixture of enums and flags
487 D3DFVF = Flags(DWORD, [
509 "D3DFVF_LASTBETA_UBYTE4",
511 #"D3DFVF_TEXCOORDSIZE1(0)",
512 #"D3DFVF_TEXCOORDSIZE2(0)",
513 #"D3DFVF_TEXCOORDSIZE3(0)",
514 #"D3DFVF_TEXCOORDSIZE4(0)",
515 #"D3DFVF_TEXCOORDSIZE1(1)",
516 #"D3DFVF_TEXCOORDSIZE2(1)",
517 #"D3DFVF_TEXCOORDSIZE3(1)",
518 #"D3DFVF_TEXCOORDSIZE4(1)",
519 #"D3DFVF_TEXCOORDSIZE1(2)",
520 #"D3DFVF_TEXCOORDSIZE2(2)",
521 #"D3DFVF_TEXCOORDSIZE3(2)",
522 #"D3DFVF_TEXCOORDSIZE4(2)",
523 #"D3DFVF_TEXCOORDSIZE1(3)",
524 #"D3DFVF_TEXCOORDSIZE2(3)",
525 #"D3DFVF_TEXCOORDSIZE3(3)",
526 #"D3DFVF_TEXCOORDSIZE4(3)",
530 D3DVSD_TOKENTYPE = Enum("D3DVSD_TOKENTYPE", [
532 "D3DVSD_TOKEN_STREAM",
533 "D3DVSD_TOKEN_STREAMDATA",
534 "D3DVSD_TOKEN_TESSELLATOR",
535 "D3DVSD_TOKEN_CONSTMEM",
541 D3DVSDT = FakeEnum(DWORD, [
551 "D3DVSDE_BLENDWEIGHT",
552 "D3DVSDE_BLENDINDICES",
571 D3DBASISTYPE = Enum("D3DBASISTYPE", [
574 "D3DBASIS_INTERPOLATE",
577 D3DSTATEBLOCKTYPE = Enum("D3DSTATEBLOCKTYPE", [
580 "D3DSBT_VERTEXSTATE",
583 D3DDEVTYPE = Enum("D3DDEVTYPE", [
589 D3DMULTISAMPLE_TYPE = Enum("D3DMULTISAMPLE_TYPE", [
590 "D3DMULTISAMPLE_NONE",
591 "D3DMULTISAMPLE_2_SAMPLES",
592 "D3DMULTISAMPLE_3_SAMPLES",
593 "D3DMULTISAMPLE_4_SAMPLES",
594 "D3DMULTISAMPLE_5_SAMPLES",
595 "D3DMULTISAMPLE_6_SAMPLES",
596 "D3DMULTISAMPLE_7_SAMPLES",
597 "D3DMULTISAMPLE_8_SAMPLES",
598 "D3DMULTISAMPLE_9_SAMPLES",
599 "D3DMULTISAMPLE_10_SAMPLES",
600 "D3DMULTISAMPLE_11_SAMPLES",
601 "D3DMULTISAMPLE_12_SAMPLES",
602 "D3DMULTISAMPLE_13_SAMPLES",
603 "D3DMULTISAMPLE_14_SAMPLES",
604 "D3DMULTISAMPLE_15_SAMPLES",
605 "D3DMULTISAMPLE_16_SAMPLES",
608 D3DFORMAT = Enum("D3DFORMAT", [
621 "D3DFMT_A2B10G10R10",
634 "D3DFMT_A2W10V10U10",
642 "D3DFMT_D16_LOCKABLE",
654 D3DDISPLAYMODE = Struct("D3DDISPLAYMODE", [
657 (UINT, "RefreshRate"),
658 (D3DFORMAT, "Format"),
661 D3DCREATE = Flags(DWORD, [
662 "D3DCREATE_FPU_PRESERVE",
663 "D3DCREATE_MULTITHREADED",
664 "D3DCREATE_PUREDEVICE",
665 "D3DCREATE_SOFTWARE_VERTEXPROCESSING",
666 "D3DCREATE_HARDWARE_VERTEXPROCESSING",
667 "D3DCREATE_MIXED_VERTEXPROCESSING",
668 "D3DCREATE_DISABLE_DRIVER_MANAGEMENT",
671 D3DDEVICE_CREATION_PARAMETERS = Struct("D3DDEVICE_CREATION_PARAMETERS", [
672 (UINT, "AdapterOrdinal"),
673 (D3DDEVTYPE, "DeviceType"),
674 (HWND, "hFocusWindow"),
675 (D3DCREATE, "BehaviorFlags"),
678 D3DSWAPEFFECT = Enum("D3DSWAPEFFECT", [
679 "D3DSWAPEFFECT_DISCARD",
680 "D3DSWAPEFFECT_FLIP",
681 "D3DSWAPEFFECT_COPY",
682 "D3DSWAPEFFECT_COPY_VSYNC",
685 D3DPOOL = Enum("D3DPOOL", [
692 D3DPRESENT = FakeEnum(DWORD, [
693 "D3DPRESENT_RATE_DEFAULT",
694 "D3DPRESENT_RATE_UNLIMITED",
697 D3DPRESENTFLAG = Flags(DWORD, [
698 "D3DPRESENTFLAG_LOCKABLE_BACKBUFFER",
701 D3DPRESENT_INTERVAL = Flags(DWORD, [
702 "D3DPRESENT_INTERVAL_DEFAULT", # 0
703 "D3DPRESENT_INTERVAL_ONE",
704 "D3DPRESENT_INTERVAL_TWO",
705 "D3DPRESENT_INTERVAL_THREE",
706 "D3DPRESENT_INTERVAL_FOUR",
707 "D3DPRESENT_INTERVAL_IMMEDIATE",
710 D3DPRESENT_PARAMETERS = Struct("D3DPRESENT_PARAMETERS", [
711 (UINT, "BackBufferWidth"),
712 (UINT, "BackBufferHeight"),
713 (D3DFORMAT, "BackBufferFormat"),
714 (UINT, "BackBufferCount"),
715 (D3DMULTISAMPLE_TYPE, "MultiSampleType"),
716 (D3DSWAPEFFECT, "SwapEffect"),
717 (HWND, "hDeviceWindow"),
719 (BOOL, "EnableAutoDepthStencil"),
720 (D3DFORMAT, "AutoDepthStencilFormat"),
721 (D3DPRESENTFLAG, "Flags"),
722 (UINT, "FullScreen_RefreshRateInHz"),
723 (D3DPRESENT_INTERVAL, "FullScreen_PresentationInterval"),
726 D3DGAMMARAMP = Struct("D3DGAMMARAMP", [
727 (Array(WORD, 256), "red"),
728 (Array(WORD, 256), "green"),
729 (Array(WORD, 256), "blue"),
732 D3DBACKBUFFER_TYPE = Enum("D3DBACKBUFFER_TYPE", [
733 "D3DBACKBUFFER_TYPE_MONO",
734 "D3DBACKBUFFER_TYPE_LEFT",
735 "D3DBACKBUFFER_TYPE_RIGHT",
738 D3DRESOURCETYPE = Enum("D3DRESOURCETYPE", [
742 "D3DRTYPE_VOLUMETEXTURE",
743 "D3DRTYPE_CUBETEXTURE",
744 "D3DRTYPE_VERTEXBUFFER",
745 "D3DRTYPE_INDEXBUFFER",
748 D3DUSAGE = Flags(DWORD, [
749 "D3DUSAGE_RENDERTARGET",
750 "D3DUSAGE_DEPTHSTENCIL",
751 "D3DUSAGE_WRITEONLY",
752 "D3DUSAGE_SOFTWAREPROCESSING",
753 "D3DUSAGE_DONOTCLIP",
755 "D3DUSAGE_RTPATCHES",
760 D3DCUBEMAP_FACES = Enum("D3DCUBEMAP_FACES", [
761 "D3DCUBEMAP_FACE_POSITIVE_X",
762 "D3DCUBEMAP_FACE_NEGATIVE_X",
763 "D3DCUBEMAP_FACE_POSITIVE_Y",
764 "D3DCUBEMAP_FACE_NEGATIVE_Y",
765 "D3DCUBEMAP_FACE_POSITIVE_Z",
766 "D3DCUBEMAP_FACE_NEGATIVE_Z",
769 D3DLOCK = Flags(DWORD, [
772 "D3DLOCK_NOOVERWRITE",
774 "D3DLOCK_NO_DIRTY_UPDATE",
777 D3DVERTEXBUFFER_DESC = Struct("D3DVERTEXBUFFER_DESC", [
778 (D3DFORMAT, "Format"),
779 (D3DRESOURCETYPE, "Type"),
786 D3DINDEXBUFFER_DESC = Struct("D3DINDEXBUFFER_DESC", [
787 (D3DFORMAT, "Format"),
788 (D3DRESOURCETYPE, "Type"),
794 D3DSURFACE_DESC = Struct("D3DSURFACE_DESC", [
795 (D3DFORMAT, "Format"),
796 (D3DRESOURCETYPE, "Type"),
800 (D3DMULTISAMPLE_TYPE, "MultiSampleType"),
805 D3DVOLUME_DESC = Struct("D3DVOLUME_DESC", [
806 (D3DFORMAT, "Format"),
807 (D3DRESOURCETYPE, "Type"),
816 D3DLOCKED_RECT = Struct("D3DLOCKED_RECT", [
818 (LinearPointer(Void, "_MappedSize"), "pBits"),
821 D3DBOX = Struct("D3DBOX", [
830 D3DLOCKED_BOX = Struct("D3DLOCKED_BOX", [
833 (LinearPointer(Void, "_MappedSize"), "pBits"),
836 D3DRANGE = Struct("D3DRANGE", [
841 D3DRECTPATCH_INFO = Struct("D3DRECTPATCH_INFO", [
842 (UINT, "StartVertexOffsetWidth"),
843 (UINT, "StartVertexOffsetHeight"),
847 (D3DBASISTYPE, "Basis"),
848 (D3DORDERTYPE, "Order"),
851 D3DTRIPATCH_INFO = Struct("D3DTRIPATCH_INFO", [
852 (UINT, "StartVertexOffset"),
853 (UINT, "NumVertices"),
854 (D3DBASISTYPE, "Basis"),
855 (D3DORDERTYPE, "Order"),
858 D3DADAPTER_IDENTIFIER8 = Struct("D3DADAPTER_IDENTIFIER8", [
860 (CString, "Description"),
861 (LARGE_INTEGER, "DriverVersion"),
866 (GUID, "DeviceIdentifier"),
867 (DWORD, "WHQLLevel"),
870 D3DRASTER_STATUS = Struct("D3DRASTER_STATUS", [
875 D3DDEVINFOID = FakeEnum(DWORD, [
876 "D3DDEVINFOID_RESOURCEMANAGER",
877 "D3DDEVINFOID_VERTEXSTATS",
880 D3DRESOURCESTATS = Struct("D3DRESOURCESTATS", [
881 (BOOL, "bThrashing"),
882 (DWORD, "ApproxBytesDownloaded"),
883 (DWORD, "NumEvicts"),
884 (DWORD, "NumVidCreates"),
887 (DWORD, "NumUsedInVidMem"),
888 (DWORD, "WorkingSet"),
889 (DWORD, "WorkingSetBytes"),
890 (DWORD, "TotalManaged"),
891 (DWORD, "TotalBytes"),
894 D3DDEVINFO_RESOURCEMANAGER = Struct("D3DDEVINFO_RESOURCEMANAGER", [
895 (Array(D3DRESOURCESTATS, "D3DRTYPECOUNT"), "stats"),
898 D3DDEVINFO_D3DVERTEXSTATS = Struct("D3DDEVINFO_D3DVERTEXSTATS", [
899 (DWORD, "NumRenderedTriangles"),
900 (DWORD, "NumExtraClippingTriangles"),