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 D3DVIEWPORT9 = Struct("D3DVIEWPORT9", [
65 D3DCLIP = Flags(DWORD, [
74 D3DCS = Flags(DWORD, [
90 D3DCLIPSTATUS9 = Struct("D3DCLIPSTATUS9", [
92 (DWORD, "ClipIntersection"),
95 D3DMATERIAL9 = Struct("D3DMATERIAL9", [
96 (D3DCOLORVALUE, "Diffuse"),
97 (D3DCOLORVALUE, "Ambient"),
98 (D3DCOLORVALUE, "Specular"),
99 (D3DCOLORVALUE, "Emissive"),
103 D3DLIGHTTYPE = Enum("D3DLIGHTTYPE", [
106 "D3DLIGHT_DIRECTIONAL",
107 "D3DLIGHT_FORCE_DWORD",
110 D3DLIGHT9 = Struct("D3DLIGHT9", [
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 D3DBLEND = Enum("D3DBLEND", [
150 "D3DBLEND_INVSRCCOLOR",
152 "D3DBLEND_INVSRCALPHA",
153 "D3DBLEND_DESTALPHA",
154 "D3DBLEND_INVDESTALPHA",
155 "D3DBLEND_DESTCOLOR",
156 "D3DBLEND_INVDESTCOLOR",
157 "D3DBLEND_SRCALPHASAT",
158 "D3DBLEND_BOTHSRCALPHA",
159 "D3DBLEND_BOTHINVSRCALPHA",
160 "D3DBLEND_BLENDFACTOR",
161 "D3DBLEND_INVBLENDFACTOR",
162 "D3DBLEND_SRCCOLOR2",
163 "D3DBLEND_INVSRCCOLOR2",
164 "D3DBLEND_FORCE_DWORD",
167 D3DBLENDOP = Enum("D3DBLENDOP", [
169 "D3DBLENDOP_SUBTRACT",
170 "D3DBLENDOP_REVSUBTRACT",
173 "D3DBLENDOP_FORCE_DWORD",
176 D3DTEXTUREADDRESS = Enum("D3DTEXTUREADDRESS", [
178 "D3DTADDRESS_MIRROR",
180 "D3DTADDRESS_BORDER",
181 "D3DTADDRESS_MIRRORONCE",
182 "D3DTADDRESS_FORCE_DWORD",
185 D3DCULL = Enum("D3DCULL", [
189 "D3DCULL_FORCE_DWORD",
192 D3DCMPFUNC = Enum("D3DCMPFUNC", [
199 "D3DCMP_GREATEREQUAL",
201 "D3DCMP_FORCE_DWORD",
204 D3DSTENCILOP = Enum("D3DSTENCILOP", [
207 "D3DSTENCILOP_REPLACE",
208 "D3DSTENCILOP_INCRSAT",
209 "D3DSTENCILOP_DECRSAT",
210 "D3DSTENCILOP_INVERT",
213 "D3DSTENCILOP_FORCE_DWORD",
216 D3DFOGMODE = Enum("D3DFOGMODE", [
221 "D3DFOG_FORCE_DWORD",
224 D3DZBUFFERTYPE = Enum("D3DZBUFFERTYPE", [
231 D3DPRIMITIVETYPE = Enum("D3DPRIMITIVETYPE", [
235 "D3DPT_TRIANGLELIST",
236 "D3DPT_TRIANGLESTRIP",
241 D3DTRANSFORMSTATETYPE = Enum("D3DTRANSFORMSTATETYPE", [
255 D3DTS = Flags(DWORD, [
262 D3DRENDERSTATETYPE = Enum("D3DRENDERSTATETYPE", [
266 "D3DRS_ZWRITEENABLE",
267 "D3DRS_ALPHATESTENABLE",
275 "D3DRS_DITHERENABLE",
276 "D3DRS_ALPHABLENDENABLE",
278 "D3DRS_SPECULARENABLE",
280 "D3DRS_FOGTABLEMODE",
284 "D3DRS_RANGEFOGENABLE",
285 "D3DRS_STENCILENABLE",
287 "D3DRS_STENCILZFAIL",
292 "D3DRS_STENCILWRITEMASK",
293 "D3DRS_TEXTUREFACTOR",
305 "D3DRS_FOGVERTEXMODE",
308 "D3DRS_NORMALIZENORMALS",
309 "D3DRS_DIFFUSEMATERIALSOURCE",
310 "D3DRS_SPECULARMATERIALSOURCE",
311 "D3DRS_AMBIENTMATERIALSOURCE",
312 "D3DRS_EMISSIVEMATERIALSOURCE",
314 "D3DRS_CLIPPLANEENABLE",
316 "D3DRS_POINTSIZE_MIN",
317 "D3DRS_POINTSPRITEENABLE",
318 "D3DRS_POINTSCALEENABLE",
319 "D3DRS_POINTSCALE_A",
320 "D3DRS_POINTSCALE_B",
321 "D3DRS_POINTSCALE_C",
322 "D3DRS_MULTISAMPLEANTIALIAS",
323 "D3DRS_MULTISAMPLEMASK",
324 "D3DRS_PATCHEDGESTYLE",
325 "D3DRS_DEBUGMONITORTOKEN",
326 "D3DRS_POINTSIZE_MAX",
327 "D3DRS_INDEXEDVERTEXBLENDENABLE",
328 "D3DRS_COLORWRITEENABLE",
331 "D3DRS_POSITIONDEGREE",
332 "D3DRS_NORMALDEGREE",
333 "D3DRS_SCISSORTESTENABLE",
334 "D3DRS_SLOPESCALEDEPTHBIAS",
335 "D3DRS_ANTIALIASEDLINEENABLE",
336 "D3DRS_MINTESSELLATIONLEVEL",
337 "D3DRS_MAXTESSELLATIONLEVEL",
338 "D3DRS_ADAPTIVETESS_X",
339 "D3DRS_ADAPTIVETESS_Y",
340 "D3DRS_ADAPTIVETESS_Z",
341 "D3DRS_ADAPTIVETESS_W",
342 "D3DRS_ENABLEADAPTIVETESSELLATION",
343 "D3DRS_TWOSIDEDSTENCILMODE",
344 "D3DRS_CCW_STENCILFAIL",
345 "D3DRS_CCW_STENCILZFAIL",
346 "D3DRS_CCW_STENCILPASS",
347 "D3DRS_CCW_STENCILFUNC",
348 "D3DRS_COLORWRITEENABLE1",
349 "D3DRS_COLORWRITEENABLE2",
350 "D3DRS_COLORWRITEENABLE3",
352 "D3DRS_SRGBWRITEENABLE",
362 "D3DRS_SEPARATEALPHABLENDENABLE",
363 "D3DRS_SRCBLENDALPHA",
364 "D3DRS_DESTBLENDALPHA",
365 "D3DRS_BLENDOPALPHA",
369 D3DMATERIALCOLORSOURCE = Enum("D3DMATERIALCOLORSOURCE", [
373 "D3DMCS_FORCE_DWORD",
376 D3DWRAP = Flags(DWORD, [
382 D3DWRAPCOORD = Flags(DWORD, [
389 D3DCOLORWRITEENABLE = Flags(DWORD, [
390 "D3DCOLORWRITEENABLE_RED",
391 "D3DCOLORWRITEENABLE_GREEN",
392 "D3DCOLORWRITEENABLE_BLUE",
393 "D3DCOLORWRITEENABLE_ALPHA",
396 D3DTEXTURESTAGESTATETYPE = Enum("D3DTEXTURESTAGESTATETYPE", [
403 "D3DTSS_BUMPENVMAT00",
404 "D3DTSS_BUMPENVMAT01",
405 "D3DTSS_BUMPENVMAT10",
406 "D3DTSS_BUMPENVMAT11",
407 "D3DTSS_TEXCOORDINDEX",
408 "D3DTSS_BUMPENVLSCALE",
409 "D3DTSS_BUMPENVLOFFSET",
410 "D3DTSS_TEXTURETRANSFORMFLAGS",
415 "D3DTSS_FORCE_DWORD",
418 D3DSAMPLERSTATETYPE = Enum("D3DSAMPLERSTATETYPE", [
423 "D3DSAMP_BORDERCOLOR",
427 "D3DSAMP_MIPMAPLODBIAS",
428 "D3DSAMP_MAXMIPLEVEL",
429 "D3DSAMP_MAXANISOTROPY",
430 "D3DSAMP_SRGBTEXTURE",
431 "D3DSAMP_ELEMENTINDEX",
432 "D3DSAMP_DMAPOFFSET",
433 "D3DSAMP_FORCE_DWORD",
436 D3DTSS = Flags(DWORD, [
437 "D3DTSS_TCI_PASSTHRU",
438 "D3DTSS_TCI_CAMERASPACENORMAL",
439 "D3DTSS_TCI_CAMERASPACEPOSITION",
440 "D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR",
441 "D3DTSS_TCI_SPHEREMAP",
444 D3DTEXTUREOP = Enum("D3DTEXTUREOP", [
453 "D3DTOP_ADDSIGNED2X",
456 "D3DTOP_BLENDDIFFUSEALPHA",
457 "D3DTOP_BLENDTEXTUREALPHA",
458 "D3DTOP_BLENDFACTORALPHA",
459 "D3DTOP_BLENDTEXTUREALPHAPM",
460 "D3DTOP_BLENDCURRENTALPHA",
461 "D3DTOP_PREMODULATE",
462 "D3DTOP_MODULATEALPHA_ADDCOLOR",
463 "D3DTOP_MODULATECOLOR_ADDALPHA",
464 "D3DTOP_MODULATEINVALPHA_ADDCOLOR",
465 "D3DTOP_MODULATEINVCOLOR_ADDALPHA",
467 "D3DTOP_BUMPENVMAPLUMINANCE",
468 "D3DTOP_DOTPRODUCT3",
469 "D3DTOP_MULTIPLYADD",
471 "D3DTOP_FORCE_DWORD",
474 D3DTA = Flags(DWORD, [
484 "D3DTA_ALPHAREPLICATE",
487 D3DTEXTUREFILTERTYPE = Enum("D3DTEXTUREFILTERTYPE", [
491 "D3DTEXF_ANISOTROPIC",
492 "D3DTEXF_PYRAMIDALQUAD",
493 "D3DTEXF_GAUSSIANQUAD",
494 "D3DTEXF_CONVOLUTIONMONO",
495 "D3DTEXF_FORCE_DWORD",
498 D3DPV = Flags(DWORD, [
499 "D3DPV_DONOTCOPYDATA",
502 D3DFVF = Flags(DWORD, [
504 "D3DFVF_POSITION_MASK",
517 "D3DFVF_TEXCOUNT_MASK",
518 "D3DFVF_TEXCOUNT_SHIFT",
528 "D3DFVF_LASTBETA_UBYTE4",
529 "D3DFVF_LASTBETA_D3DCOLOR",
531 "D3DFVF_TEXCOORDSIZE3(0)",
532 "D3DFVF_TEXCOORDSIZE2(0)",
533 "D3DFVF_TEXCOORDSIZE4(0)",
534 "D3DFVF_TEXCOORDSIZE1(0)",
535 "D3DFVF_TEXCOORDSIZE3(1)",
536 "D3DFVF_TEXCOORDSIZE2(1)",
537 "D3DFVF_TEXCOORDSIZE4(1)",
538 "D3DFVF_TEXCOORDSIZE1(1)",
539 "D3DFVF_TEXCOORDSIZE3(2)",
540 "D3DFVF_TEXCOORDSIZE2(2)",
541 "D3DFVF_TEXCOORDSIZE4(2)",
542 "D3DFVF_TEXCOORDSIZE1(2)",
543 "D3DFVF_TEXCOORDSIZE3(3)",
544 "D3DFVF_TEXCOORDSIZE2(3)",
545 "D3DFVF_TEXCOORDSIZE4(3)",
546 "D3DFVF_TEXCOORDSIZE1(3)",
549 D3DDECLUSAGE = Enum("D3DDECLUSAGE", [
550 "D3DDECLUSAGE_POSITION",
551 "D3DDECLUSAGE_BLENDWEIGHT",
552 "D3DDECLUSAGE_BLENDINDICES",
553 "D3DDECLUSAGE_NORMAL",
554 "D3DDECLUSAGE_PSIZE",
555 "D3DDECLUSAGE_TEXCOORD",
556 "D3DDECLUSAGE_TANGENT",
557 "D3DDECLUSAGE_BINORMAL",
558 "D3DDECLUSAGE_TESSFACTOR",
559 "D3DDECLUSAGE_POSITIONT",
560 "D3DDECLUSAGE_COLOR",
562 "D3DDECLUSAGE_DEPTH",
563 "D3DDECLUSAGE_SAMPLE",
566 D3DDECLMETHOD = Enum("D3DDECLMETHOD", [
567 "D3DDECLMETHOD_DEFAULT",
568 "D3DDECLMETHOD_PARTIALU",
569 "D3DDECLMETHOD_PARTIALV",
570 "D3DDECLMETHOD_CROSSUV",
572 "D3DDECLMETHOD_LOOKUP",
573 "D3DDECLMETHOD_LOOKUPPRESAMPLED",
576 D3DDECLTYPE = Enum("D3DDECLTYPE", [
577 "D3DDECLTYPE_FLOAT1",
578 "D3DDECLTYPE_FLOAT2",
579 "D3DDECLTYPE_FLOAT3",
580 "D3DDECLTYPE_FLOAT4",
581 "D3DDECLTYPE_D3DCOLOR",
582 "D3DDECLTYPE_UBYTE4",
583 "D3DDECLTYPE_SHORT2",
584 "D3DDECLTYPE_SHORT4",
585 "D3DDECLTYPE_UBYTE4N",
586 "D3DDECLTYPE_SHORT2N",
587 "D3DDECLTYPE_SHORT4N",
588 "D3DDECLTYPE_USHORT2N",
589 "D3DDECLTYPE_USHORT4N",
592 "D3DDECLTYPE_FLOAT16_2",
593 "D3DDECLTYPE_FLOAT16_4",
594 "D3DDECLTYPE_UNUSED",
597 D3DVERTEXELEMENT9 = Struct("D3DVERTEXELEMENT9", [
603 (BYTE, "UsageIndex"),
606 D3DSHADER_INSTRUCTION_OPCODE_TYPE = Enum("D3DSHADER_INSTRUCTION_OPCODE_TYPE", [
668 "D3DSIO_TEXM3x3SPEC",
669 "D3DSIO_TEXM3x3VSPEC",
676 "D3DSIO_TEXM3x2DEPTH",
692 "D3DSIO_FORCE_DWORD",
695 D3DSHADER_COMPARISON = Enum("D3DSHADER_COMPARISON", [
706 D3DSAMPLER_TEXTURE_TYPE = Enum("D3DSAMPLER_TEXTURE_TYPE", [
711 "D3DSTT_FORCE_DWORD",
714 D3DSP = Flags(DWORD, [
719 "D3DSP_WRITEMASK_ALL",
722 D3DSHADER_PARAM_DSTMOD_TYPE = Flags(DWORD, [
725 "D3DSPDM_PARTIALPRECISION",
726 "D3DSPDM_MSAMPCENTROID",
729 D3DSHADER_PARAM_REGISTER_TYPE = Enum("D3DSHADER_PARAM_REGISTER_TYPE", [
733 "D3DSPR_ADDR|D3DSPR_TEXTURE",
736 "D3DSPR_TEXCRDOUT|D3DSPR_OUTPUT",
746 "D3DSPR_TEMPFLOAT16",
750 "D3DSPR_FORCE_DWORD",
753 D3DSHADER_MISCTYPE_OFFSETS = Enum("D3DSHADER_MISCTYPE_OFFSETS", [
758 D3DVS_RASTOUT_OFFSETS = Enum("D3DVS_RASTOUT_OFFSETS", [
762 "D3DSRO_FORCE_DWORD",
765 D3DVS_ADDRESSMODE_TYPE = Enum("D3DVS_ADDRESSMODE_TYPE", [
766 "D3DVS_ADDRMODE_ABSOLUTE",
767 "D3DVS_ADDRMODE_RELATIVE",
768 "D3DVS_ADDRMODE_FORCE_DWORD",
771 D3DSHADER_ADDRESSMODE_TYPE = Enum("D3DSHADER_ADDRESSMODE_TYPE", [
772 "D3DSHADER_ADDRMODE_ABSOLUTE",
773 "D3DSHADER_ADDRMODE_RELATIVE",
774 "D3DSHADER_ADDRMODE_FORCE_DWORD",
777 D3DVS = Flags(DWORD, [
797 D3DSP = Flags(DWORD, [
799 "D3DSP_REPLICATERED",
800 "D3DSP_REPLICATEGREEN",
801 "D3DSP_REPLICATEBLUE",
802 "D3DSP_REPLICATEALPHA",
805 D3DSHADER_PARAM_SRCMOD_TYPE = Enum("D3DSHADER_PARAM_SRCMOD_TYPE", [
820 "D3DSPSM_FORCE_DWORD",
823 D3DBASISTYPE = Enum("D3DBASISTYPE", [
826 "D3DBASIS_CATMULL_ROM",
827 "D3DBASIS_FORCE_DWORD",
830 D3DDEGREETYPE = Enum("D3DDEGREETYPE", [
832 "D3DDEGREE_QUADRATIC",
835 "D3DDEGREE_FORCE_DWORD",
838 D3DPATCHEDGESTYLE = Enum("D3DPATCHEDGESTYLE", [
839 "D3DPATCHEDGE_DISCRETE",
840 "D3DPATCHEDGE_CONTINUOUS",
841 "D3DPATCHEDGE_FORCE_DWORD",
844 D3DSTATEBLOCKTYPE = Enum("D3DSTATEBLOCKTYPE", [
847 "D3DSBT_VERTEXSTATE",
848 "D3DSBT_FORCE_DWORD",
851 D3DVERTEXBLENDFLAGS = Enum("D3DVERTEXBLENDFLAGS", [
858 "D3DVBF_FORCE_DWORD",
861 D3DTEXTURETRANSFORMFLAGS = Enum("D3DTEXTURETRANSFORMFLAGS", [
868 "D3DTTFF_FORCE_DWORD",
871 D3DDEVTYPE = Enum("D3DDEVTYPE", [
875 "D3DDEVTYPE_NULLREF",
876 "D3DDEVTYPE_FORCE_DWORD",
879 D3DMULTISAMPLE_TYPE = Enum("D3DMULTISAMPLE_TYPE", [
880 "D3DMULTISAMPLE_NONE",
881 "D3DMULTISAMPLE_NONMASKABLE",
882 "D3DMULTISAMPLE_2_SAMPLES",
883 "D3DMULTISAMPLE_3_SAMPLES",
884 "D3DMULTISAMPLE_4_SAMPLES",
885 "D3DMULTISAMPLE_5_SAMPLES",
886 "D3DMULTISAMPLE_6_SAMPLES",
887 "D3DMULTISAMPLE_7_SAMPLES",
888 "D3DMULTISAMPLE_8_SAMPLES",
889 "D3DMULTISAMPLE_9_SAMPLES",
890 "D3DMULTISAMPLE_10_SAMPLES",
891 "D3DMULTISAMPLE_11_SAMPLES",
892 "D3DMULTISAMPLE_12_SAMPLES",
893 "D3DMULTISAMPLE_13_SAMPLES",
894 "D3DMULTISAMPLE_14_SAMPLES",
895 "D3DMULTISAMPLE_15_SAMPLES",
896 "D3DMULTISAMPLE_16_SAMPLES",
897 "D3DMULTISAMPLE_FORCE_DWORD",
900 D3DFORMAT = Enum("D3DFORMAT", [
913 "D3DFMT_A2B10G10R10",
917 "D3DFMT_A2R10G10B10",
918 "D3DFMT_A16B16G16R16",
929 "D3DFMT_A2W10V10U10",
939 "D3DFMT_D16_LOCKABLE",
946 "D3DFMT_D32F_LOCKABLE",
948 "D3DFMT_D32_LOCKABLE",
949 "D3DFMT_S8_LOCKABLE",
954 "D3DFMT_Q16W16V16U16",
955 "D3DFMT_MULTI2_ARGB8",
958 "D3DFMT_A16B16G16R16F",
961 "D3DFMT_A32B32G32R32F",
964 "D3DFMT_BINARYBUFFER",
965 "D3DFMT_FORCE_DWORD",
968 D3DDISPLAYMODE = Struct("D3DDISPLAYMODE", [
971 (UINT, "RefreshRate"),
972 (D3DFORMAT, "Format"),
975 D3DDEVICE_CREATION_PARAMETERS = Struct("D3DDEVICE_CREATION_PARAMETERS", [
976 (UINT, "AdapterOrdinal"),
977 (D3DDEVTYPE, "DeviceType"),
978 (HWND, "hFocusWindow"),
979 (DWORD, "BehaviorFlags"),
982 D3DSWAPEFFECT = Enum("D3DSWAPEFFECT", [
983 "D3DSWAPEFFECT_DISCARD",
984 "D3DSWAPEFFECT_FLIP",
985 "D3DSWAPEFFECT_COPY",
986 "D3DSWAPEFFECT_FORCE_DWORD",
989 D3DPOOL = Enum("D3DPOOL", [
994 "D3DPOOL_FORCE_DWORD",
997 D3DPRESENT = Flags(DWORD, [
998 "D3DPRESENT_RATE_DEFAULT",
1001 D3DPRESENT_PARAMETERS = Struct("D3DPRESENT_PARAMETERS", [
1002 (UINT, "BackBufferWidth"),
1003 (UINT, "BackBufferHeight"),
1004 (D3DFORMAT, "BackBufferFormat"),
1005 (UINT, "BackBufferCount"),
1006 (D3DMULTISAMPLE_TYPE, "MultiSampleType"),
1007 (DWORD, "MultiSampleQuality"),
1008 (D3DSWAPEFFECT, "SwapEffect"),
1009 (HWND, "hDeviceWindow"),
1011 (BOOL, "EnableAutoDepthStencil"),
1012 (D3DFORMAT, "AutoDepthStencilFormat"),
1014 (UINT, "FullScreen_RefreshRateInHz"),
1015 (UINT, "PresentationInterval"),
1018 D3DPRESENTFLAG = Flags(DWORD, [
1019 "D3DPRESENTFLAG_LOCKABLE_BACKBUFFER",
1020 "D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL",
1021 "D3DPRESENTFLAG_DEVICECLIP",
1022 "D3DPRESENTFLAG_VIDEO",
1023 "D3DPRESENTFLAG_NOAUTOROTATE",
1024 "D3DPRESENTFLAG_UNPRUNEDMODE",
1027 D3DGAMMARAMP = Struct("D3DGAMMARAMP", [
1029 (WORD, "green[256]"),
1030 (WORD, "blue[256]"),
1033 D3DBACKBUFFER_TYPE = Enum("D3DBACKBUFFER_TYPE", [
1034 "D3DBACKBUFFER_TYPE_MONO",
1035 "D3DBACKBUFFER_TYPE_LEFT",
1036 "D3DBACKBUFFER_TYPE_RIGHT",
1037 "D3DBACKBUFFER_TYPE_FORCE_DWORD",
1040 D3DRESOURCETYPE = Enum("D3DRESOURCETYPE", [
1044 "D3DRTYPE_VOLUMETEXTURE",
1045 "D3DRTYPE_CUBETEXTURE",
1046 "D3DRTYPE_VERTEXBUFFER",
1047 "D3DRTYPE_INDEXBUFFER",
1048 "D3DRTYPE_FORCE_DWORD",
1051 D3DUSAGE = Flags(DWORD, [
1052 "D3DUSAGE_RENDERTARGET",
1053 "D3DUSAGE_DEPTHSTENCIL",
1055 "D3DUSAGE_NONSECURE",
1056 "D3DUSAGE_AUTOGENMIPMAP",
1058 "D3DUSAGE_QUERY_LEGACYBUMPMAP",
1059 "D3DUSAGE_QUERY_SRGBREAD",
1060 "D3DUSAGE_QUERY_FILTER",
1061 "D3DUSAGE_QUERY_SRGBWRITE",
1062 "D3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING",
1063 "D3DUSAGE_QUERY_VERTEXTEXTURE",
1064 "D3DUSAGE_QUERY_WRAPANDMIP",
1065 "D3DUSAGE_WRITEONLY",
1066 "D3DUSAGE_SOFTWAREPROCESSING",
1067 "D3DUSAGE_DONOTCLIP",
1069 "D3DUSAGE_RTPATCHES",
1070 "D3DUSAGE_NPATCHES",
1074 D3DCUBEMAP_FACES = Enum("D3DCUBEMAP_FACES", [
1075 "D3DCUBEMAP_FACE_POSITIVE_X",
1076 "D3DCUBEMAP_FACE_NEGATIVE_X",
1077 "D3DCUBEMAP_FACE_POSITIVE_Y",
1078 "D3DCUBEMAP_FACE_NEGATIVE_Y",
1079 "D3DCUBEMAP_FACE_POSITIVE_Z",
1080 "D3DCUBEMAP_FACE_NEGATIVE_Z",
1081 "D3DCUBEMAP_FACE_FORCE_DWORD",
1084 D3DLOCK = Flags(DWORD, [
1087 "D3DLOCK_NOOVERWRITE",
1088 "D3DLOCK_NOSYSLOCK",
1089 "D3DLOCK_DONOTWAIT",
1090 "D3DLOCK_NO_DIRTY_UPDATE",
1093 D3DVERTEXBUFFER_DESC = Struct("D3DVERTEXBUFFER_DESC", [
1094 (D3DFORMAT, "Format"),
1095 (D3DRESOURCETYPE, "Type"),
1102 D3DINDEXBUFFER_DESC = Struct("D3DINDEXBUFFER_DESC", [
1103 (D3DFORMAT, "Format"),
1104 (D3DRESOURCETYPE, "Type"),
1110 D3DSURFACE_DESC = Struct("D3DSURFACE_DESC", [
1111 (D3DFORMAT, "Format"),
1112 (D3DRESOURCETYPE, "Type"),
1115 (D3DMULTISAMPLE_TYPE, "MultiSampleType"),
1116 (DWORD, "MultiSampleQuality"),
1121 D3DVOLUME_DESC = Struct("D3DVOLUME_DESC", [
1122 (D3DFORMAT, "Format"),
1123 (D3DRESOURCETYPE, "Type"),
1131 D3DLOCKED_RECT = Struct("D3DLOCKED_RECT", [
1133 (Pointer(Void), "pBits"),
1136 D3DBOX = Struct("D3DBOX", [
1145 D3DLOCKED_BOX = Struct("D3DLOCKED_BOX", [
1147 (INT, "SlicePitch"),
1148 (Pointer(Void), "pBits"),
1151 D3DRANGE = Struct("D3DRANGE", [
1156 D3DRECTPATCH_INFO = Struct("D3DRECTPATCH_INFO", [
1157 (UINT, "StartVertexOffsetWidth"),
1158 (UINT, "StartVertexOffsetHeight"),
1162 (D3DBASISTYPE, "Basis"),
1163 (D3DDEGREETYPE, "Degree"),
1166 D3DTRIPATCH_INFO = Struct("D3DTRIPATCH_INFO", [
1167 (UINT, "StartVertexOffset"),
1168 (UINT, "NumVertices"),
1169 (D3DBASISTYPE, "Basis"),
1170 (D3DDEGREETYPE, "Degree"),
1173 D3DADAPTER_IDENTIFIER9 = Struct("D3DADAPTER_IDENTIFIER9", [
1175 (String, "Description"),
1176 (String, "DeviceName"),
1177 (LARGE_INTEGER, "DriverVersion"),
1178 (DWORD, "VendorId"),
1179 (DWORD, "DeviceId"),
1180 (DWORD, "SubSysId"),
1181 (DWORD, "Revision"),
1182 (GUID, "DeviceIdentifier"),
1183 (DWORD, "WHQLLevel"),
1186 D3DRASTER_STATUS = Struct("D3DRASTER_STATUS", [
1191 D3DDEBUGMONITORTOKENS = Enum("D3DDEBUGMONITORTOKENS", [
1194 "D3DDMT_FORCE_DWORD",
1197 D3DQUERYTYPE = Enum("D3DQUERYTYPE", [
1198 "D3DQUERYTYPE_VCACHE",
1199 "D3DQUERYTYPE_RESOURCEMANAGER",
1200 "D3DQUERYTYPE_VERTEXSTATS",
1201 "D3DQUERYTYPE_EVENT",
1202 "D3DQUERYTYPE_OCCLUSION",
1203 "D3DQUERYTYPE_TIMESTAMP",
1204 "D3DQUERYTYPE_TIMESTAMPDISJOINT",
1205 "D3DQUERYTYPE_TIMESTAMPFREQ",
1206 "D3DQUERYTYPE_PIPELINETIMINGS",
1207 "D3DQUERYTYPE_INTERFACETIMINGS",
1208 "D3DQUERYTYPE_VERTEXTIMINGS",
1209 "D3DQUERYTYPE_PIXELTIMINGS",
1210 "D3DQUERYTYPE_BANDWIDTHTIMINGS",
1211 "D3DQUERYTYPE_CACHEUTILIZATION",
1214 D3DISSUE = Flags(DWORD, [
1219 D3DGETDATA = Flags(DWORD, [
1223 D3DRESOURCESTATS = Struct("D3DRESOURCESTATS", [
1224 (BOOL, "bThrashing"),
1225 (DWORD, "ApproxBytesDownloaded"),
1226 (DWORD, "NumEvicts"),
1227 (DWORD, "NumVidCreates"),
1230 (DWORD, "NumUsedInVidMem"),
1231 (DWORD, "WorkingSet"),
1232 (DWORD, "WorkingSetBytes"),
1233 (DWORD, "TotalManaged"),
1234 (DWORD, "TotalBytes"),
1237 D3DDEVINFO_RESOURCEMANAGER = Struct("D3DDEVINFO_RESOURCEMANAGER", [
1238 (D3DRESOURCESTATS, "stats[D3DRTYPECOUNT]"),
1239 (D3DRESOURCESTATS, "stats[8]"),
1242 D3DDEVINFO_D3DVERTEXSTATS = Struct("D3DDEVINFO_D3DVERTEXSTATS", [
1243 (DWORD, "NumRenderedTriangles"),
1244 (DWORD, "NumExtraClippingTriangles"),
1247 D3DDEVINFO_VCACHE = Struct("D3DDEVINFO_VCACHE", [
1249 (DWORD, "OptMethod"),
1250 (DWORD, "CacheSize"),
1251 (DWORD, "MagicNumber"),
1254 D3DDEVINFO_D3D9PIPELINETIMINGS = Struct("D3DDEVINFO_D3D9PIPELINETIMINGS", [
1255 (FLOAT, "VertexProcessingTimePercent"),
1256 (FLOAT, "PixelProcessingTimePercent"),
1257 (FLOAT, "OtherGPUProcessingTimePercent"),
1258 (FLOAT, "GPUIdleTimePercent"),
1261 D3DDEVINFO_D3D9INTERFACETIMINGS = Struct("D3DDEVINFO_D3D9INTERFACETIMINGS", [
1262 (FLOAT, "WaitingForGPUToUseApplicationResourceTimePercent"),
1263 (FLOAT, "WaitingForGPUToAcceptMoreCommandsTimePercent"),
1264 (FLOAT, "WaitingForGPUToStayWithinLatencyTimePercent"),
1265 (FLOAT, "WaitingForGPUExclusiveResourceTimePercent"),
1266 (FLOAT, "WaitingForGPUOtherTimePercent"),
1269 D3DDEVINFO_D3D9STAGETIMINGS = Struct("D3DDEVINFO_D3D9STAGETIMINGS", [
1270 (FLOAT, "MemoryProcessingPercent"),
1271 (FLOAT, "ComputationProcessingPercent"),
1274 D3DDEVINFO_D3D9BANDWIDTHTIMINGS = Struct("D3DDEVINFO_D3D9BANDWIDTHTIMINGS", [
1275 (FLOAT, "MaxBandwidthUtilized"),
1276 (FLOAT, "FrontEndUploadMemoryUtilizedPercent"),
1277 (FLOAT, "VertexRateUtilizedPercent"),
1278 (FLOAT, "TriangleSetupRateUtilizedPercent"),
1279 (FLOAT, "FillRateUtilizedPercent"),
1282 D3DDEVINFO_D3D9CACHEUTILIZATION = Struct("D3DDEVINFO_D3D9CACHEUTILIZATION", [
1283 (FLOAT, "TextureCacheHitRate"),
1284 (FLOAT, "PostTransformVertexCacheHitRate"),
1287 D3DCOMPOSERECTSOP = Enum("D3DCOMPOSERECTSOP", [
1288 "D3DCOMPOSERECTS_COPY",
1289 "D3DCOMPOSERECTS_OR",
1290 "D3DCOMPOSERECTS_AND",
1291 "D3DCOMPOSERECTS_NEG",
1292 "D3DCOMPOSERECTS_FORCE_DWORD",
1295 D3DCOMPOSERECTDESC = Struct("D3DCOMPOSERECTDESC", [
1302 D3DCOMPOSERECTDESTINATION = Struct("D3DCOMPOSERECTDESTINATION", [
1303 (USHORT, "SrcRectIndex"),
1304 (USHORT, "Reserved"),
1309 D3DPRESENTSTATS = Struct("D3DPRESENTSTATS", [
1310 (UINT, "PresentCount"),
1311 (UINT, "PresentRefreshCount"),
1312 (UINT, "SyncRefreshCount"),
1313 (LARGE_INTEGER, "SyncQPCTime"),
1314 (LARGE_INTEGER, "SyncGPUTime"),
1317 D3DSCANLINEORDERING = Enum("D3DSCANLINEORDERING", [
1318 "D3DSCANLINEORDERING_UNKNOWN",
1319 "D3DSCANLINEORDERING_PROGRESSIVE",
1320 "D3DSCANLINEORDERING_INTERLACED",
1323 D3DDISPLAYMODEEX = Struct("D3DDISPLAYMODEEX", [
1327 (UINT, "RefreshRate"),
1328 (D3DFORMAT, "Format"),
1329 (D3DSCANLINEORDERING, "ScanLineOrdering"),
1332 D3DDISPLAYMODEFILTER = Struct("D3DDISPLAYMODEFILTER", [
1334 (D3DFORMAT, "Format"),
1335 (D3DSCANLINEORDERING, "ScanLineOrdering"),
1338 D3DDISPLAYROTATION = Enum("D3DDISPLAYROTATION", [
1339 "D3DDISPLAYROTATION_IDENTITY",
1340 "D3DDISPLAYROTATION_90",
1341 "D3DDISPLAYROTATION_180",
1342 "D3DDISPLAYROTATION_270",
1345 D3D9_RESOURCE_PRIORITY = Flags(DWORD, [
1346 "D3D9_RESOURCE_PRIORITY_MINIMUM",
1347 "D3D9_RESOURCE_PRIORITY_LOW",
1348 "D3D9_RESOURCE_PRIORITY_NORMAL",
1349 "D3D9_RESOURCE_PRIORITY_HIGH",
1350 "D3D9_RESOURCE_PRIORITY_MAXIMUM",