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 D3DCLIP = 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",
107 "D3DLIGHT_FORCE_DWORD",
110 D3DLIGHT8 = Struct("D3DLIGHT8", [
111 (D3DLIGHTTYPE, "Type"),
112 (D3DCOLORVALUE, "Diffuse"),
113 (D3DCOLORVALUE, "Specular"),
114 (D3DCOLORVALUE, "Ambient"),
115 (D3DVECTOR, "Position"),
116 (D3DVECTOR, "Direction"),
119 (Float, "Attenuation0"),
120 (Float, "Attenuation1"),
121 (Float, "Attenuation2"),
126 D3DCS = Flags(DWORD, [
132 D3DSHADEMODE = Enum("D3DSHADEMODE", [
136 "D3DSHADE_FORCE_DWORD",
139 D3DFILLMODE = Enum("D3DFILLMODE", [
143 "D3DFILL_FORCE_DWORD",
146 D3DLINEPATTERN = Struct("D3DLINEPATTERN", [
147 (WORD, "wRepeatFactor"),
148 (WORD, "wLinePattern"),
151 D3DBLEND = Enum("D3DBLEND", [
155 "D3DBLEND_INVSRCCOLOR",
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",
168 D3DBLENDOP = Enum("D3DBLENDOP", [
170 "D3DBLENDOP_SUBTRACT",
171 "D3DBLENDOP_REVSUBTRACT",
174 "D3DBLENDOP_FORCE_DWORD",
177 D3DTEXTUREADDRESS = Enum("D3DTEXTUREADDRESS", [
179 "D3DTADDRESS_MIRROR",
181 "D3DTADDRESS_BORDER",
182 "D3DTADDRESS_MIRRORONCE",
183 "D3DTADDRESS_FORCE_DWORD",
186 D3DCULL = Enum("D3DCULL", [
190 "D3DCULL_FORCE_DWORD",
193 D3DCMPFUNC = Enum("D3DCMPFUNC", [
200 "D3DCMP_GREATEREQUAL",
202 "D3DCMP_FORCE_DWORD",
205 D3DSTENCILOP = Enum("D3DSTENCILOP", [
208 "D3DSTENCILOP_REPLACE",
209 "D3DSTENCILOP_INCRSAT",
210 "D3DSTENCILOP_DECRSAT",
211 "D3DSTENCILOP_INVERT",
214 "D3DSTENCILOP_FORCE_DWORD",
217 D3DFOGMODE = Enum("D3DFOGMODE", [
222 "D3DFOG_FORCE_DWORD",
225 D3DZBUFFERTYPE = Enum("D3DZBUFFERTYPE", [
232 D3DPRIMITIVETYPE = Enum("D3DPRIMITIVETYPE", [
236 "D3DPT_TRIANGLELIST",
237 "D3DPT_TRIANGLESTRIP",
242 D3DTRANSFORMSTATETYPE = Enum("D3DTRANSFORMSTATETYPE", [
256 D3DTS = Flags(DWORD, [
263 D3DRENDERSTATETYPE = Enum("D3DRENDERSTATETYPE", [
268 "D3DRS_ZWRITEENABLE",
269 "D3DRS_ALPHATESTENABLE",
277 "D3DRS_DITHERENABLE",
278 "D3DRS_ALPHABLENDENABLE",
280 "D3DRS_SPECULARENABLE",
283 "D3DRS_FOGTABLEMODE",
287 "D3DRS_EDGEANTIALIAS",
289 "D3DRS_RANGEFOGENABLE",
290 "D3DRS_STENCILENABLE",
292 "D3DRS_STENCILZFAIL",
297 "D3DRS_STENCILWRITEMASK",
298 "D3DRS_TEXTUREFACTOR",
310 "D3DRS_FOGVERTEXMODE",
313 "D3DRS_NORMALIZENORMALS",
314 "D3DRS_DIFFUSEMATERIALSOURCE",
315 "D3DRS_SPECULARMATERIALSOURCE",
316 "D3DRS_AMBIENTMATERIALSOURCE",
317 "D3DRS_EMISSIVEMATERIALSOURCE",
319 "D3DRS_CLIPPLANEENABLE",
320 "D3DRS_SOFTWAREVERTEXPROCESSING",
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",
338 "D3DRS_POSITIONORDER",
343 D3DMATERIALCOLORSOURCE = Enum("D3DMATERIALCOLORSOURCE", [
347 "D3DMCS_FORCE_DWORD",
350 D3DWRAP = Flags(DWORD, [
356 D3DWRAPCOORD = Flags(DWORD, [
363 D3DCOLORWRITEENABLE = Flags(DWORD, [
364 "D3DCOLORWRITEENABLE_RED",
365 "D3DCOLORWRITEENABLE_GREEN",
366 "D3DCOLORWRITEENABLE_BLUE",
367 "D3DCOLORWRITEENABLE_ALPHA",
370 D3DTEXTURESTAGESTATETYPE = Enum("D3DTEXTURESTAGESTATETYPE", [
377 "D3DTSS_BUMPENVMAT00",
378 "D3DTSS_BUMPENVMAT01",
379 "D3DTSS_BUMPENVMAT10",
380 "D3DTSS_BUMPENVMAT11",
381 "D3DTSS_TEXCOORDINDEX",
384 "D3DTSS_BORDERCOLOR",
388 "D3DTSS_MIPMAPLODBIAS",
389 "D3DTSS_MAXMIPLEVEL",
390 "D3DTSS_MAXANISOTROPY",
391 "D3DTSS_BUMPENVLSCALE",
392 "D3DTSS_BUMPENVLOFFSET",
393 "D3DTSS_TEXTURETRANSFORMFLAGS",
398 "D3DTSS_FORCE_DWORD",
401 D3DTSS = Flags(DWORD, [
402 "D3DTSS_TCI_PASSTHRU",
403 "D3DTSS_TCI_CAMERASPACENORMAL",
404 "D3DTSS_TCI_CAMERASPACEPOSITION",
405 "D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR",
408 D3DTEXTUREOP = Enum("D3DTEXTUREOP", [
417 "D3DTOP_ADDSIGNED2X",
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",
431 "D3DTOP_BUMPENVMAPLUMINANCE",
432 "D3DTOP_DOTPRODUCT3",
433 "D3DTOP_MULTIPLYADD",
435 "D3DTOP_FORCE_DWORD",
438 D3DTA = Flags(DWORD, [
447 "D3DTA_ALPHAREPLICATE",
450 D3DTEXTUREFILTERTYPE = Enum("D3DTEXTUREFILTERTYPE", [
454 "D3DTEXF_ANISOTROPIC",
456 "D3DTEXF_GAUSSIANCUBIC",
457 "D3DTEXF_FORCE_DWORD",
460 D3DPV = Flags(DWORD, [
461 "D3DPV_DONOTCOPYDATA",
464 D3DFVF = Flags(DWORD, [
466 "D3DFVF_POSITION_MASK",
478 "D3DFVF_TEXCOUNT_MASK",
479 "D3DFVF_TEXCOUNT_SHIFT",
489 "D3DFVF_LASTBETA_UBYTE4",
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)",
509 D3DVSD_TOKENTYPE = Enum("D3DVSD_TOKENTYPE", [
511 "D3DVSD_TOKEN_STREAM",
512 "D3DVSD_TOKEN_STREAMDATA",
513 "D3DVSD_TOKEN_TESSELLATOR",
514 "D3DVSD_TOKEN_CONSTMEM",
517 "D3DVSD_FORCE_DWORD",
520 D3DVSDT = Flags(DWORD, [
530 "D3DVSDE_BLENDWEIGHT",
531 "D3DVSDE_BLENDINDICES",
550 D3DSHADER_INSTRUCTION_OPCODE_TYPE = Enum("D3DSHADER_INSTRUCTION_OPCODE_TYPE", [
587 "D3DSIO_TEXM3x3DIFF",
588 "D3DSIO_TEXM3x3SPEC",
589 "D3DSIO_TEXM3x3VSPEC",
596 "D3DSIO_TEXM3x2DEPTH",
605 "D3DSIO_FORCE_DWORD",
608 D3DSP = Flags(DWORD, [
613 "D3DSP_WRITEMASK_ALL",
616 D3DSHADER_PARAM_DSTMOD_TYPE = Enum("D3DSHADER_PARAM_DSTMOD_TYPE", [
619 "D3DSPDM_FORCE_DWORD",
622 D3DSHADER_PARAM_REGISTER_TYPE = Enum("D3DSHADER_PARAM_REGISTER_TYPE", [
626 "D3DSPR_ADDR|D3DSPR_TEXTURE",
630 "D3DSPR_FORCE_DWORD",
633 D3DVS_RASTOUT_OFFSETS = Enum("D3DVS_RASTOUT_OFFSETS", [
637 "D3DSRO_FORCE_DWORD",
640 D3DVS_ADDRESSMODE_TYPE = Enum("D3DVS_ADDRESSMODE_TYPE", [
641 "D3DVS_ADDRMODE_ABSOLUTE",
642 "D3DVS_ADDRMODE_RELATIVE",
643 "D3DVS_ADDRMODE_FORCE_DWORD",
646 D3DVS = Flags(DWORD, [
666 D3DSP = Flags(DWORD, [
668 "D3DSP_REPLICATERED",
669 "D3DSP_REPLICATEGREEN",
670 "D3DSP_REPLICATEBLUE",
671 "D3DSP_REPLICATEALPHA",
674 D3DSHADER_PARAM_SRCMOD_TYPE = Enum("D3DSHADER_PARAM_SRCMOD_TYPE", [
686 "D3DSPSM_FORCE_DWORD",
689 D3DBASISTYPE = Enum("D3DBASISTYPE", [
692 "D3DBASIS_INTERPOLATE",
693 "D3DBASIS_FORCE_DWORD",
696 D3DORDERTYPE = Enum("D3DORDERTYPE", [
698 "D3DORDER_QUADRATIC",
701 "D3DORDER_FORCE_DWORD",
704 D3DPATCHEDGESTYLE = Enum("D3DPATCHEDGESTYLE", [
705 "D3DPATCHEDGE_DISCRETE",
706 "D3DPATCHEDGE_CONTINUOUS",
707 "D3DPATCHEDGE_FORCE_DWORD",
710 D3DSTATEBLOCKTYPE = Enum("D3DSTATEBLOCKTYPE", [
713 "D3DSBT_VERTEXSTATE",
714 "D3DSBT_FORCE_DWORD",
717 D3DVERTEXBLENDFLAGS = Enum("D3DVERTEXBLENDFLAGS", [
724 "D3DVBF_FORCE_DWORD",
727 D3DTEXTURETRANSFORMFLAGS = Enum("D3DTEXTURETRANSFORMFLAGS", [
734 "D3DTTFF_FORCE_DWORD",
737 D3DDEVTYPE = Enum("D3DDEVTYPE", [
741 "D3DDEVTYPE_FORCE_DWORD",
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",
764 D3DFORMAT = Enum("D3DFORMAT", [
777 "D3DFMT_A2B10G10R10",
790 "D3DFMT_A2W10V10U10",
798 "D3DFMT_D16_LOCKABLE",
808 "D3DFMT_FORCE_DWORD",
811 D3DDISPLAYMODE = Struct("D3DDISPLAYMODE", [
814 (UINT, "RefreshRate"),
815 (D3DFORMAT, "Format"),
818 D3DDEVICE_CREATION_PARAMETERS = Struct("D3DDEVICE_CREATION_PARAMETERS", [
819 (UINT, "AdapterOrdinal"),
820 (D3DDEVTYPE, "DeviceType"),
821 (HWND, "hFocusWindow"),
822 (DWORD, "BehaviorFlags"),
825 D3DSWAPEFFECT = Enum("D3DSWAPEFFECT", [
826 "D3DSWAPEFFECT_DISCARD",
827 "D3DSWAPEFFECT_FLIP",
828 "D3DSWAPEFFECT_COPY",
829 "D3DSWAPEFFECT_COPY_VSYNC",
830 "D3DSWAPEFFECT_FORCE_DWORD",
833 D3DPOOL = Enum("D3DPOOL", [
838 "D3DPOOL_FORCE_DWORD",
841 D3DPRESENT = Flags(DWORD, [
842 "D3DPRESENT_RATE_DEFAULT",
843 "D3DPRESENT_RATE_UNLIMITED",
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"),
855 (BOOL, "EnableAutoDepthStencil"),
856 (D3DFORMAT, "AutoDepthStencilFormat"),
858 (UINT, "FullScreen_RefreshRateInHz"),
859 (UINT, "FullScreen_PresentationInterval"),
862 D3DPRESENTFLAG = Flags(DWORD, [
863 "D3DPRESENTFLAG_LOCKABLE_BACKBUFFER",
866 D3DGAMMARAMP = Struct("D3DGAMMARAMP", [
868 (WORD, "green[256]"),
872 D3DBACKBUFFER_TYPE = Enum("D3DBACKBUFFER_TYPE", [
873 "D3DBACKBUFFER_TYPE_MONO",
874 "D3DBACKBUFFER_TYPE_LEFT",
875 "D3DBACKBUFFER_TYPE_RIGHT",
876 "D3DBACKBUFFER_TYPE_FORCE_DWORD",
879 D3DRESOURCETYPE = Enum("D3DRESOURCETYPE", [
883 "D3DRTYPE_VOLUMETEXTURE",
884 "D3DRTYPE_CUBETEXTURE",
885 "D3DRTYPE_VERTEXBUFFER",
886 "D3DRTYPE_INDEXBUFFER",
887 "D3DRTYPE_FORCE_DWORD",
890 D3DUSAGE = Flags(DWORD, [
891 "D3DUSAGE_RENDERTARGET",
892 "D3DUSAGE_DEPTHSTENCIL",
893 "D3DUSAGE_WRITEONLY",
894 "D3DUSAGE_SOFTWAREPROCESSING",
895 "D3DUSAGE_DONOTCLIP",
897 "D3DUSAGE_RTPATCHES",
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",
912 D3DLOCK = Flags(DWORD, [
915 "D3DLOCK_NOOVERWRITE",
917 "D3DLOCK_NO_DIRTY_UPDATE",
920 D3DVERTEXBUFFER_DESC = Struct("D3DVERTEXBUFFER_DESC", [
921 (D3DFORMAT, "Format"),
922 (D3DRESOURCETYPE, "Type"),
929 D3DINDEXBUFFER_DESC = Struct("D3DINDEXBUFFER_DESC", [
930 (D3DFORMAT, "Format"),
931 (D3DRESOURCETYPE, "Type"),
937 D3DSURFACE_DESC = Struct("D3DSURFACE_DESC", [
938 (D3DFORMAT, "Format"),
939 (D3DRESOURCETYPE, "Type"),
943 (D3DMULTISAMPLE_TYPE, "MultiSampleType"),
948 D3DVOLUME_DESC = Struct("D3DVOLUME_DESC", [
949 (D3DFORMAT, "Format"),
950 (D3DRESOURCETYPE, "Type"),
959 D3DLOCKED_RECT = Struct("D3DLOCKED_RECT", [
964 D3DBOX = Struct("D3DBOX", [
973 D3DLOCKED_BOX = Struct("D3DLOCKED_BOX", [
979 D3DRANGE = Struct("D3DRANGE", [
984 D3DRECTPATCH_INFO = Struct("D3DRECTPATCH_INFO", [
985 (UINT, "StartVertexOffsetWidth"),
986 (UINT, "StartVertexOffsetHeight"),
990 (D3DBASISTYPE, "Basis"),
991 (D3DORDERTYPE, "Order"),
994 D3DTRIPATCH_INFO = Struct("D3DTRIPATCH_INFO", [
995 (UINT, "StartVertexOffset"),
996 (UINT, "NumVertices"),
997 (D3DBASISTYPE, "Basis"),
998 (D3DORDERTYPE, "Order"),
1001 D3DADAPTER_IDENTIFIER8 = Struct("D3DADAPTER_IDENTIFIER8", [
1003 (String, "Description"),
1004 (LARGE_INTEGER, "DriverVersion"),
1005 (DWORD, "VendorId"),
1006 (DWORD, "DeviceId"),
1007 (DWORD, "SubSysId"),
1008 (DWORD, "Revision"),
1009 (GUID, "DeviceIdentifier"),
1010 (DWORD, "WHQLLevel"),
1013 D3DRASTER_STATUS = Struct("D3DRASTER_STATUS", [
1018 D3DDEBUGMONITORTOKENS = Enum("D3DDEBUGMONITORTOKENS", [
1021 "D3DDMT_FORCE_DWORD",
1024 D3DDEVINFOID = Flags(DWORD, [
1025 "D3DDEVINFOID_RESOURCEMANAGER",
1026 "D3DDEVINFOID_VERTEXSTATS",
1029 D3DRESOURCESTATS = Struct("D3DRESOURCESTATS", [
1030 (BOOL, "bThrashing"),
1031 (DWORD, "ApproxBytesDownloaded"),
1032 (DWORD, "NumEvicts"),
1033 (DWORD, "NumVidCreates"),
1036 (DWORD, "NumUsedInVidMem"),
1037 (DWORD, "WorkingSet"),
1038 (DWORD, "WorkingSetBytes"),
1039 (DWORD, "TotalManaged"),
1040 (DWORD, "TotalBytes"),
1043 D3DDEVINFO_RESOURCEMANAGER = Struct("D3DDEVINFO_RESOURCEMANAGER", [
1044 (D3DRESOURCESTATS, "stats[D3DRTYPECOUNT]"),
1047 D3DDEVINFO_D3DVERTEXSTATS = Struct("D3DDEVINFO_D3DVERTEXSTATS", [
1048 (DWORD, "NumRenderedTriangles"),
1049 (DWORD, "NumExtraClippingTriangles"),