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",
109 D3DLIGHT9 = Struct("D3DLIGHT9", [
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 D3DBLEND = Enum("D3DBLEND", [
147 "D3DBLEND_INVSRCCOLOR",
149 "D3DBLEND_INVSRCALPHA",
150 "D3DBLEND_DESTALPHA",
151 "D3DBLEND_INVDESTALPHA",
152 "D3DBLEND_DESTCOLOR",
153 "D3DBLEND_INVDESTCOLOR",
154 "D3DBLEND_SRCALPHASAT",
155 "D3DBLEND_BOTHSRCALPHA",
156 "D3DBLEND_BOTHINVSRCALPHA",
157 "D3DBLEND_BLENDFACTOR",
158 "D3DBLEND_INVBLENDFACTOR",
159 "D3DBLEND_SRCCOLOR2",
160 "D3DBLEND_INVSRCCOLOR2",
163 D3DBLENDOP = Enum("D3DBLENDOP", [
165 "D3DBLENDOP_SUBTRACT",
166 "D3DBLENDOP_REVSUBTRACT",
171 D3DTEXTUREADDRESS = Enum("D3DTEXTUREADDRESS", [
173 "D3DTADDRESS_MIRROR",
175 "D3DTADDRESS_BORDER",
176 "D3DTADDRESS_MIRRORONCE",
179 D3DCULL = Enum("D3DCULL", [
185 D3DCMPFUNC = Enum("D3DCMPFUNC", [
192 "D3DCMP_GREATEREQUAL",
196 D3DSTENCILOP = Enum("D3DSTENCILOP", [
199 "D3DSTENCILOP_REPLACE",
200 "D3DSTENCILOP_INCRSAT",
201 "D3DSTENCILOP_DECRSAT",
202 "D3DSTENCILOP_INVERT",
207 D3DFOGMODE = Enum("D3DFOGMODE", [
214 D3DZBUFFERTYPE = Enum("D3DZBUFFERTYPE", [
220 D3DPRIMITIVETYPE = Enum("D3DPRIMITIVETYPE", [
224 "D3DPT_TRIANGLELIST",
225 "D3DPT_TRIANGLESTRIP",
229 D3DTRANSFORMSTATETYPE = Enum("D3DTRANSFORMSTATETYPE", [
242 D3DTS = Flags(DWORD, [
249 D3DRENDERSTATETYPE = Enum("D3DRENDERSTATETYPE", [
253 "D3DRS_ZWRITEENABLE",
254 "D3DRS_ALPHATESTENABLE",
262 "D3DRS_DITHERENABLE",
263 "D3DRS_ALPHABLENDENABLE",
265 "D3DRS_SPECULARENABLE",
267 "D3DRS_FOGTABLEMODE",
271 "D3DRS_RANGEFOGENABLE",
272 "D3DRS_STENCILENABLE",
274 "D3DRS_STENCILZFAIL",
279 "D3DRS_STENCILWRITEMASK",
280 "D3DRS_TEXTUREFACTOR",
292 "D3DRS_FOGVERTEXMODE",
295 "D3DRS_NORMALIZENORMALS",
296 "D3DRS_DIFFUSEMATERIALSOURCE",
297 "D3DRS_SPECULARMATERIALSOURCE",
298 "D3DRS_AMBIENTMATERIALSOURCE",
299 "D3DRS_EMISSIVEMATERIALSOURCE",
301 "D3DRS_CLIPPLANEENABLE",
303 "D3DRS_POINTSIZE_MIN",
304 "D3DRS_POINTSPRITEENABLE",
305 "D3DRS_POINTSCALEENABLE",
306 "D3DRS_POINTSCALE_A",
307 "D3DRS_POINTSCALE_B",
308 "D3DRS_POINTSCALE_C",
309 "D3DRS_MULTISAMPLEANTIALIAS",
310 "D3DRS_MULTISAMPLEMASK",
311 "D3DRS_PATCHEDGESTYLE",
312 "D3DRS_DEBUGMONITORTOKEN",
313 "D3DRS_POINTSIZE_MAX",
314 "D3DRS_INDEXEDVERTEXBLENDENABLE",
315 "D3DRS_COLORWRITEENABLE",
318 "D3DRS_POSITIONDEGREE",
319 "D3DRS_NORMALDEGREE",
320 "D3DRS_SCISSORTESTENABLE",
321 "D3DRS_SLOPESCALEDEPTHBIAS",
322 "D3DRS_ANTIALIASEDLINEENABLE",
323 "D3DRS_MINTESSELLATIONLEVEL",
324 "D3DRS_MAXTESSELLATIONLEVEL",
325 "D3DRS_ADAPTIVETESS_X",
326 "D3DRS_ADAPTIVETESS_Y",
327 "D3DRS_ADAPTIVETESS_Z",
328 "D3DRS_ADAPTIVETESS_W",
329 "D3DRS_ENABLEADAPTIVETESSELLATION",
330 "D3DRS_TWOSIDEDSTENCILMODE",
331 "D3DRS_CCW_STENCILFAIL",
332 "D3DRS_CCW_STENCILZFAIL",
333 "D3DRS_CCW_STENCILPASS",
334 "D3DRS_CCW_STENCILFUNC",
335 "D3DRS_COLORWRITEENABLE1",
336 "D3DRS_COLORWRITEENABLE2",
337 "D3DRS_COLORWRITEENABLE3",
339 "D3DRS_SRGBWRITEENABLE",
349 "D3DRS_SEPARATEALPHABLENDENABLE",
350 "D3DRS_SRCBLENDALPHA",
351 "D3DRS_DESTBLENDALPHA",
352 "D3DRS_BLENDOPALPHA",
355 D3DMATERIALCOLORSOURCE = Enum("D3DMATERIALCOLORSOURCE", [
361 D3DWRAP = Flags(DWORD, [
367 D3DWRAPCOORD = Flags(DWORD, [
374 D3DCOLORWRITEENABLE = Flags(DWORD, [
375 "D3DCOLORWRITEENABLE_RED",
376 "D3DCOLORWRITEENABLE_GREEN",
377 "D3DCOLORWRITEENABLE_BLUE",
378 "D3DCOLORWRITEENABLE_ALPHA",
381 D3DTEXTURESTAGESTATETYPE = Enum("D3DTEXTURESTAGESTATETYPE", [
388 "D3DTSS_BUMPENVMAT00",
389 "D3DTSS_BUMPENVMAT01",
390 "D3DTSS_BUMPENVMAT10",
391 "D3DTSS_BUMPENVMAT11",
392 "D3DTSS_TEXCOORDINDEX",
393 "D3DTSS_BUMPENVLSCALE",
394 "D3DTSS_BUMPENVLOFFSET",
395 "D3DTSS_TEXTURETRANSFORMFLAGS",
402 D3DSAMPLERSTATETYPE = Enum("D3DSAMPLERSTATETYPE", [
407 "D3DSAMP_BORDERCOLOR",
411 "D3DSAMP_MIPMAPLODBIAS",
412 "D3DSAMP_MAXMIPLEVEL",
413 "D3DSAMP_MAXANISOTROPY",
414 "D3DSAMP_SRGBTEXTURE",
415 "D3DSAMP_ELEMENTINDEX",
416 "D3DSAMP_DMAPOFFSET",
419 D3DTSS = Flags(DWORD, [
420 "D3DTSS_TCI_PASSTHRU",
421 "D3DTSS_TCI_CAMERASPACENORMAL",
422 "D3DTSS_TCI_CAMERASPACEPOSITION",
423 "D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR",
424 "D3DTSS_TCI_SPHEREMAP",
427 D3DTEXTUREOP = Enum("D3DTEXTUREOP", [
436 "D3DTOP_ADDSIGNED2X",
439 "D3DTOP_BLENDDIFFUSEALPHA",
440 "D3DTOP_BLENDTEXTUREALPHA",
441 "D3DTOP_BLENDFACTORALPHA",
442 "D3DTOP_BLENDTEXTUREALPHAPM",
443 "D3DTOP_BLENDCURRENTALPHA",
444 "D3DTOP_PREMODULATE",
445 "D3DTOP_MODULATEALPHA_ADDCOLOR",
446 "D3DTOP_MODULATECOLOR_ADDALPHA",
447 "D3DTOP_MODULATEINVALPHA_ADDCOLOR",
448 "D3DTOP_MODULATEINVCOLOR_ADDALPHA",
450 "D3DTOP_BUMPENVMAPLUMINANCE",
451 "D3DTOP_DOTPRODUCT3",
452 "D3DTOP_MULTIPLYADD",
456 D3DTA = Flags(DWORD, [
466 "D3DTA_ALPHAREPLICATE",
469 D3DTEXTUREFILTERTYPE = Enum("D3DTEXTUREFILTERTYPE", [
473 "D3DTEXF_ANISOTROPIC",
474 "D3DTEXF_PYRAMIDALQUAD",
475 "D3DTEXF_GAUSSIANQUAD",
476 "D3DTEXF_CONVOLUTIONMONO",
479 D3DPV = Flags(DWORD, [
480 "D3DPV_DONOTCOPYDATA",
483 D3DFVF = Flags(DWORD, [
485 "D3DFVF_POSITION_MASK",
498 #"D3DFVF_TEXCOUNT_MASK",
499 #"D3DFVF_TEXCOUNT_SHIFT",
509 "D3DFVF_LASTBETA_UBYTE4",
510 "D3DFVF_LASTBETA_D3DCOLOR",
512 #"D3DFVF_TEXCOORDSIZE3(0)",
513 #"D3DFVF_TEXCOORDSIZE2(0)",
514 #"D3DFVF_TEXCOORDSIZE4(0)",
515 #"D3DFVF_TEXCOORDSIZE1(0)",
516 #"D3DFVF_TEXCOORDSIZE3(1)",
517 #"D3DFVF_TEXCOORDSIZE2(1)",
518 #"D3DFVF_TEXCOORDSIZE4(1)",
519 #"D3DFVF_TEXCOORDSIZE1(1)",
520 #"D3DFVF_TEXCOORDSIZE3(2)",
521 #"D3DFVF_TEXCOORDSIZE2(2)",
522 #"D3DFVF_TEXCOORDSIZE4(2)",
523 #"D3DFVF_TEXCOORDSIZE1(2)",
524 #"D3DFVF_TEXCOORDSIZE3(3)",
525 #"D3DFVF_TEXCOORDSIZE2(3)",
526 #"D3DFVF_TEXCOORDSIZE4(3)",
527 #"D3DFVF_TEXCOORDSIZE1(3)",
530 D3DDECLUSAGE = Enum("D3DDECLUSAGE", [
531 "D3DDECLUSAGE_POSITION",
532 "D3DDECLUSAGE_BLENDWEIGHT",
533 "D3DDECLUSAGE_BLENDINDICES",
534 "D3DDECLUSAGE_NORMAL",
535 "D3DDECLUSAGE_PSIZE",
536 "D3DDECLUSAGE_TEXCOORD",
537 "D3DDECLUSAGE_TANGENT",
538 "D3DDECLUSAGE_BINORMAL",
539 "D3DDECLUSAGE_TESSFACTOR",
540 "D3DDECLUSAGE_POSITIONT",
541 "D3DDECLUSAGE_COLOR",
543 "D3DDECLUSAGE_DEPTH",
544 "D3DDECLUSAGE_SAMPLE",
547 D3DDECLMETHOD = Enum("D3DDECLMETHOD", [
548 "D3DDECLMETHOD_DEFAULT",
549 "D3DDECLMETHOD_PARTIALU",
550 "D3DDECLMETHOD_PARTIALV",
551 "D3DDECLMETHOD_CROSSUV",
553 "D3DDECLMETHOD_LOOKUP",
554 "D3DDECLMETHOD_LOOKUPPRESAMPLED",
557 D3DDECLTYPE = Enum("D3DDECLTYPE", [
558 "D3DDECLTYPE_FLOAT1",
559 "D3DDECLTYPE_FLOAT2",
560 "D3DDECLTYPE_FLOAT3",
561 "D3DDECLTYPE_FLOAT4",
562 "D3DDECLTYPE_D3DCOLOR",
563 "D3DDECLTYPE_UBYTE4",
564 "D3DDECLTYPE_SHORT2",
565 "D3DDECLTYPE_SHORT4",
566 "D3DDECLTYPE_UBYTE4N",
567 "D3DDECLTYPE_SHORT2N",
568 "D3DDECLTYPE_SHORT4N",
569 "D3DDECLTYPE_USHORT2N",
570 "D3DDECLTYPE_USHORT4N",
573 "D3DDECLTYPE_FLOAT16_2",
574 "D3DDECLTYPE_FLOAT16_4",
575 "D3DDECLTYPE_UNUSED",
578 D3DVERTEXELEMENT9 = Struct("D3DVERTEXELEMENT9", [
584 (BYTE, "UsageIndex"),
587 D3DSHADER_INSTRUCTION_OPCODE_TYPE = Enum("D3DSHADER_INSTRUCTION_OPCODE_TYPE", [
649 "D3DSIO_TEXM3x3SPEC",
650 "D3DSIO_TEXM3x3VSPEC",
657 "D3DSIO_TEXM3x2DEPTH",
675 D3DSHADER_COMPARISON = Enum("D3DSHADER_COMPARISON", [
686 D3DSAMPLER_TEXTURE_TYPE = Enum("D3DSAMPLER_TEXTURE_TYPE", [
693 D3DSP = Flags(DWORD, [
698 "D3DSP_WRITEMASK_ALL",
701 D3DSHADER_PARAM_DSTMOD_TYPE = Flags(DWORD, [
704 "D3DSPDM_PARTIALPRECISION",
705 "D3DSPDM_MSAMPCENTROID",
708 D3DSHADER_PARAM_REGISTER_TYPE = Enum("D3DSHADER_PARAM_REGISTER_TYPE", [
712 "D3DSPR_ADDR|D3DSPR_TEXTURE",
715 "D3DSPR_TEXCRDOUT|D3DSPR_OUTPUT",
725 "D3DSPR_TEMPFLOAT16",
731 D3DSHADER_MISCTYPE_OFFSETS = Enum("D3DSHADER_MISCTYPE_OFFSETS", [
736 D3DVS_RASTOUT_OFFSETS = Enum("D3DVS_RASTOUT_OFFSETS", [
742 D3DVS_ADDRESSMODE_TYPE = Enum("D3DVS_ADDRESSMODE_TYPE", [
743 "D3DVS_ADDRMODE_ABSOLUTE",
744 "D3DVS_ADDRMODE_RELATIVE",
747 D3DSHADER_ADDRESSMODE_TYPE = Enum("D3DSHADER_ADDRESSMODE_TYPE", [
748 "D3DSHADER_ADDRMODE_ABSOLUTE",
749 "D3DSHADER_ADDRMODE_RELATIVE",
752 D3DVS = Flags(DWORD, [
772 D3DSP = Flags(DWORD, [
774 "D3DSP_REPLICATERED",
775 "D3DSP_REPLICATEGREEN",
776 "D3DSP_REPLICATEBLUE",
777 "D3DSP_REPLICATEALPHA",
780 D3DSHADER_PARAM_SRCMOD_TYPE = Enum("D3DSHADER_PARAM_SRCMOD_TYPE", [
797 D3DBASISTYPE = Enum("D3DBASISTYPE", [
800 "D3DBASIS_CATMULL_ROM",
803 D3DDEGREETYPE = Enum("D3DDEGREETYPE", [
805 "D3DDEGREE_QUADRATIC",
810 D3DPATCHEDGESTYLE = Enum("D3DPATCHEDGESTYLE", [
811 "D3DPATCHEDGE_DISCRETE",
812 "D3DPATCHEDGE_CONTINUOUS",
815 D3DSTATEBLOCKTYPE = Enum("D3DSTATEBLOCKTYPE", [
818 "D3DSBT_VERTEXSTATE",
821 D3DVERTEXBLENDFLAGS = Enum("D3DVERTEXBLENDFLAGS", [
830 D3DTEXTURETRANSFORMFLAGS = Enum("D3DTEXTURETRANSFORMFLAGS", [
839 D3DDEVTYPE = Enum("D3DDEVTYPE", [
843 "D3DDEVTYPE_NULLREF",
846 D3DMULTISAMPLE_TYPE = Enum("D3DMULTISAMPLE_TYPE", [
847 "D3DMULTISAMPLE_NONE",
848 "D3DMULTISAMPLE_NONMASKABLE",
849 "D3DMULTISAMPLE_2_SAMPLES",
850 "D3DMULTISAMPLE_3_SAMPLES",
851 "D3DMULTISAMPLE_4_SAMPLES",
852 "D3DMULTISAMPLE_5_SAMPLES",
853 "D3DMULTISAMPLE_6_SAMPLES",
854 "D3DMULTISAMPLE_7_SAMPLES",
855 "D3DMULTISAMPLE_8_SAMPLES",
856 "D3DMULTISAMPLE_9_SAMPLES",
857 "D3DMULTISAMPLE_10_SAMPLES",
858 "D3DMULTISAMPLE_11_SAMPLES",
859 "D3DMULTISAMPLE_12_SAMPLES",
860 "D3DMULTISAMPLE_13_SAMPLES",
861 "D3DMULTISAMPLE_14_SAMPLES",
862 "D3DMULTISAMPLE_15_SAMPLES",
863 "D3DMULTISAMPLE_16_SAMPLES",
866 D3DFORMAT = Enum("D3DFORMAT", [
879 "D3DFMT_A2B10G10R10",
883 "D3DFMT_A2R10G10B10",
884 "D3DFMT_A16B16G16R16",
895 "D3DFMT_A2W10V10U10",
905 "D3DFMT_D16_LOCKABLE",
912 "D3DFMT_D32F_LOCKABLE",
914 "D3DFMT_D32_LOCKABLE",
915 "D3DFMT_S8_LOCKABLE",
920 "D3DFMT_Q16W16V16U16",
921 "D3DFMT_MULTI2_ARGB8",
924 "D3DFMT_A16B16G16R16F",
927 "D3DFMT_A32B32G32R32F",
930 "D3DFMT_BINARYBUFFER",
944 D3DDISPLAYMODE = Struct("D3DDISPLAYMODE", [
947 (UINT, "RefreshRate"),
948 (D3DFORMAT, "Format"),
951 D3DDEVICE_CREATION_PARAMETERS = Struct("D3DDEVICE_CREATION_PARAMETERS", [
952 (UINT, "AdapterOrdinal"),
953 (D3DDEVTYPE, "DeviceType"),
954 (HWND, "hFocusWindow"),
955 (DWORD, "BehaviorFlags"),
958 D3DSWAPEFFECT = Enum("D3DSWAPEFFECT", [
959 "D3DSWAPEFFECT_DISCARD",
960 "D3DSWAPEFFECT_FLIP",
961 "D3DSWAPEFFECT_COPY",
964 D3DPOOL = Enum("D3DPOOL", [
971 D3DPRESENT = Flags(DWORD, [
972 "D3DPRESENT_RATE_DEFAULT",
975 D3DPRESENT_PARAMETERS = Struct("D3DPRESENT_PARAMETERS", [
976 (UINT, "BackBufferWidth"),
977 (UINT, "BackBufferHeight"),
978 (D3DFORMAT, "BackBufferFormat"),
979 (UINT, "BackBufferCount"),
980 (D3DMULTISAMPLE_TYPE, "MultiSampleType"),
981 (DWORD, "MultiSampleQuality"),
982 (D3DSWAPEFFECT, "SwapEffect"),
983 (HWND, "hDeviceWindow"),
985 (BOOL, "EnableAutoDepthStencil"),
986 (D3DFORMAT, "AutoDepthStencilFormat"),
988 (UINT, "FullScreen_RefreshRateInHz"),
989 (UINT, "PresentationInterval"),
992 D3DPRESENTFLAG = Flags(DWORD, [
993 "D3DPRESENTFLAG_LOCKABLE_BACKBUFFER",
994 "D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL",
995 "D3DPRESENTFLAG_DEVICECLIP",
996 "D3DPRESENTFLAG_VIDEO",
997 "D3DPRESENTFLAG_NOAUTOROTATE",
998 "D3DPRESENTFLAG_UNPRUNEDMODE",
1001 D3DGAMMARAMP = Struct("D3DGAMMARAMP", [
1003 (WORD, "green[256]"),
1004 (WORD, "blue[256]"),
1007 D3DBACKBUFFER_TYPE = Enum("D3DBACKBUFFER_TYPE", [
1008 "D3DBACKBUFFER_TYPE_MONO",
1009 "D3DBACKBUFFER_TYPE_LEFT",
1010 "D3DBACKBUFFER_TYPE_RIGHT",
1013 D3DRESOURCETYPE = Enum("D3DRESOURCETYPE", [
1017 "D3DRTYPE_VOLUMETEXTURE",
1018 "D3DRTYPE_CUBETEXTURE",
1019 "D3DRTYPE_VERTEXBUFFER",
1020 "D3DRTYPE_INDEXBUFFER",
1023 D3DUSAGE = Flags(DWORD, [
1024 "D3DUSAGE_RENDERTARGET",
1025 "D3DUSAGE_DEPTHSTENCIL",
1027 "D3DUSAGE_NONSECURE",
1028 "D3DUSAGE_AUTOGENMIPMAP",
1030 "D3DUSAGE_QUERY_LEGACYBUMPMAP",
1031 "D3DUSAGE_QUERY_SRGBREAD",
1032 "D3DUSAGE_QUERY_FILTER",
1033 "D3DUSAGE_QUERY_SRGBWRITE",
1034 "D3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING",
1035 "D3DUSAGE_QUERY_VERTEXTEXTURE",
1036 "D3DUSAGE_QUERY_WRAPANDMIP",
1037 "D3DUSAGE_WRITEONLY",
1038 "D3DUSAGE_SOFTWAREPROCESSING",
1039 "D3DUSAGE_DONOTCLIP",
1041 "D3DUSAGE_RTPATCHES",
1042 "D3DUSAGE_NPATCHES",
1046 D3DCUBEMAP_FACES = Enum("D3DCUBEMAP_FACES", [
1047 "D3DCUBEMAP_FACE_POSITIVE_X",
1048 "D3DCUBEMAP_FACE_NEGATIVE_X",
1049 "D3DCUBEMAP_FACE_POSITIVE_Y",
1050 "D3DCUBEMAP_FACE_NEGATIVE_Y",
1051 "D3DCUBEMAP_FACE_POSITIVE_Z",
1052 "D3DCUBEMAP_FACE_NEGATIVE_Z",
1055 D3DLOCK = Flags(DWORD, [
1058 "D3DLOCK_NOOVERWRITE",
1059 "D3DLOCK_NOSYSLOCK",
1060 "D3DLOCK_DONOTWAIT",
1061 "D3DLOCK_NO_DIRTY_UPDATE",
1064 D3DVERTEXBUFFER_DESC = Struct("D3DVERTEXBUFFER_DESC", [
1065 (D3DFORMAT, "Format"),
1066 (D3DRESOURCETYPE, "Type"),
1073 D3DINDEXBUFFER_DESC = Struct("D3DINDEXBUFFER_DESC", [
1074 (D3DFORMAT, "Format"),
1075 (D3DRESOURCETYPE, "Type"),
1081 D3DSURFACE_DESC = Struct("D3DSURFACE_DESC", [
1082 (D3DFORMAT, "Format"),
1083 (D3DRESOURCETYPE, "Type"),
1086 (D3DMULTISAMPLE_TYPE, "MultiSampleType"),
1087 (DWORD, "MultiSampleQuality"),
1092 D3DVOLUME_DESC = Struct("D3DVOLUME_DESC", [
1093 (D3DFORMAT, "Format"),
1094 (D3DRESOURCETYPE, "Type"),
1102 D3DLOCKED_RECT = Struct("D3DLOCKED_RECT", [
1104 (OpaquePointer(Void), "pBits"),
1107 D3DBOX = Struct("D3DBOX", [
1116 D3DLOCKED_BOX = Struct("D3DLOCKED_BOX", [
1118 (INT, "SlicePitch"),
1119 (OpaquePointer(Void), "pBits"),
1122 D3DRANGE = Struct("D3DRANGE", [
1127 D3DRECTPATCH_INFO = Struct("D3DRECTPATCH_INFO", [
1128 (UINT, "StartVertexOffsetWidth"),
1129 (UINT, "StartVertexOffsetHeight"),
1133 (D3DBASISTYPE, "Basis"),
1134 (D3DDEGREETYPE, "Degree"),
1137 D3DTRIPATCH_INFO = Struct("D3DTRIPATCH_INFO", [
1138 (UINT, "StartVertexOffset"),
1139 (UINT, "NumVertices"),
1140 (D3DBASISTYPE, "Basis"),
1141 (D3DDEGREETYPE, "Degree"),
1144 D3DADAPTER_IDENTIFIER9 = Struct("D3DADAPTER_IDENTIFIER9", [
1145 (CString, "Driver"),
1146 (CString, "Description"),
1147 (CString, "DeviceName"),
1148 (LARGE_INTEGER, "DriverVersion"),
1149 (DWORD, "VendorId"),
1150 (DWORD, "DeviceId"),
1151 (DWORD, "SubSysId"),
1152 (DWORD, "Revision"),
1153 (GUID, "DeviceIdentifier"),
1154 (DWORD, "WHQLLevel"),
1157 D3DRASTER_STATUS = Struct("D3DRASTER_STATUS", [
1162 D3DDEBUGMONITORTOKENS = Enum("D3DDEBUGMONITORTOKENS", [
1167 D3DQUERYTYPE = Enum("D3DQUERYTYPE", [
1168 "D3DQUERYTYPE_VCACHE",
1169 "D3DQUERYTYPE_RESOURCEMANAGER",
1170 "D3DQUERYTYPE_VERTEXSTATS",
1171 "D3DQUERYTYPE_EVENT",
1172 "D3DQUERYTYPE_OCCLUSION",
1173 "D3DQUERYTYPE_TIMESTAMP",
1174 "D3DQUERYTYPE_TIMESTAMPDISJOINT",
1175 "D3DQUERYTYPE_TIMESTAMPFREQ",
1176 "D3DQUERYTYPE_PIPELINETIMINGS",
1177 "D3DQUERYTYPE_INTERFACETIMINGS",
1178 "D3DQUERYTYPE_VERTEXTIMINGS",
1179 "D3DQUERYTYPE_PIXELTIMINGS",
1180 "D3DQUERYTYPE_BANDWIDTHTIMINGS",
1181 "D3DQUERYTYPE_CACHEUTILIZATION",
1184 D3DISSUE = Flags(DWORD, [
1189 D3DGETDATA = Flags(DWORD, [
1193 D3DRESOURCESTATS = Struct("D3DRESOURCESTATS", [
1194 (BOOL, "bThrashing"),
1195 (DWORD, "ApproxBytesDownloaded"),
1196 (DWORD, "NumEvicts"),
1197 (DWORD, "NumVidCreates"),
1200 (DWORD, "NumUsedInVidMem"),
1201 (DWORD, "WorkingSet"),
1202 (DWORD, "WorkingSetBytes"),
1203 (DWORD, "TotalManaged"),
1204 (DWORD, "TotalBytes"),
1207 D3DDEVINFO_RESOURCEMANAGER = Struct("D3DDEVINFO_RESOURCEMANAGER", [
1208 (D3DRESOURCESTATS, "stats[D3DRTYPECOUNT]"),
1209 (D3DRESOURCESTATS, "stats[8]"),
1212 D3DDEVINFO_D3DVERTEXSTATS = Struct("D3DDEVINFO_D3DVERTEXSTATS", [
1213 (DWORD, "NumRenderedTriangles"),
1214 (DWORD, "NumExtraClippingTriangles"),
1217 D3DDEVINFO_VCACHE = Struct("D3DDEVINFO_VCACHE", [
1219 (DWORD, "OptMethod"),
1220 (DWORD, "CacheSize"),
1221 (DWORD, "MagicNumber"),
1224 D3DDEVINFO_D3D9PIPELINETIMINGS = Struct("D3DDEVINFO_D3D9PIPELINETIMINGS", [
1225 (FLOAT, "VertexProcessingTimePercent"),
1226 (FLOAT, "PixelProcessingTimePercent"),
1227 (FLOAT, "OtherGPUProcessingTimePercent"),
1228 (FLOAT, "GPUIdleTimePercent"),
1231 D3DDEVINFO_D3D9INTERFACETIMINGS = Struct("D3DDEVINFO_D3D9INTERFACETIMINGS", [
1232 (FLOAT, "WaitingForGPUToUseApplicationResourceTimePercent"),
1233 (FLOAT, "WaitingForGPUToAcceptMoreCommandsTimePercent"),
1234 (FLOAT, "WaitingForGPUToStayWithinLatencyTimePercent"),
1235 (FLOAT, "WaitingForGPUExclusiveResourceTimePercent"),
1236 (FLOAT, "WaitingForGPUOtherTimePercent"),
1239 D3DDEVINFO_D3D9STAGETIMINGS = Struct("D3DDEVINFO_D3D9STAGETIMINGS", [
1240 (FLOAT, "MemoryProcessingPercent"),
1241 (FLOAT, "ComputationProcessingPercent"),
1244 D3DDEVINFO_D3D9BANDWIDTHTIMINGS = Struct("D3DDEVINFO_D3D9BANDWIDTHTIMINGS", [
1245 (FLOAT, "MaxBandwidthUtilized"),
1246 (FLOAT, "FrontEndUploadMemoryUtilizedPercent"),
1247 (FLOAT, "VertexRateUtilizedPercent"),
1248 (FLOAT, "TriangleSetupRateUtilizedPercent"),
1249 (FLOAT, "FillRateUtilizedPercent"),
1252 D3DDEVINFO_D3D9CACHEUTILIZATION = Struct("D3DDEVINFO_D3D9CACHEUTILIZATION", [
1253 (FLOAT, "TextureCacheHitRate"),
1254 (FLOAT, "PostTransformVertexCacheHitRate"),
1257 D3DCOMPOSERECTSOP = Enum("D3DCOMPOSERECTSOP", [
1258 "D3DCOMPOSERECTS_COPY",
1259 "D3DCOMPOSERECTS_OR",
1260 "D3DCOMPOSERECTS_AND",
1261 "D3DCOMPOSERECTS_NEG",
1264 D3DCOMPOSERECTDESC = Struct("D3DCOMPOSERECTDESC", [
1271 D3DCOMPOSERECTDESTINATION = Struct("D3DCOMPOSERECTDESTINATION", [
1272 (USHORT, "SrcRectIndex"),
1273 (USHORT, "Reserved"),
1278 D3DPRESENTSTATS = Struct("D3DPRESENTSTATS", [
1279 (UINT, "PresentCount"),
1280 (UINT, "PresentRefreshCount"),
1281 (UINT, "SyncRefreshCount"),
1282 (LARGE_INTEGER, "SyncQPCTime"),
1283 (LARGE_INTEGER, "SyncGPUTime"),
1286 D3DSCANLINEORDERING = Enum("D3DSCANLINEORDERING", [
1287 "D3DSCANLINEORDERING_UNKNOWN",
1288 "D3DSCANLINEORDERING_PROGRESSIVE",
1289 "D3DSCANLINEORDERING_INTERLACED",
1292 D3DDISPLAYMODEEX = Struct("D3DDISPLAYMODEEX", [
1296 (UINT, "RefreshRate"),
1297 (D3DFORMAT, "Format"),
1298 (D3DSCANLINEORDERING, "ScanLineOrdering"),
1301 D3DDISPLAYMODEFILTER = Struct("D3DDISPLAYMODEFILTER", [
1303 (D3DFORMAT, "Format"),
1304 (D3DSCANLINEORDERING, "ScanLineOrdering"),
1307 D3DDISPLAYROTATION = Enum("D3DDISPLAYROTATION", [
1308 "D3DDISPLAYROTATION_IDENTITY",
1309 "D3DDISPLAYROTATION_90",
1310 "D3DDISPLAYROTATION_180",
1311 "D3DDISPLAYROTATION_270",
1314 D3D9_RESOURCE_PRIORITY = Flags(DWORD, [
1315 "D3D9_RESOURCE_PRIORITY_MINIMUM",
1316 "D3D9_RESOURCE_PRIORITY_LOW",
1317 "D3D9_RESOURCE_PRIORITY_NORMAL",
1318 "D3D9_RESOURCE_PRIORITY_HIGH",
1319 "D3D9_RESOURCE_PRIORITY_MAXIMUM",