]> git.cworth.org Git - apitrace/blobdiff - specs/d3d9types.py
d3dtrace: Recognize YV12 format.
[apitrace] / specs / d3d9types.py
index 73011ee36f5945aef4d2e691f1819ddce9e59b52..dc9e85203df21cbd63e9c86b3d4e56bf9d61194a 100644 (file)
@@ -1,5 +1,6 @@
 ##########################################################################
 #
+# Copyright 2011 Jose Fonseca
 # Copyright 2008-2009 VMware, Inc.
 # All Rights Reserved.
 #
@@ -50,7 +51,7 @@ D3DRECT = Struct("D3DRECT", [
 ])
 
 D3DMATRIX = Struct("D3DMATRIX", [
-    (Array(Array(Float, "4"), "4"), "m"),
+    (Array(Array(Float, 4), "4"), "m"),
 ])
 
 D3DVIEWPORT9 = Struct("D3DVIEWPORT9", [
@@ -62,7 +63,7 @@ D3DVIEWPORT9 = Struct("D3DVIEWPORT9", [
     (Float, "MaxZ"),
 ])
 
-D3DCLIP = Flags(DWORD, [
+D3DCLIPPLANE = Flags(DWORD, [
     "D3DCLIPPLANE0",
     "D3DCLIPPLANE1",
     "D3DCLIPPLANE2",
@@ -237,133 +238,18 @@ D3DTRANSFORMSTATETYPE = Enum("D3DTRANSFORMSTATETYPE", [
     "D3DTS_TEXTURE5",
     "D3DTS_TEXTURE6",
     "D3DTS_TEXTURE7",
-])
-
-D3DTS = Flags(DWORD, [
     "D3DTS_WORLD",
     "D3DTS_WORLD1",
     "D3DTS_WORLD2",
     "D3DTS_WORLD3",
 ])
 
-D3DRENDERSTATETYPE = Enum("D3DRENDERSTATETYPE", [
-    "D3DRS_ZENABLE",
-    "D3DRS_FILLMODE",
-    "D3DRS_SHADEMODE",
-    "D3DRS_ZWRITEENABLE",
-    "D3DRS_ALPHATESTENABLE",
-    "D3DRS_LASTPIXEL",
-    "D3DRS_SRCBLEND",
-    "D3DRS_DESTBLEND",
-    "D3DRS_CULLMODE",
-    "D3DRS_ZFUNC",
-    "D3DRS_ALPHAREF",
-    "D3DRS_ALPHAFUNC",
-    "D3DRS_DITHERENABLE",
-    "D3DRS_ALPHABLENDENABLE",
-    "D3DRS_FOGENABLE",
-    "D3DRS_SPECULARENABLE",
-    "D3DRS_FOGCOLOR",
-    "D3DRS_FOGTABLEMODE",
-    "D3DRS_FOGSTART",
-    "D3DRS_FOGEND",
-    "D3DRS_FOGDENSITY",
-    "D3DRS_RANGEFOGENABLE",
-    "D3DRS_STENCILENABLE",
-    "D3DRS_STENCILFAIL",
-    "D3DRS_STENCILZFAIL",
-    "D3DRS_STENCILPASS",
-    "D3DRS_STENCILFUNC",
-    "D3DRS_STENCILREF",
-    "D3DRS_STENCILMASK",
-    "D3DRS_STENCILWRITEMASK",
-    "D3DRS_TEXTUREFACTOR",
-    "D3DRS_WRAP0",
-    "D3DRS_WRAP1",
-    "D3DRS_WRAP2",
-    "D3DRS_WRAP3",
-    "D3DRS_WRAP4",
-    "D3DRS_WRAP5",
-    "D3DRS_WRAP6",
-    "D3DRS_WRAP7",
-    "D3DRS_CLIPPING",
-    "D3DRS_LIGHTING",
-    "D3DRS_AMBIENT",
-    "D3DRS_FOGVERTEXMODE",
-    "D3DRS_COLORVERTEX",
-    "D3DRS_LOCALVIEWER",
-    "D3DRS_NORMALIZENORMALS",
-    "D3DRS_DIFFUSEMATERIALSOURCE",
-    "D3DRS_SPECULARMATERIALSOURCE",
-    "D3DRS_AMBIENTMATERIALSOURCE",
-    "D3DRS_EMISSIVEMATERIALSOURCE",
-    "D3DRS_VERTEXBLEND",
-    "D3DRS_CLIPPLANEENABLE",
-    "D3DRS_POINTSIZE",
-    "D3DRS_POINTSIZE_MIN",
-    "D3DRS_POINTSPRITEENABLE",
-    "D3DRS_POINTSCALEENABLE",
-    "D3DRS_POINTSCALE_A",
-    "D3DRS_POINTSCALE_B",
-    "D3DRS_POINTSCALE_C",
-    "D3DRS_MULTISAMPLEANTIALIAS",
-    "D3DRS_MULTISAMPLEMASK",
-    "D3DRS_PATCHEDGESTYLE",
-    "D3DRS_DEBUGMONITORTOKEN",
-    "D3DRS_POINTSIZE_MAX",
-    "D3DRS_INDEXEDVERTEXBLENDENABLE",
-    "D3DRS_COLORWRITEENABLE",
-    "D3DRS_TWEENFACTOR",
-    "D3DRS_BLENDOP",
-    "D3DRS_POSITIONDEGREE",
-    "D3DRS_NORMALDEGREE",
-    "D3DRS_SCISSORTESTENABLE",
-    "D3DRS_SLOPESCALEDEPTHBIAS",
-    "D3DRS_ANTIALIASEDLINEENABLE",
-    "D3DRS_MINTESSELLATIONLEVEL",
-    "D3DRS_MAXTESSELLATIONLEVEL",
-    "D3DRS_ADAPTIVETESS_X",
-    "D3DRS_ADAPTIVETESS_Y",
-    "D3DRS_ADAPTIVETESS_Z",
-    "D3DRS_ADAPTIVETESS_W",
-    "D3DRS_ENABLEADAPTIVETESSELLATION",
-    "D3DRS_TWOSIDEDSTENCILMODE",
-    "D3DRS_CCW_STENCILFAIL",
-    "D3DRS_CCW_STENCILZFAIL",
-    "D3DRS_CCW_STENCILPASS",
-    "D3DRS_CCW_STENCILFUNC",
-    "D3DRS_COLORWRITEENABLE1",
-    "D3DRS_COLORWRITEENABLE2",
-    "D3DRS_COLORWRITEENABLE3",
-    "D3DRS_BLENDFACTOR",
-    "D3DRS_SRGBWRITEENABLE",
-    "D3DRS_DEPTHBIAS",
-    "D3DRS_WRAP8",
-    "D3DRS_WRAP9",
-    "D3DRS_WRAP10",
-    "D3DRS_WRAP11",
-    "D3DRS_WRAP12",
-    "D3DRS_WRAP13",
-    "D3DRS_WRAP14",
-    "D3DRS_WRAP15",
-    "D3DRS_SEPARATEALPHABLENDENABLE",
-    "D3DRS_SRCBLENDALPHA",
-    "D3DRS_DESTBLENDALPHA",
-    "D3DRS_BLENDOPALPHA",
-])
-
 D3DMATERIALCOLORSOURCE = Enum("D3DMATERIALCOLORSOURCE", [
     "D3DMCS_MATERIAL",
     "D3DMCS_COLOR1",
     "D3DMCS_COLOR2",
 ])
 
-D3DWRAP = Flags(DWORD, [
-    "D3DWRAP_U",
-    "D3DWRAP_V",
-    "D3DWRAP_W",
-])
-
 D3DWRAPCOORD = Flags(DWORD, [
     "D3DWRAPCOORD_0",
     "D3DWRAPCOORD_1",
@@ -378,46 +264,145 @@ D3DCOLORWRITEENABLE = Flags(DWORD, [
     "D3DCOLORWRITEENABLE_ALPHA",
 ])
 
-D3DTEXTURESTAGESTATETYPE = Enum("D3DTEXTURESTAGESTATETYPE", [
-    "D3DTSS_COLOROP",
-    "D3DTSS_COLORARG1",
-    "D3DTSS_COLORARG2",
-    "D3DTSS_ALPHAOP",
-    "D3DTSS_ALPHAARG1",
-    "D3DTSS_ALPHAARG2",
-    "D3DTSS_BUMPENVMAT00",
-    "D3DTSS_BUMPENVMAT01",
-    "D3DTSS_BUMPENVMAT10",
-    "D3DTSS_BUMPENVMAT11",
-    "D3DTSS_TEXCOORDINDEX",
-    "D3DTSS_BUMPENVLSCALE",
-    "D3DTSS_BUMPENVLOFFSET",
-    "D3DTSS_TEXTURETRANSFORMFLAGS",
-    "D3DTSS_COLORARG0",
-    "D3DTSS_ALPHAARG0",
-    "D3DTSS_RESULTARG",
-    "D3DTSS_CONSTANT",
-])
-
-D3DSAMPLERSTATETYPE = Enum("D3DSAMPLERSTATETYPE", [
-
-    "D3DSAMP_ADDRESSU",
-    "D3DSAMP_ADDRESSV",
-    "D3DSAMP_ADDRESSW",
-    "D3DSAMP_BORDERCOLOR",
-    "D3DSAMP_MAGFILTER",
-    "D3DSAMP_MINFILTER",
-    "D3DSAMP_MIPFILTER",
-    "D3DSAMP_MIPMAPLODBIAS",
-    "D3DSAMP_MAXMIPLEVEL",
-    "D3DSAMP_MAXANISOTROPY",
-    "D3DSAMP_SRGBTEXTURE",
-    "D3DSAMP_ELEMENTINDEX",
-    "D3DSAMP_DMAPOFFSET",
-])
-
-D3DTSS = Flags(DWORD, [
-    "D3DTSS_TCI_PASSTHRU",
+D3DDEGREETYPE = Enum("D3DDEGREETYPE", [
+    "D3DDEGREE_LINEAR",
+    "D3DDEGREE_QUADRATIC",
+    "D3DDEGREE_CUBIC",
+    "D3DDEGREE_QUINTIC",
+])
+
+D3DPATCHEDGESTYLE = Enum("D3DPATCHEDGESTYLE", [
+    "D3DPATCHEDGE_DISCRETE",
+    "D3DPATCHEDGE_CONTINUOUS",
+])
+
+D3DVERTEXBLENDFLAGS = Enum("D3DVERTEXBLENDFLAGS", [
+    "D3DVBF_DISABLE",
+    "D3DVBF_1WEIGHTS",
+    "D3DVBF_2WEIGHTS",
+    "D3DVBF_3WEIGHTS",
+    "D3DVBF_TWEENING",
+    "D3DVBF_0WEIGHTS",
+])
+
+D3DDEBUGMONITORTOKENS = Enum("D3DDEBUGMONITORTOKENS", [
+    "D3DDMT_ENABLE",
+    "D3DDMT_DISABLE",
+])
+
+# TODO: Convert these to/from actual floats
+FLOAT_AS_DWORD = DWORD
+
+D3DRENDERSTATETYPE, D3DRENDERSTATEVALUE = EnumPolymorphic("D3DRENDERSTATETYPE", "State", [
+    ("D3DRS_ZENABLE", D3DZBUFFERTYPE),
+    ("D3DRS_FILLMODE", D3DFILLMODE),
+    ("D3DRS_SHADEMODE", D3DSHADEMODE),
+    ("D3DRS_ZWRITEENABLE", BOOL),
+    ("D3DRS_ALPHATESTENABLE", BOOL),
+    ("D3DRS_LASTPIXEL", BOOL),
+    ("D3DRS_SRCBLEND", D3DBLEND),
+    ("D3DRS_DESTBLEND", D3DBLEND),
+    ("D3DRS_CULLMODE", D3DCULL),
+    ("D3DRS_ZFUNC", D3DCMPFUNC),
+    ("D3DRS_ALPHAREF", DWORD),
+    ("D3DRS_ALPHAFUNC", D3DCMPFUNC),
+    ("D3DRS_DITHERENABLE", BOOL),
+    ("D3DRS_ALPHABLENDENABLE", BOOL),
+    ("D3DRS_FOGENABLE", BOOL),
+    ("D3DRS_SPECULARENABLE", BOOL),
+    ("D3DRS_FOGCOLOR", D3DCOLOR),
+    ("D3DRS_FOGTABLEMODE", D3DFOGMODE),
+    ("D3DRS_FOGSTART", FLOAT_AS_DWORD),
+    ("D3DRS_FOGEND", FLOAT_AS_DWORD),
+    ("D3DRS_FOGDENSITY", FLOAT_AS_DWORD),
+    ("D3DRS_RANGEFOGENABLE", BOOL),
+    ("D3DRS_STENCILENABLE", BOOL),
+    ("D3DRS_STENCILFAIL", D3DSTENCILOP),
+    ("D3DRS_STENCILZFAIL", D3DSTENCILOP),
+    ("D3DRS_STENCILPASS", D3DSTENCILOP),
+    ("D3DRS_STENCILFUNC", D3DCMPFUNC),
+    ("D3DRS_STENCILREF", DWORD),
+    ("D3DRS_STENCILMASK", DWORD),
+    ("D3DRS_STENCILWRITEMASK", DWORD),
+    ("D3DRS_TEXTUREFACTOR", D3DCOLOR),
+    ("D3DRS_WRAP0", D3DWRAPCOORD),
+    ("D3DRS_WRAP1", D3DWRAPCOORD),
+    ("D3DRS_WRAP2", D3DWRAPCOORD),
+    ("D3DRS_WRAP3", D3DWRAPCOORD),
+    ("D3DRS_WRAP4", D3DWRAPCOORD),
+    ("D3DRS_WRAP5", D3DWRAPCOORD),
+    ("D3DRS_WRAP6", D3DWRAPCOORD),
+    ("D3DRS_WRAP7", D3DWRAPCOORD),
+    ("D3DRS_CLIPPING", BOOL),
+    ("D3DRS_LIGHTING", BOOL),
+    ("D3DRS_AMBIENT", D3DCOLOR),
+    ("D3DRS_FOGVERTEXMODE", D3DFOGMODE),
+    ("D3DRS_COLORVERTEX", BOOL),
+    ("D3DRS_LOCALVIEWER", BOOL),
+    ("D3DRS_NORMALIZENORMALS", BOOL),
+    ("D3DRS_DIFFUSEMATERIALSOURCE", D3DMATERIALCOLORSOURCE),
+    ("D3DRS_SPECULARMATERIALSOURCE", D3DMATERIALCOLORSOURCE),
+    ("D3DRS_AMBIENTMATERIALSOURCE", D3DMATERIALCOLORSOURCE),
+    ("D3DRS_EMISSIVEMATERIALSOURCE", D3DMATERIALCOLORSOURCE),
+    ("D3DRS_VERTEXBLEND", D3DVERTEXBLENDFLAGS),
+    ("D3DRS_CLIPPLANEENABLE", D3DCLIPPLANE),
+    ("D3DRS_POINTSIZE", FLOAT_AS_DWORD),
+    ("D3DRS_POINTSIZE_MIN", FLOAT_AS_DWORD),
+    ("D3DRS_POINTSPRITEENABLE", BOOL),
+    ("D3DRS_POINTSCALEENABLE", BOOL),
+    ("D3DRS_POINTSCALE_A", FLOAT_AS_DWORD),
+    ("D3DRS_POINTSCALE_B", FLOAT_AS_DWORD),
+    ("D3DRS_POINTSCALE_C", FLOAT_AS_DWORD),
+    ("D3DRS_MULTISAMPLEANTIALIAS", BOOL),
+    ("D3DRS_MULTISAMPLEMASK", DWORD),
+    ("D3DRS_PATCHEDGESTYLE", D3DPATCHEDGESTYLE),
+    ("D3DRS_DEBUGMONITORTOKEN", D3DDEBUGMONITORTOKENS),
+    ("D3DRS_POINTSIZE_MAX", FLOAT_AS_DWORD),
+    ("D3DRS_INDEXEDVERTEXBLENDENABLE", BOOL),
+    ("D3DRS_COLORWRITEENABLE", DWORD),
+    ("D3DRS_TWEENFACTOR", FLOAT_AS_DWORD),
+    ("D3DRS_BLENDOP", D3DBLENDOP),
+    ("D3DRS_POSITIONDEGREE", D3DDEGREETYPE),
+    ("D3DRS_NORMALDEGREE", D3DDEGREETYPE),
+    ("D3DRS_SCISSORTESTENABLE", BOOL),
+    ("D3DRS_SLOPESCALEDEPTHBIAS", FLOAT_AS_DWORD),
+    ("D3DRS_ANTIALIASEDLINEENABLE", BOOL),
+    ("D3DRS_MINTESSELLATIONLEVEL", FLOAT_AS_DWORD),
+    ("D3DRS_MAXTESSELLATIONLEVEL", FLOAT_AS_DWORD),
+    ("D3DRS_ADAPTIVETESS_X", FLOAT_AS_DWORD),
+    ("D3DRS_ADAPTIVETESS_Y", FLOAT_AS_DWORD),
+    ("D3DRS_ADAPTIVETESS_Z", FLOAT_AS_DWORD),
+    ("D3DRS_ADAPTIVETESS_W", FLOAT_AS_DWORD),
+    ("D3DRS_ENABLEADAPTIVETESSELLATION", BOOL),
+    ("D3DRS_TWOSIDEDSTENCILMODE", BOOL),
+    ("D3DRS_CCW_STENCILFAIL", D3DSTENCILOP),
+    ("D3DRS_CCW_STENCILZFAIL", D3DSTENCILOP),
+    ("D3DRS_CCW_STENCILPASS", D3DSTENCILOP),
+    ("D3DRS_CCW_STENCILFUNC", D3DCMPFUNC),
+    ("D3DRS_COLORWRITEENABLE1", D3DCOLORWRITEENABLE),
+    ("D3DRS_COLORWRITEENABLE2", D3DCOLORWRITEENABLE),
+    ("D3DRS_COLORWRITEENABLE3", D3DCOLORWRITEENABLE),
+    ("D3DRS_BLENDFACTOR", D3DCOLOR),
+    ("D3DRS_SRGBWRITEENABLE", BOOL),
+    ("D3DRS_DEPTHBIAS", FLOAT_AS_DWORD),
+    ("D3DRS_WRAP8", D3DWRAPCOORD),
+    ("D3DRS_WRAP9", D3DWRAPCOORD),
+    ("D3DRS_WRAP10", D3DWRAPCOORD),
+    ("D3DRS_WRAP11", D3DWRAPCOORD),
+    ("D3DRS_WRAP12", D3DWRAPCOORD),
+    ("D3DRS_WRAP13", D3DWRAPCOORD),
+    ("D3DRS_WRAP14", D3DWRAPCOORD),
+    ("D3DRS_WRAP15", D3DWRAPCOORD),
+    ("D3DRS_SEPARATEALPHABLENDENABLE", BOOL),
+    ("D3DRS_SRCBLENDALPHA", D3DBLEND),
+    ("D3DRS_DESTBLENDALPHA", D3DBLEND),
+    ("D3DRS_BLENDOPALPHA", D3DBLENDOP),
+
+    # XXX: D3DRENDERSTATE_WRAPBIAS + n
+], DWORD)
+
+D3DTSS_TCI = Flags(DWORD, [
+    #"D3DTSS_TCI_PASSTHRU", # 0
     "D3DTSS_TCI_CAMERASPACENORMAL",
     "D3DTSS_TCI_CAMERASPACEPOSITION",
     "D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR",
@@ -453,8 +438,8 @@ D3DTEXTUREOP = Enum("D3DTEXTUREOP", [
     "D3DTOP_LERP",
 ])
 
-D3DTA = Flags(DWORD, [
-    "D3DTA_SELECTMASK",
+# XXX: Actually a mixture of enums and flags
+D3DTA = FakeEnum(DWORD, [
     "D3DTA_DIFFUSE",
     "D3DTA_CURRENT",
     "D3DTA_TEXTURE",
@@ -462,8 +447,17 @@ D3DTA = Flags(DWORD, [
     "D3DTA_SPECULAR",
     "D3DTA_TEMP",
     "D3DTA_CONSTANT",
-    "D3DTA_COMPLEMENT",
-    "D3DTA_ALPHAREPLICATE",
+    #"D3DTA_COMPLEMENT",
+    #"D3DTA_ALPHAREPLICATE",
+])
+
+D3DTEXTURETRANSFORMFLAGS = Enum("D3DTEXTURETRANSFORMFLAGS", [
+    "D3DTTFF_DISABLE",
+    "D3DTTFF_COUNT1",
+    "D3DTTFF_COUNT2",
+    "D3DTTFF_COUNT3",
+    "D3DTTFF_COUNT4",
+    "D3DTTFF_PROJECTED",
 ])
 
 D3DTEXTUREFILTERTYPE = Enum("D3DTEXTUREFILTERTYPE", [
@@ -476,13 +470,50 @@ D3DTEXTUREFILTERTYPE = Enum("D3DTEXTUREFILTERTYPE", [
     "D3DTEXF_CONVOLUTIONMONO",
 ])
 
+D3DTEXTURESTAGESTATETYPE, D3DTEXTURESTAGESTATEVALUE = EnumPolymorphic("D3DTEXTURESTAGESTATETYPE", "Type", [
+    ("D3DTSS_COLOROP", D3DTEXTUREOP),
+    ("D3DTSS_COLORARG1", D3DTA),
+    ("D3DTSS_COLORARG2", D3DTA),
+    ("D3DTSS_ALPHAOP", D3DTEXTUREOP),
+    ("D3DTSS_ALPHAARG1", D3DTA),
+    ("D3DTSS_ALPHAARG2", D3DTA),
+    ("D3DTSS_BUMPENVMAT00", FLOAT_AS_DWORD),
+    ("D3DTSS_BUMPENVMAT01", FLOAT_AS_DWORD),
+    ("D3DTSS_BUMPENVMAT10", FLOAT_AS_DWORD),
+    ("D3DTSS_BUMPENVMAT11", FLOAT_AS_DWORD),
+    ("D3DTSS_TEXCOORDINDEX", D3DTSS_TCI),
+    ("D3DTSS_BUMPENVLSCALE", FLOAT_AS_DWORD),
+    ("D3DTSS_BUMPENVLOFFSET", FLOAT_AS_DWORD),
+    ("D3DTSS_TEXTURETRANSFORMFLAGS", D3DTEXTURETRANSFORMFLAGS),
+    ("D3DTSS_COLORARG0", D3DTA,),
+    ("D3DTSS_ALPHAARG0", D3DTA,),
+    ("D3DTSS_RESULTARG", D3DTA,),
+    ("D3DTSS_CONSTANT", D3DCOLOR),
+], DWORD)
+
+D3DSAMPLERSTATETYPE, D3DSAMPLERSTATEVALUE = EnumPolymorphic("D3DSAMPLERSTATETYPE", "Type", [
+    ("D3DSAMP_ADDRESSU", D3DTEXTUREADDRESS),
+    ("D3DSAMP_ADDRESSV", D3DTEXTUREADDRESS),
+    ("D3DSAMP_ADDRESSW", D3DTEXTUREADDRESS),
+    ("D3DSAMP_BORDERCOLOR", D3DCOLOR),
+    ("D3DSAMP_MAGFILTER", D3DTEXTUREFILTERTYPE),
+    ("D3DSAMP_MINFILTER", D3DTEXTUREFILTERTYPE),
+    ("D3DSAMP_MIPFILTER", D3DTEXTUREFILTERTYPE),
+    ("D3DSAMP_MIPMAPLODBIAS", FLOAT_AS_DWORD),
+    ("D3DSAMP_MAXMIPLEVEL", DWORD),
+    ("D3DSAMP_MAXANISOTROPY", DWORD),
+    ("D3DSAMP_SRGBTEXTURE", BOOL),
+    ("D3DSAMP_ELEMENTINDEX", DWORD),
+    ("D3DSAMP_DMAPOFFSET", DWORD),
+], DWORD)
+
 D3DPV = Flags(DWORD, [
     "D3DPV_DONOTCOPYDATA",
 ])
 
+# XXX: Actually a mixture of enums and flags
 D3DFVF = Flags(DWORD, [
     "D3DFVF_RESERVED0",
-    "D3DFVF_POSITION_MASK",
     "D3DFVF_XYZ",
     "D3DFVF_XYZRHW",
     "D3DFVF_XYZB1",
@@ -495,8 +526,6 @@ D3DFVF = Flags(DWORD, [
     "D3DFVF_PSIZE",
     "D3DFVF_DIFFUSE",
     "D3DFVF_SPECULAR",
-    #"D3DFVF_TEXCOUNT_MASK",
-    #"D3DFVF_TEXCOUNT_SHIFT",
     #"D3DFVF_TEX0",
     #"D3DFVF_TEX1",
     #"D3DFVF_TEX2",
@@ -509,25 +538,25 @@ D3DFVF = Flags(DWORD, [
     "D3DFVF_LASTBETA_UBYTE4",
     "D3DFVF_LASTBETA_D3DCOLOR",
     "D3DFVF_RESERVED2",
-    #"D3DFVF_TEXCOORDSIZE3(0)",
+    #"D3DFVF_TEXCOORDSIZE1(0)",
     #"D3DFVF_TEXCOORDSIZE2(0)",
+    #"D3DFVF_TEXCOORDSIZE3(0)",
     #"D3DFVF_TEXCOORDSIZE4(0)",
-    #"D3DFVF_TEXCOORDSIZE1(0)",
-    #"D3DFVF_TEXCOORDSIZE3(1)",
+    #"D3DFVF_TEXCOORDSIZE1(1)",
     #"D3DFVF_TEXCOORDSIZE2(1)",
+    #"D3DFVF_TEXCOORDSIZE3(1)",
     #"D3DFVF_TEXCOORDSIZE4(1)",
-    #"D3DFVF_TEXCOORDSIZE1(1)",
-    #"D3DFVF_TEXCOORDSIZE3(2)",
+    #"D3DFVF_TEXCOORDSIZE1(2)",
     #"D3DFVF_TEXCOORDSIZE2(2)",
+    #"D3DFVF_TEXCOORDSIZE3(2)",
     #"D3DFVF_TEXCOORDSIZE4(2)",
-    #"D3DFVF_TEXCOORDSIZE1(2)",
-    #"D3DFVF_TEXCOORDSIZE3(3)",
+    #"D3DFVF_TEXCOORDSIZE1(3)",
     #"D3DFVF_TEXCOORDSIZE2(3)",
+    #"D3DFVF_TEXCOORDSIZE3(3)",
     #"D3DFVF_TEXCOORDSIZE4(3)",
-    #"D3DFVF_TEXCOORDSIZE1(3)",
 ])
 
-D3DDECLUSAGE = Enum("D3DDECLUSAGE", [
+D3DDECLUSAGE = FakeEnum(BYTE, [
     "D3DDECLUSAGE_POSITION",
     "D3DDECLUSAGE_BLENDWEIGHT",
     "D3DDECLUSAGE_BLENDINDICES",
@@ -544,7 +573,7 @@ D3DDECLUSAGE = Enum("D3DDECLUSAGE", [
     "D3DDECLUSAGE_SAMPLE",
 ])
 
-D3DDECLMETHOD = Enum("D3DDECLMETHOD", [
+D3DDECLMETHOD = FakeEnum(BYTE, [
     "D3DDECLMETHOD_DEFAULT",
     "D3DDECLMETHOD_PARTIALU",
     "D3DDECLMETHOD_PARTIALV",
@@ -554,7 +583,7 @@ D3DDECLMETHOD = Enum("D3DDECLMETHOD", [
     "D3DDECLMETHOD_LOOKUPPRESAMPLED",
 ])
 
-D3DDECLTYPE = Enum("D3DDECLTYPE", [
+D3DDECLTYPE = FakeEnum(BYTE, [
     "D3DDECLTYPE_FLOAT1",
     "D3DDECLTYPE_FLOAT2",
     "D3DDECLTYPE_FLOAT3",
@@ -578,264 +607,24 @@ D3DDECLTYPE = Enum("D3DDECLTYPE", [
 D3DVERTEXELEMENT9 = Struct("D3DVERTEXELEMENT9", [
     (WORD, "Stream"),
     (WORD, "Offset"),
-    (BYTE, "Type"),
-    (BYTE, "Method"),
-    (BYTE, "Usage"),
+    (D3DDECLTYPE, "Type"), # BYTE
+    (D3DDECLMETHOD, "Method"), # BYTE
+    (D3DDECLUSAGE, "Usage"), # BYTE
     (BYTE, "UsageIndex"),
 ])
 
-D3DSHADER_INSTRUCTION_OPCODE_TYPE = Enum("D3DSHADER_INSTRUCTION_OPCODE_TYPE", [
-    "D3DSIO_NOP",
-    "D3DSIO_MOV",
-    "D3DSIO_ADD",
-    "D3DSIO_SUB",
-    "D3DSIO_MAD",
-    "D3DSIO_MUL",
-    "D3DSIO_RCP",
-    "D3DSIO_RSQ",
-    "D3DSIO_DP3",
-    "D3DSIO_DP4",
-    "D3DSIO_MIN",
-    "D3DSIO_MAX",
-    "D3DSIO_SLT",
-    "D3DSIO_SGE",
-    "D3DSIO_EXP",
-    "D3DSIO_LOG",
-    "D3DSIO_LIT",
-    "D3DSIO_DST",
-    "D3DSIO_LRP",
-    "D3DSIO_FRC",
-    "D3DSIO_M4x4",
-    "D3DSIO_M4x3",
-    "D3DSIO_M3x4",
-    "D3DSIO_M3x3",
-    "D3DSIO_M3x2",
-    "D3DSIO_CALL",
-    "D3DSIO_CALLNZ",
-    "D3DSIO_LOOP",
-    "D3DSIO_RET",
-    "D3DSIO_ENDLOOP",
-    "D3DSIO_LABEL",
-    "D3DSIO_DCL",
-    "D3DSIO_POW",
-    "D3DSIO_CRS",
-    "D3DSIO_SGN",
-    "D3DSIO_ABS",
-    "D3DSIO_NRM",
-    "D3DSIO_SINCOS",
-    "D3DSIO_REP",
-    "D3DSIO_ENDREP",
-    "D3DSIO_IF",
-    "D3DSIO_IFC",
-    "D3DSIO_ELSE",
-    "D3DSIO_ENDIF",
-    "D3DSIO_BREAK",
-    "D3DSIO_BREAKC",
-    "D3DSIO_MOVA",
-    "D3DSIO_DEFB",
-    "D3DSIO_DEFI",
-    "D3DSIO_TEXCOORD",
-    "D3DSIO_TEXKILL",
-    "D3DSIO_TEX",
-    "D3DSIO_TEXBEM",
-    "D3DSIO_TEXBEML",
-    "D3DSIO_TEXREG2AR",
-    "D3DSIO_TEXREG2GB",
-    "D3DSIO_TEXM3x2PAD",
-    "D3DSIO_TEXM3x2TEX",
-    "D3DSIO_TEXM3x3PAD",
-    "D3DSIO_TEXM3x3TEX",
-    "D3DSIO_RESERVED0",
-    "D3DSIO_TEXM3x3SPEC",
-    "D3DSIO_TEXM3x3VSPEC",
-    "D3DSIO_EXPP",
-    "D3DSIO_LOGP",
-    "D3DSIO_CND",
-    "D3DSIO_DEF",
-    "D3DSIO_TEXREG2RGB",
-    "D3DSIO_TEXDP3TEX",
-    "D3DSIO_TEXM3x2DEPTH",
-    "D3DSIO_TEXDP3",
-    "D3DSIO_TEXM3x3",
-    "D3DSIO_TEXDEPTH",
-    "D3DSIO_CMP",
-    "D3DSIO_BEM",
-    "D3DSIO_DP2ADD",
-    "D3DSIO_DSX",
-    "D3DSIO_DSY",
-    "D3DSIO_TEXLDD",
-    "D3DSIO_SETP",
-    "D3DSIO_TEXLDL",
-    "D3DSIO_BREAKP",
-    "D3DSIO_PHASE",
-    "D3DSIO_COMMENT",
-    "D3DSIO_END",
-])
-
-D3DSHADER_COMPARISON = Enum("D3DSHADER_COMPARISON", [
-    "D3DSPC_RESERVED0",
-    "D3DSPC_GT",
-    "D3DSPC_EQ",
-    "D3DSPC_GE",
-    "D3DSPC_LT",
-    "D3DSPC_NE",
-    "D3DSPC_LE",
-    "D3DSPC_RESERVED1",
-])
-
-D3DSAMPLER_TEXTURE_TYPE = Enum("D3DSAMPLER_TEXTURE_TYPE", [
-    "D3DSTT_UNKNOWN",
-    "D3DSTT_2D",
-    "D3DSTT_CUBE",
-    "D3DSTT_VOLUME",
-])
-
-D3DSP = Flags(DWORD, [
-    "D3DSP_WRITEMASK_0",
-    "D3DSP_WRITEMASK_1",
-    "D3DSP_WRITEMASK_2",
-    "D3DSP_WRITEMASK_3",
-    "D3DSP_WRITEMASK_ALL",
-])
-
-D3DSHADER_PARAM_DSTMOD_TYPE = Flags(DWORD, [
-    "D3DSPDM_NONE",
-    "D3DSPDM_SATURATE",
-    "D3DSPDM_PARTIALPRECISION",
-    "D3DSPDM_MSAMPCENTROID",
-])
-
-D3DSHADER_PARAM_REGISTER_TYPE = Enum("D3DSHADER_PARAM_REGISTER_TYPE", [
-    "D3DSPR_TEMP",
-    "D3DSPR_INPUT",
-    "D3DSPR_CONST",
-    "D3DSPR_ADDR|D3DSPR_TEXTURE",
-    "D3DSPR_RASTOUT",
-    "D3DSPR_ATTROUT",
-    "D3DSPR_TEXCRDOUT|D3DSPR_OUTPUT",
-    "D3DSPR_CONSTINT",
-    "D3DSPR_COLOROUT",
-    "D3DSPR_DEPTHOUT",
-    "D3DSPR_SAMPLER",
-    "D3DSPR_CONST2",
-    "D3DSPR_CONST3",
-    "D3DSPR_CONST4",
-    "D3DSPR_CONSTBOOL",
-    "D3DSPR_LOOP",
-    "D3DSPR_TEMPFLOAT16",
-    "D3DSPR_MISCTYPE",
-    "D3DSPR_LABEL",
-    "D3DSPR_PREDICATE",
-])
-
-D3DSHADER_MISCTYPE_OFFSETS = Enum("D3DSHADER_MISCTYPE_OFFSETS", [
-    "D3DSMO_POSITION",
-    "D3DSMO_FACE",
-])
-
-D3DVS_RASTOUT_OFFSETS = Enum("D3DVS_RASTOUT_OFFSETS", [
-    "D3DSRO_POSITION",
-    "D3DSRO_FOG",
-    "D3DSRO_POINT_SIZE",
-])
-
-D3DVS_ADDRESSMODE_TYPE = Enum("D3DVS_ADDRESSMODE_TYPE", [
-    "D3DVS_ADDRMODE_ABSOLUTE",
-    "D3DVS_ADDRMODE_RELATIVE",
-])
-
-D3DSHADER_ADDRESSMODE_TYPE = Enum("D3DSHADER_ADDRESSMODE_TYPE", [
-    "D3DSHADER_ADDRMODE_ABSOLUTE",
-    "D3DSHADER_ADDRMODE_RELATIVE",
-])
-
-D3DVS = Flags(DWORD, [
-    "D3DVS_X_X",
-    "D3DVS_X_Y",
-    "D3DVS_X_Z",
-    "D3DVS_X_W",
-    "D3DVS_Y_X",
-    "D3DVS_Y_Y",
-    "D3DVS_Y_Z",
-    "D3DVS_Y_W",
-    "D3DVS_Z_X",
-    "D3DVS_Z_Y",
-    "D3DVS_Z_Z",
-    "D3DVS_Z_W",
-    "D3DVS_W_X",
-    "D3DVS_W_Y",
-    "D3DVS_W_Z",
-    "D3DVS_W_W",
-    "D3DVS_NOSWIZZLE",
-])
-
-D3DSP = Flags(DWORD, [
-    "D3DSP_NOSWIZZLE",
-    "D3DSP_REPLICATERED",
-    "D3DSP_REPLICATEGREEN",
-    "D3DSP_REPLICATEBLUE",
-    "D3DSP_REPLICATEALPHA",
-])
-
-D3DSHADER_PARAM_SRCMOD_TYPE = Enum("D3DSHADER_PARAM_SRCMOD_TYPE", [
-    "D3DSPSM_NONE",
-    "D3DSPSM_NEG",
-    "D3DSPSM_BIAS",
-    "D3DSPSM_BIASNEG",
-    "D3DSPSM_SIGN",
-    "D3DSPSM_SIGNNEG",
-    "D3DSPSM_COMP",
-    "D3DSPSM_X2",
-    "D3DSPSM_X2NEG",
-    "D3DSPSM_DZ",
-    "D3DSPSM_DW",
-    "D3DSPSM_ABS",
-    "D3DSPSM_ABSNEG",
-    "D3DSPSM_NOT",
-])
-
 D3DBASISTYPE = Enum("D3DBASISTYPE", [
     "D3DBASIS_BEZIER",
     "D3DBASIS_BSPLINE",
     "D3DBASIS_CATMULL_ROM",
 ])
 
-D3DDEGREETYPE = Enum("D3DDEGREETYPE", [
-    "D3DDEGREE_LINEAR",
-    "D3DDEGREE_QUADRATIC",
-    "D3DDEGREE_CUBIC",
-    "D3DDEGREE_QUINTIC",
-])
-
-D3DPATCHEDGESTYLE = Enum("D3DPATCHEDGESTYLE", [
-    "D3DPATCHEDGE_DISCRETE",
-    "D3DPATCHEDGE_CONTINUOUS",
-])
-
 D3DSTATEBLOCKTYPE = Enum("D3DSTATEBLOCKTYPE", [
     "D3DSBT_ALL",
     "D3DSBT_PIXELSTATE",
     "D3DSBT_VERTEXSTATE",
 ])
 
-D3DVERTEXBLENDFLAGS = Enum("D3DVERTEXBLENDFLAGS", [
-    "D3DVBF_DISABLE",
-    "D3DVBF_1WEIGHTS",
-    "D3DVBF_2WEIGHTS",
-    "D3DVBF_3WEIGHTS",
-    "D3DVBF_TWEENING",
-    "D3DVBF_0WEIGHTS",
-])
-
-D3DTEXTURETRANSFORMFLAGS = Enum("D3DTEXTURETRANSFORMFLAGS", [
-    "D3DTTFF_DISABLE",
-    "D3DTTFF_COUNT1",
-    "D3DTTFF_COUNT2",
-    "D3DTTFF_COUNT3",
-    "D3DTTFF_COUNT4",
-    "D3DTTFF_PROJECTED",
-])
-
 D3DDEVTYPE = Enum("D3DDEVTYPE", [
     "D3DDEVTYPE_HAL",
     "D3DDEVTYPE_REF",
@@ -927,17 +716,19 @@ D3DFORMAT = Enum("D3DFORMAT", [
     "D3DFMT_A32B32G32R32F",
     "D3DFMT_CxV8U8",
     "D3DFMT_A1",
+    "D3DFMT_A2B10G10R10_XR_BIAS",
     "D3DFMT_BINARYBUFFER",
 
     # Unofficial formats
-    "D3DFMT_ATI1",
-    "D3DFMT_ATI2",
+    "D3DFMT_ATI1N",
+    "D3DFMT_ATI2N",
     "D3DFMT_AYUV",
     "D3DFMT_DF16",
     "D3DFMT_DF24",
     "D3DFMT_INTZ",
     "D3DFMT_NULL",
     "D3DFMT_NV12",
+    "D3DFMT_YV12",
     "D3DFMT_RAWZ",
 ])
 
@@ -948,11 +739,28 @@ D3DDISPLAYMODE = Struct("D3DDISPLAYMODE", [
     (D3DFORMAT, "Format"),
 ])
 
+D3DCREATE = Flags(DWORD, [
+    "D3DCREATE_FPU_PRESERVE",
+    "D3DCREATE_MULTITHREADED",
+    "D3DCREATE_PUREDEVICE",
+    "D3DCREATE_SOFTWARE_VERTEXPROCESSING",
+    "D3DCREATE_HARDWARE_VERTEXPROCESSING",
+    "D3DCREATE_MIXED_VERTEXPROCESSING",
+    "D3DCREATE_DISABLE_DRIVER_MANAGEMENT",
+    "D3DCREATE_ADAPTERGROUP_DEVICE",
+    "D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX",
+    "D3DCREATE_NOWINDOWCHANGES",
+    "D3DCREATE_DISABLE_PSGP_THREADING",
+    "D3DCREATE_ENABLE_PRESENTSTATS",
+    "D3DCREATE_DISABLE_PRINTSCREEN",
+    "D3DCREATE_SCREENSAVER",
+])
+
 D3DDEVICE_CREATION_PARAMETERS = Struct("D3DDEVICE_CREATION_PARAMETERS", [
     (UINT, "AdapterOrdinal"),
     (D3DDEVTYPE, "DeviceType"),
     (HWND, "hFocusWindow"),
-    (DWORD, "BehaviorFlags"),
+    (D3DCREATE, "BehaviorFlags"),
 ])
 
 D3DSWAPEFFECT = Enum("D3DSWAPEFFECT", [
@@ -972,6 +780,24 @@ D3DPRESENT = FakeEnum(DWORD, [
     "D3DPRESENT_RATE_DEFAULT",
 ])
 
+D3DPRESENTFLAG = Flags(DWORD, [
+    "D3DPRESENTFLAG_LOCKABLE_BACKBUFFER",
+    "D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL",
+    "D3DPRESENTFLAG_DEVICECLIP",
+    "D3DPRESENTFLAG_VIDEO",
+    "D3DPRESENTFLAG_NOAUTOROTATE",
+    "D3DPRESENTFLAG_UNPRUNEDMODE",
+])
+
+D3DPRESENT_INTERVAL = Flags(DWORD, [
+    "D3DPRESENT_INTERVAL_DEFAULT", # 0
+    "D3DPRESENT_INTERVAL_ONE",
+    "D3DPRESENT_INTERVAL_TWO",
+    "D3DPRESENT_INTERVAL_THREE",
+    "D3DPRESENT_INTERVAL_FOUR",
+    "D3DPRESENT_INTERVAL_IMMEDIATE",
+])
+
 D3DPRESENT_PARAMETERS = Struct("D3DPRESENT_PARAMETERS", [
     (UINT, "BackBufferWidth"),
     (UINT, "BackBufferHeight"),
@@ -984,24 +810,15 @@ D3DPRESENT_PARAMETERS = Struct("D3DPRESENT_PARAMETERS", [
     (BOOL, "Windowed"),
     (BOOL, "EnableAutoDepthStencil"),
     (D3DFORMAT, "AutoDepthStencilFormat"),
-    (DWORD, "Flags"),
+    (D3DPRESENTFLAG, "Flags"),
     (UINT, "FullScreen_RefreshRateInHz"),
-    (UINT, "PresentationInterval"),
-])
-
-D3DPRESENTFLAG = Flags(DWORD, [
-    "D3DPRESENTFLAG_LOCKABLE_BACKBUFFER",
-    "D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL",
-    "D3DPRESENTFLAG_DEVICECLIP",
-    "D3DPRESENTFLAG_VIDEO",
-    "D3DPRESENTFLAG_NOAUTOROTATE",
-    "D3DPRESENTFLAG_UNPRUNEDMODE",
+    (D3DPRESENT_INTERVAL, "PresentationInterval"),
 ])
 
 D3DGAMMARAMP = Struct("D3DGAMMARAMP", [
-    (Array(WORD, "256"), "red"),
-    (Array(WORD, "256"), "green"),
-    (Array(WORD, "256"), "blue"),
+    (Array(WORD, 256), "red"),
+    (Array(WORD, 256), "green"),
+    (Array(WORD, 256), "blue"),
 ])
 
 D3DBACKBUFFER_TYPE = Enum("D3DBACKBUFFER_TYPE", [
@@ -1023,9 +840,17 @@ D3DRESOURCETYPE = Enum("D3DRESOURCETYPE", [
 D3DUSAGE = Flags(DWORD, [
     "D3DUSAGE_RENDERTARGET",
     "D3DUSAGE_DEPTHSTENCIL",
+    "D3DUSAGE_WRITEONLY",
+    "D3DUSAGE_SOFTWAREPROCESSING",
+    "D3DUSAGE_DONOTCLIP",
+    "D3DUSAGE_POINTS",
+    "D3DUSAGE_RTPATCHES",
+    "D3DUSAGE_NPATCHES",
     "D3DUSAGE_DYNAMIC",
-    "D3DUSAGE_NONSECURE",
     "D3DUSAGE_AUTOGENMIPMAP",
+    "D3DUSAGE_RESTRICTED_CONTENT",
+    "D3DUSAGE_RESTRICT_SHARED_RESOURCE",
+    "D3DUSAGE_RESTRICT_SHARED_RESOURCE_DRIVER",
     "D3DUSAGE_DMAP",
     "D3DUSAGE_QUERY_LEGACYBUMPMAP",
     "D3DUSAGE_QUERY_SRGBREAD",
@@ -1034,12 +859,7 @@ D3DUSAGE = Flags(DWORD, [
     "D3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING",
     "D3DUSAGE_QUERY_VERTEXTEXTURE",
     "D3DUSAGE_QUERY_WRAPANDMIP",
-    "D3DUSAGE_WRITEONLY",
-    "D3DUSAGE_SOFTWAREPROCESSING",
-    "D3DUSAGE_DONOTCLIP",
-    "D3DUSAGE_POINTS",
-    "D3DUSAGE_RTPATCHES",
-    "D3DUSAGE_NPATCHES",
+    "D3DUSAGE_NONSECURE",
     "D3DUSAGE_TEXTAPI",
 ])
 
@@ -1064,7 +884,7 @@ D3DLOCK = Flags(DWORD, [
 D3DVERTEXBUFFER_DESC = Struct("D3DVERTEXBUFFER_DESC", [
     (D3DFORMAT, "Format"),
     (D3DRESOURCETYPE, "Type"),
-    (DWORD, "Usage"),
+    (D3DUSAGE, "Usage"),
     (D3DPOOL, "Pool"),
     (UINT, "Size"),
     (DWORD, "FVF"),
@@ -1073,7 +893,7 @@ D3DVERTEXBUFFER_DESC = Struct("D3DVERTEXBUFFER_DESC", [
 D3DINDEXBUFFER_DESC = Struct("D3DINDEXBUFFER_DESC", [
     (D3DFORMAT, "Format"),
     (D3DRESOURCETYPE, "Type"),
-    (DWORD, "Usage"),
+    (D3DUSAGE, "Usage"),
     (D3DPOOL, "Pool"),
     (UINT, "Size"),
 ])
@@ -1081,7 +901,7 @@ D3DINDEXBUFFER_DESC = Struct("D3DINDEXBUFFER_DESC", [
 D3DSURFACE_DESC = Struct("D3DSURFACE_DESC", [
     (D3DFORMAT, "Format"),
     (D3DRESOURCETYPE, "Type"),
-    (DWORD, "Usage"),
+    (D3DUSAGE, "Usage"),
     (D3DPOOL, "Pool"),
     (D3DMULTISAMPLE_TYPE, "MultiSampleType"),
     (DWORD, "MultiSampleQuality"),
@@ -1092,7 +912,7 @@ D3DSURFACE_DESC = Struct("D3DSURFACE_DESC", [
 D3DVOLUME_DESC = Struct("D3DVOLUME_DESC", [
     (D3DFORMAT, "Format"),
     (D3DRESOURCETYPE, "Type"),
-    (DWORD, "Usage"),
+    (D3DUSAGE, "Usage"),
     (D3DPOOL, "Pool"),
     (UINT, "Width"),
     (UINT, "Height"),
@@ -1101,7 +921,7 @@ D3DVOLUME_DESC = Struct("D3DVOLUME_DESC", [
 
 D3DLOCKED_RECT = Struct("D3DLOCKED_RECT", [
     (INT, "Pitch"),
-    (OpaquePointer(Void), "pBits"),
+    (LinearPointer(Void, "_MappedSize"), "pBits"),
 ])
 
 D3DBOX = Struct("D3DBOX", [
@@ -1116,7 +936,7 @@ D3DBOX = Struct("D3DBOX", [
 D3DLOCKED_BOX = Struct("D3DLOCKED_BOX", [
     (INT, "RowPitch"),
     (INT, "SlicePitch"),
-    (OpaquePointer(Void), "pBits"),
+    (LinearPointer(Void, "_MappedSize"), "pBits"),
 ])
 
 D3DRANGE = Struct("D3DRANGE", [
@@ -1159,11 +979,6 @@ D3DRASTER_STATUS = Struct("D3DRASTER_STATUS", [
     (UINT, "ScanLine"),
 ])
 
-D3DDEBUGMONITORTOKENS = Enum("D3DDEBUGMONITORTOKENS", [
-    "D3DDMT_ENABLE",
-    "D3DDMT_DISABLE",
-])
-
 D3DQUERYTYPE = Enum("D3DQUERYTYPE", [
     "D3DQUERYTYPE_VCACHE",
     "D3DQUERYTYPE_RESOURCEMANAGER",