]> git.cworth.org Git - apitrace/blobdiff - d3d9types.py
Recognise glFrameTerminatorGREMEDY when retracing.
[apitrace] / d3d9types.py
index 558c9331bb7e658373595612eeb8692e6538414b..73011ee36f5945aef4d2e691f1819ddce9e59b52 100644 (file)
@@ -1,25 +1,31 @@
-#############################################################################
+##########################################################################
 #
-# Copyright 2008 Tungsten Graphics, Inc.
+# Copyright 2008-2009 VMware, Inc.
+# All Rights Reserved.
 #
-# This program is free software: you can redistribute it and/or modify it
-# under the terms of the GNU Lesser General Public License as published
-# by the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
 #
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU Lesser General Public License for more details.
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
 #
-# You should have received a copy of the GNU Lesser General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
 #
-#############################################################################
+##########################################################################/
 
 """d3d9types.h"""
 
-from windows import *
+from winapi import *
 
 D3DCOLOR = Alias("D3DCOLOR", DWORD)
 
@@ -44,7 +50,7 @@ D3DRECT = Struct("D3DRECT", [
 ])
 
 D3DMATRIX = Struct("D3DMATRIX", [
-    (Float, "m[4][4]"),
+    (Array(Array(Float, "4"), "4"), "m"),
 ])
 
 D3DVIEWPORT9 = Struct("D3DVIEWPORT9", [
@@ -98,7 +104,6 @@ D3DLIGHTTYPE = Enum("D3DLIGHTTYPE", [
     "D3DLIGHT_POINT",
     "D3DLIGHT_SPOT",
     "D3DLIGHT_DIRECTIONAL",
-    "D3DLIGHT_FORCE_DWORD",
 ])
 
 D3DLIGHT9 = Struct("D3DLIGHT9", [
@@ -117,7 +122,7 @@ D3DLIGHT9 = Struct("D3DLIGHT9", [
     (Float, "Phi"),
 ])
 
-D3DCS = Flags(DWORD, [
+D3DCLEAR = Flags(DWORD, [
     "D3DCLEAR_TARGET",
     "D3DCLEAR_ZBUFFER",
     "D3DCLEAR_STENCIL",
@@ -127,14 +132,12 @@ D3DSHADEMODE = Enum("D3DSHADEMODE", [
     "D3DSHADE_FLAT",
     "D3DSHADE_GOURAUD",
     "D3DSHADE_PHONG",
-    "D3DSHADE_FORCE_DWORD",
 ])
 
 D3DFILLMODE = Enum("D3DFILLMODE", [
     "D3DFILL_POINT",
     "D3DFILL_WIREFRAME",
     "D3DFILL_SOLID",
-    "D3DFILL_FORCE_DWORD",
 ])
 
 D3DBLEND = Enum("D3DBLEND", [
@@ -155,7 +158,6 @@ D3DBLEND = Enum("D3DBLEND", [
     "D3DBLEND_INVBLENDFACTOR",
     "D3DBLEND_SRCCOLOR2",
     "D3DBLEND_INVSRCCOLOR2",
-    "D3DBLEND_FORCE_DWORD",
 ])
 
 D3DBLENDOP = Enum("D3DBLENDOP", [
@@ -164,7 +166,6 @@ D3DBLENDOP = Enum("D3DBLENDOP", [
     "D3DBLENDOP_REVSUBTRACT",
     "D3DBLENDOP_MIN",
     "D3DBLENDOP_MAX",
-    "D3DBLENDOP_FORCE_DWORD",
 ])
 
 D3DTEXTUREADDRESS = Enum("D3DTEXTUREADDRESS", [
@@ -173,14 +174,12 @@ D3DTEXTUREADDRESS = Enum("D3DTEXTUREADDRESS", [
     "D3DTADDRESS_CLAMP",
     "D3DTADDRESS_BORDER",
     "D3DTADDRESS_MIRRORONCE",
-    "D3DTADDRESS_FORCE_DWORD",
 ])
 
 D3DCULL = Enum("D3DCULL", [
     "D3DCULL_NONE",
     "D3DCULL_CW",
     "D3DCULL_CCW",
-    "D3DCULL_FORCE_DWORD",
 ])
 
 D3DCMPFUNC = Enum("D3DCMPFUNC", [
@@ -192,7 +191,6 @@ D3DCMPFUNC = Enum("D3DCMPFUNC", [
     "D3DCMP_NOTEQUAL",
     "D3DCMP_GREATEREQUAL",
     "D3DCMP_ALWAYS",
-    "D3DCMP_FORCE_DWORD",
 ])
 
 D3DSTENCILOP = Enum("D3DSTENCILOP", [
@@ -204,7 +202,6 @@ D3DSTENCILOP = Enum("D3DSTENCILOP", [
     "D3DSTENCILOP_INVERT",
     "D3DSTENCILOP_INCR",
     "D3DSTENCILOP_DECR",
-    "D3DSTENCILOP_FORCE_DWORD",
 ])
 
 D3DFOGMODE = Enum("D3DFOGMODE", [
@@ -212,14 +209,12 @@ D3DFOGMODE = Enum("D3DFOGMODE", [
     "D3DFOG_EXP",
     "D3DFOG_EXP2",
     "D3DFOG_LINEAR",
-    "D3DFOG_FORCE_DWORD",
 ])
 
 D3DZBUFFERTYPE = Enum("D3DZBUFFERTYPE", [
     "D3DZB_FALSE",
     "D3DZB_TRUE",
     "D3DZB_USEW",
-    "D3DZB_FORCE_DWORD",
 ])
 
 D3DPRIMITIVETYPE = Enum("D3DPRIMITIVETYPE", [
@@ -229,7 +224,6 @@ D3DPRIMITIVETYPE = Enum("D3DPRIMITIVETYPE", [
     "D3DPT_TRIANGLELIST",
     "D3DPT_TRIANGLESTRIP",
     "D3DPT_TRIANGLEFAN",
-    "D3DPT_FORCE_DWORD",
 ])
 
 D3DTRANSFORMSTATETYPE = Enum("D3DTRANSFORMSTATETYPE", [
@@ -243,7 +237,6 @@ D3DTRANSFORMSTATETYPE = Enum("D3DTRANSFORMSTATETYPE", [
     "D3DTS_TEXTURE5",
     "D3DTS_TEXTURE6",
     "D3DTS_TEXTURE7",
-    "D3DTS_FORCE_DWORD",
 ])
 
 D3DTS = Flags(DWORD, [
@@ -357,14 +350,12 @@ D3DRENDERSTATETYPE = Enum("D3DRENDERSTATETYPE", [
     "D3DRS_SRCBLENDALPHA",
     "D3DRS_DESTBLENDALPHA",
     "D3DRS_BLENDOPALPHA",
-    "D3DRS_FORCE_DWORD",
 ])
 
 D3DMATERIALCOLORSOURCE = Enum("D3DMATERIALCOLORSOURCE", [
     "D3DMCS_MATERIAL",
     "D3DMCS_COLOR1",
     "D3DMCS_COLOR2",
-    "D3DMCS_FORCE_DWORD",
 ])
 
 D3DWRAP = Flags(DWORD, [
@@ -406,7 +397,6 @@ D3DTEXTURESTAGESTATETYPE = Enum("D3DTEXTURESTAGESTATETYPE", [
     "D3DTSS_ALPHAARG0",
     "D3DTSS_RESULTARG",
     "D3DTSS_CONSTANT",
-    "D3DTSS_FORCE_DWORD",
 ])
 
 D3DSAMPLERSTATETYPE = Enum("D3DSAMPLERSTATETYPE", [
@@ -424,7 +414,6 @@ D3DSAMPLERSTATETYPE = Enum("D3DSAMPLERSTATETYPE", [
     "D3DSAMP_SRGBTEXTURE",
     "D3DSAMP_ELEMENTINDEX",
     "D3DSAMP_DMAPOFFSET",
-    "D3DSAMP_FORCE_DWORD",
 ])
 
 D3DTSS = Flags(DWORD, [
@@ -462,7 +451,6 @@ D3DTEXTUREOP = Enum("D3DTEXTUREOP", [
     "D3DTOP_DOTPRODUCT3",
     "D3DTOP_MULTIPLYADD",
     "D3DTOP_LERP",
-    "D3DTOP_FORCE_DWORD",
 ])
 
 D3DTA = Flags(DWORD, [
@@ -486,7 +474,6 @@ D3DTEXTUREFILTERTYPE = Enum("D3DTEXTUREFILTERTYPE", [
     "D3DTEXF_PYRAMIDALQUAD",
     "D3DTEXF_GAUSSIANQUAD",
     "D3DTEXF_CONVOLUTIONMONO",
-    "D3DTEXF_FORCE_DWORD",
 ])
 
 D3DPV = Flags(DWORD, [
@@ -508,36 +495,36 @@ D3DFVF = Flags(DWORD, [
     "D3DFVF_PSIZE",
     "D3DFVF_DIFFUSE",
     "D3DFVF_SPECULAR",
-    "D3DFVF_TEXCOUNT_MASK",
-    "D3DFVF_TEXCOUNT_SHIFT",
-    "D3DFVF_TEX0",
-    "D3DFVF_TEX1",
-    "D3DFVF_TEX2",
-    "D3DFVF_TEX3",
-    "D3DFVF_TEX4",
-    "D3DFVF_TEX5",
-    "D3DFVF_TEX6",
-    "D3DFVF_TEX7",
-    "D3DFVF_TEX8",
+    #"D3DFVF_TEXCOUNT_MASK",
+    #"D3DFVF_TEXCOUNT_SHIFT",
+    #"D3DFVF_TEX0",
+    #"D3DFVF_TEX1",
+    #"D3DFVF_TEX2",
+    #"D3DFVF_TEX3",
+    #"D3DFVF_TEX4",
+    #"D3DFVF_TEX5",
+    #"D3DFVF_TEX6",
+    #"D3DFVF_TEX7",
+    #"D3DFVF_TEX8",
     "D3DFVF_LASTBETA_UBYTE4",
     "D3DFVF_LASTBETA_D3DCOLOR",
     "D3DFVF_RESERVED2",
-    "D3DFVF_TEXCOORDSIZE3(0)",
-    "D3DFVF_TEXCOORDSIZE2(0)",
-    "D3DFVF_TEXCOORDSIZE4(0)",
-    "D3DFVF_TEXCOORDSIZE1(0)",
-    "D3DFVF_TEXCOORDSIZE3(1)",
-    "D3DFVF_TEXCOORDSIZE2(1)",
-    "D3DFVF_TEXCOORDSIZE4(1)",
-    "D3DFVF_TEXCOORDSIZE1(1)",
-    "D3DFVF_TEXCOORDSIZE3(2)",
-    "D3DFVF_TEXCOORDSIZE2(2)",
-    "D3DFVF_TEXCOORDSIZE4(2)",
-    "D3DFVF_TEXCOORDSIZE1(2)",
-    "D3DFVF_TEXCOORDSIZE3(3)",
-    "D3DFVF_TEXCOORDSIZE2(3)",
-    "D3DFVF_TEXCOORDSIZE4(3)",
-    "D3DFVF_TEXCOORDSIZE1(3)",
+    #"D3DFVF_TEXCOORDSIZE3(0)",
+    #"D3DFVF_TEXCOORDSIZE2(0)",
+    #"D3DFVF_TEXCOORDSIZE4(0)",
+    #"D3DFVF_TEXCOORDSIZE1(0)",
+    #"D3DFVF_TEXCOORDSIZE3(1)",
+    #"D3DFVF_TEXCOORDSIZE2(1)",
+    #"D3DFVF_TEXCOORDSIZE4(1)",
+    #"D3DFVF_TEXCOORDSIZE1(1)",
+    #"D3DFVF_TEXCOORDSIZE3(2)",
+    #"D3DFVF_TEXCOORDSIZE2(2)",
+    #"D3DFVF_TEXCOORDSIZE4(2)",
+    #"D3DFVF_TEXCOORDSIZE1(2)",
+    #"D3DFVF_TEXCOORDSIZE3(3)",
+    #"D3DFVF_TEXCOORDSIZE2(3)",
+    #"D3DFVF_TEXCOORDSIZE4(3)",
+    #"D3DFVF_TEXCOORDSIZE1(3)",
 ])
 
 D3DDECLUSAGE = Enum("D3DDECLUSAGE", [
@@ -683,7 +670,6 @@ D3DSHADER_INSTRUCTION_OPCODE_TYPE = Enum("D3DSHADER_INSTRUCTION_OPCODE_TYPE", [
     "D3DSIO_PHASE",
     "D3DSIO_COMMENT",
     "D3DSIO_END",
-    "D3DSIO_FORCE_DWORD",
 ])
 
 D3DSHADER_COMPARISON = Enum("D3DSHADER_COMPARISON", [
@@ -702,7 +688,6 @@ D3DSAMPLER_TEXTURE_TYPE = Enum("D3DSAMPLER_TEXTURE_TYPE", [
     "D3DSTT_2D",
     "D3DSTT_CUBE",
     "D3DSTT_VOLUME",
-    "D3DSTT_FORCE_DWORD",
 ])
 
 D3DSP = Flags(DWORD, [
@@ -741,7 +726,6 @@ D3DSHADER_PARAM_REGISTER_TYPE = Enum("D3DSHADER_PARAM_REGISTER_TYPE", [
     "D3DSPR_MISCTYPE",
     "D3DSPR_LABEL",
     "D3DSPR_PREDICATE",
-    "D3DSPR_FORCE_DWORD",
 ])
 
 D3DSHADER_MISCTYPE_OFFSETS = Enum("D3DSHADER_MISCTYPE_OFFSETS", [
@@ -753,19 +737,16 @@ D3DVS_RASTOUT_OFFSETS = Enum("D3DVS_RASTOUT_OFFSETS", [
     "D3DSRO_POSITION",
     "D3DSRO_FOG",
     "D3DSRO_POINT_SIZE",
-    "D3DSRO_FORCE_DWORD",
 ])
 
 D3DVS_ADDRESSMODE_TYPE = Enum("D3DVS_ADDRESSMODE_TYPE", [
     "D3DVS_ADDRMODE_ABSOLUTE",
     "D3DVS_ADDRMODE_RELATIVE",
-    "D3DVS_ADDRMODE_FORCE_DWORD",
 ])
 
 D3DSHADER_ADDRESSMODE_TYPE = Enum("D3DSHADER_ADDRESSMODE_TYPE", [
     "D3DSHADER_ADDRMODE_ABSOLUTE",
     "D3DSHADER_ADDRMODE_RELATIVE",
-    "D3DSHADER_ADDRMODE_FORCE_DWORD",
 ])
 
 D3DVS = Flags(DWORD, [
@@ -811,14 +792,12 @@ D3DSHADER_PARAM_SRCMOD_TYPE = Enum("D3DSHADER_PARAM_SRCMOD_TYPE", [
     "D3DSPSM_ABS",
     "D3DSPSM_ABSNEG",
     "D3DSPSM_NOT",
-    "D3DSPSM_FORCE_DWORD",
 ])
 
 D3DBASISTYPE = Enum("D3DBASISTYPE", [
     "D3DBASIS_BEZIER",
     "D3DBASIS_BSPLINE",
     "D3DBASIS_CATMULL_ROM",
-    "D3DBASIS_FORCE_DWORD",
 ])
 
 D3DDEGREETYPE = Enum("D3DDEGREETYPE", [
@@ -826,20 +805,17 @@ D3DDEGREETYPE = Enum("D3DDEGREETYPE", [
     "D3DDEGREE_QUADRATIC",
     "D3DDEGREE_CUBIC",
     "D3DDEGREE_QUINTIC",
-    "D3DDEGREE_FORCE_DWORD",
 ])
 
 D3DPATCHEDGESTYLE = Enum("D3DPATCHEDGESTYLE", [
     "D3DPATCHEDGE_DISCRETE",
     "D3DPATCHEDGE_CONTINUOUS",
-    "D3DPATCHEDGE_FORCE_DWORD",
 ])
 
 D3DSTATEBLOCKTYPE = Enum("D3DSTATEBLOCKTYPE", [
     "D3DSBT_ALL",
     "D3DSBT_PIXELSTATE",
     "D3DSBT_VERTEXSTATE",
-    "D3DSBT_FORCE_DWORD",
 ])
 
 D3DVERTEXBLENDFLAGS = Enum("D3DVERTEXBLENDFLAGS", [
@@ -849,7 +825,6 @@ D3DVERTEXBLENDFLAGS = Enum("D3DVERTEXBLENDFLAGS", [
     "D3DVBF_3WEIGHTS",
     "D3DVBF_TWEENING",
     "D3DVBF_0WEIGHTS",
-    "D3DVBF_FORCE_DWORD",
 ])
 
 D3DTEXTURETRANSFORMFLAGS = Enum("D3DTEXTURETRANSFORMFLAGS", [
@@ -859,7 +834,6 @@ D3DTEXTURETRANSFORMFLAGS = Enum("D3DTEXTURETRANSFORMFLAGS", [
     "D3DTTFF_COUNT3",
     "D3DTTFF_COUNT4",
     "D3DTTFF_PROJECTED",
-    "D3DTTFF_FORCE_DWORD",
 ])
 
 D3DDEVTYPE = Enum("D3DDEVTYPE", [
@@ -867,7 +841,6 @@ D3DDEVTYPE = Enum("D3DDEVTYPE", [
     "D3DDEVTYPE_REF",
     "D3DDEVTYPE_SW",
     "D3DDEVTYPE_NULLREF",
-    "D3DDEVTYPE_FORCE_DWORD",
 ])
 
 D3DMULTISAMPLE_TYPE = Enum("D3DMULTISAMPLE_TYPE", [
@@ -888,7 +861,6 @@ D3DMULTISAMPLE_TYPE = Enum("D3DMULTISAMPLE_TYPE", [
     "D3DMULTISAMPLE_14_SAMPLES",
     "D3DMULTISAMPLE_15_SAMPLES",
     "D3DMULTISAMPLE_16_SAMPLES",
-    "D3DMULTISAMPLE_FORCE_DWORD",
 ])
 
 D3DFORMAT = Enum("D3DFORMAT", [
@@ -956,7 +928,17 @@ D3DFORMAT = Enum("D3DFORMAT", [
     "D3DFMT_CxV8U8",
     "D3DFMT_A1",
     "D3DFMT_BINARYBUFFER",
-    "D3DFMT_FORCE_DWORD",
+
+    # Unofficial formats
+    "D3DFMT_ATI1",
+    "D3DFMT_ATI2",
+    "D3DFMT_AYUV",
+    "D3DFMT_DF16",
+    "D3DFMT_DF24",
+    "D3DFMT_INTZ",
+    "D3DFMT_NULL",
+    "D3DFMT_NV12",
+    "D3DFMT_RAWZ",
 ])
 
 D3DDISPLAYMODE = Struct("D3DDISPLAYMODE", [
@@ -977,7 +959,6 @@ D3DSWAPEFFECT = Enum("D3DSWAPEFFECT", [
     "D3DSWAPEFFECT_DISCARD",
     "D3DSWAPEFFECT_FLIP",
     "D3DSWAPEFFECT_COPY",
-    "D3DSWAPEFFECT_FORCE_DWORD",
 ])
 
 D3DPOOL = Enum("D3DPOOL", [
@@ -985,10 +966,9 @@ D3DPOOL = Enum("D3DPOOL", [
     "D3DPOOL_MANAGED",
     "D3DPOOL_SYSTEMMEM",
     "D3DPOOL_SCRATCH",
-    "D3DPOOL_FORCE_DWORD",
 ])
 
-D3DPRESENT = Flags(DWORD, [
+D3DPRESENT = FakeEnum(DWORD, [
     "D3DPRESENT_RATE_DEFAULT",
 ])
 
@@ -1019,16 +999,15 @@ D3DPRESENTFLAG = Flags(DWORD, [
 ])
 
 D3DGAMMARAMP = Struct("D3DGAMMARAMP", [
-    (WORD, "red[256]"),
-    (WORD, "green[256]"),
-    (WORD, "blue[256]"),
+    (Array(WORD, "256"), "red"),
+    (Array(WORD, "256"), "green"),
+    (Array(WORD, "256"), "blue"),
 ])
 
 D3DBACKBUFFER_TYPE = Enum("D3DBACKBUFFER_TYPE", [
     "D3DBACKBUFFER_TYPE_MONO",
     "D3DBACKBUFFER_TYPE_LEFT",
     "D3DBACKBUFFER_TYPE_RIGHT",
-    "D3DBACKBUFFER_TYPE_FORCE_DWORD",
 ])
 
 D3DRESOURCETYPE = Enum("D3DRESOURCETYPE", [
@@ -1039,7 +1018,6 @@ D3DRESOURCETYPE = Enum("D3DRESOURCETYPE", [
     "D3DRTYPE_CUBETEXTURE",
     "D3DRTYPE_VERTEXBUFFER",
     "D3DRTYPE_INDEXBUFFER",
-    "D3DRTYPE_FORCE_DWORD",
 ])
 
 D3DUSAGE = Flags(DWORD, [
@@ -1072,7 +1050,6 @@ D3DCUBEMAP_FACES = Enum("D3DCUBEMAP_FACES", [
     "D3DCUBEMAP_FACE_NEGATIVE_Y",
     "D3DCUBEMAP_FACE_POSITIVE_Z",
     "D3DCUBEMAP_FACE_NEGATIVE_Z",
-    "D3DCUBEMAP_FACE_FORCE_DWORD",
 ])
 
 D3DLOCK = Flags(DWORD, [
@@ -1124,7 +1101,7 @@ D3DVOLUME_DESC = Struct("D3DVOLUME_DESC", [
 
 D3DLOCKED_RECT = Struct("D3DLOCKED_RECT", [
     (INT, "Pitch"),
-    (Pointer(Void), "pBits"),
+    (OpaquePointer(Void), "pBits"),
 ])
 
 D3DBOX = Struct("D3DBOX", [
@@ -1139,7 +1116,7 @@ D3DBOX = Struct("D3DBOX", [
 D3DLOCKED_BOX = Struct("D3DLOCKED_BOX", [
     (INT, "RowPitch"),
     (INT, "SlicePitch"),
-    (Pointer(Void), "pBits"),
+    (OpaquePointer(Void), "pBits"),
 ])
 
 D3DRANGE = Struct("D3DRANGE", [
@@ -1165,9 +1142,9 @@ D3DTRIPATCH_INFO = Struct("D3DTRIPATCH_INFO", [
 ])
 
 D3DADAPTER_IDENTIFIER9 = Struct("D3DADAPTER_IDENTIFIER9", [
-    (String, "Driver"),
-    (String, "Description"),
-    (String, "DeviceName"),
+    (CString, "Driver"),
+    (CString, "Description"),
+    (CString, "DeviceName"),
     (LARGE_INTEGER, "DriverVersion"),
     (DWORD, "VendorId"),
     (DWORD, "DeviceId"),
@@ -1185,7 +1162,6 @@ D3DRASTER_STATUS = Struct("D3DRASTER_STATUS", [
 D3DDEBUGMONITORTOKENS = Enum("D3DDEBUGMONITORTOKENS", [
     "D3DDMT_ENABLE",
     "D3DDMT_DISABLE",
-    "D3DDMT_FORCE_DWORD",
 ])
 
 D3DQUERYTYPE = Enum("D3DQUERYTYPE", [
@@ -1229,8 +1205,7 @@ D3DRESOURCESTATS = Struct("D3DRESOURCESTATS", [
 ])
 
 D3DDEVINFO_RESOURCEMANAGER = Struct("D3DDEVINFO_RESOURCEMANAGER", [
-    (D3DRESOURCESTATS, "stats[D3DRTYPECOUNT]"),
-    (D3DRESOURCESTATS, "stats[8]"),
+    (Array(D3DRESOURCESTATS, "D3DRTYPECOUNT"), "stats"),
 ])
 
 D3DDEVINFO_D3DVERTEXSTATS = Struct("D3DDEVINFO_D3DVERTEXSTATS", [
@@ -1283,7 +1258,6 @@ D3DCOMPOSERECTSOP = Enum("D3DCOMPOSERECTSOP", [
     "D3DCOMPOSERECTS_OR",
     "D3DCOMPOSERECTS_AND",
     "D3DCOMPOSERECTS_NEG",
-    "D3DCOMPOSERECTS_FORCE_DWORD",
 ])
 
 D3DCOMPOSERECTDESC = Struct("D3DCOMPOSERECTDESC", [
@@ -1336,7 +1310,7 @@ D3DDISPLAYROTATION = Enum("D3DDISPLAYROTATION", [
     "D3DDISPLAYROTATION_270",
 ])
 
-D3D9_RESOURCE_PRIORITY = Flags(DWORD, [
+D3D9_RESOURCE_PRIORITY = FakeEnum(DWORD, [
     "D3D9_RESOURCE_PRIORITY_MINIMUM",
     "D3D9_RESOURCE_PRIORITY_LOW",
     "D3D9_RESOURCE_PRIORITY_NORMAL",