X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=specs%2Fd3d9types.py;h=dc9e85203df21cbd63e9c86b3d4e56bf9d61194a;hb=HEAD;hp=73011ee36f5945aef4d2e691f1819ddce9e59b52;hpb=bd86a22d1a17fc33a32e80e48eec3b4338081a69;p=apitrace diff --git a/specs/d3d9types.py b/specs/d3d9types.py index 73011ee..dc9e852 100644 --- a/specs/d3d9types.py +++ b/specs/d3d9types.py @@ -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",