"D3DTS_TEXTURE5",
"D3DTS_TEXTURE6",
"D3DTS_TEXTURE7",
-])
-
-D3DTS = Flags(DWORD, [
"D3DTS_WORLD",
"D3DTS_WORLD1",
"D3DTS_WORLD2",
# TODO: Convert these to/from actual floats
FLOAT_AS_DWORD = DWORD
-D3DRENDERSTATEVALUE = Polymorphic(DWORD, "State", [
+D3DRENDERSTATETYPE, D3DRENDERSTATEVALUE = EnumPolymorphic("D3DRENDERSTATETYPE", "State", [
("D3DRS_ZENABLE", D3DZBUFFERTYPE),
("D3DRS_FILLMODE", D3DFILLMODE),
("D3DRS_SHADEMODE", D3DSHADEMODE),
("D3DRS_BLENDOPALPHA", D3DBLENDOP),
# XXX: D3DRENDERSTATE_WRAPBIAS + n
-])
-
-D3DRENDERSTATETYPE = Enum("D3DRENDERSTATETYPE", [
- expr for expr, types in D3DRENDERSTATEVALUE.switchTypes
-])
+], DWORD)
D3DTSS_TCI = Flags(DWORD, [
#"D3DTSS_TCI_PASSTHRU", # 0
"D3DTTFF_PROJECTED",
])
+D3DTEXTUREFILTERTYPE = Enum("D3DTEXTUREFILTERTYPE", [
+ "D3DTEXF_NONE",
+ "D3DTEXF_POINT",
+ "D3DTEXF_LINEAR",
+ "D3DTEXF_ANISOTROPIC",
+ "D3DTEXF_PYRAMIDALQUAD",
+ "D3DTEXF_GAUSSIANQUAD",
+ "D3DTEXF_CONVOLUTIONMONO",
+])
-D3DTEXTURESTAGESTATEVALUE = Polymorphic(DWORD, "Type", [
+D3DTEXTURESTAGESTATETYPE, D3DTEXTURESTAGESTATEVALUE = EnumPolymorphic("D3DTEXTURESTAGESTATETYPE", "Type", [
("D3DTSS_COLOROP", D3DTEXTUREOP),
("D3DTSS_COLORARG1", D3DTA),
("D3DTSS_COLORARG2", D3DTA),
("D3DTSS_BUMPENVMAT01", FLOAT_AS_DWORD),
("D3DTSS_BUMPENVMAT10", FLOAT_AS_DWORD),
("D3DTSS_BUMPENVMAT11", FLOAT_AS_DWORD),
- ("D3DTSS_TEXCOORDINDEX", D3DTSS_TCI,),
+ ("D3DTSS_TEXCOORDINDEX", D3DTSS_TCI),
("D3DTSS_BUMPENVLSCALE", FLOAT_AS_DWORD),
("D3DTSS_BUMPENVLOFFSET", FLOAT_AS_DWORD),
("D3DTSS_TEXTURETRANSFORMFLAGS", D3DTEXTURETRANSFORMFLAGS),
("D3DTSS_ALPHAARG0", D3DTA,),
("D3DTSS_RESULTARG", D3DTA,),
("D3DTSS_CONSTANT", D3DCOLOR),
-])
-
-D3DTEXTURESTAGESTATETYPE = Enum("D3DTEXTURESTAGESTATETYPE", [
- expr for expr, types in D3DTEXTURESTAGESTATEVALUE.switchTypes
-])
+], DWORD)
-D3DTEXTUREFILTERTYPE = Enum("D3DTEXTUREFILTERTYPE", [
- "D3DTEXF_NONE",
- "D3DTEXF_POINT",
- "D3DTEXF_LINEAR",
- "D3DTEXF_ANISOTROPIC",
- "D3DTEXF_PYRAMIDALQUAD",
- "D3DTEXF_GAUSSIANQUAD",
- "D3DTEXF_CONVOLUTIONMONO",
-])
-
-D3DSAMPLERSTATEVALUE = Polymorphic(DWORD, "Type", [
+D3DSAMPLERSTATETYPE, D3DSAMPLERSTATEVALUE = EnumPolymorphic("D3DSAMPLERSTATETYPE", "Type", [
("D3DSAMP_ADDRESSU", D3DTEXTUREADDRESS),
("D3DSAMP_ADDRESSV", D3DTEXTUREADDRESS),
("D3DSAMP_ADDRESSW", D3DTEXTUREADDRESS),
("D3DSAMP_SRGBTEXTURE", BOOL),
("D3DSAMP_ELEMENTINDEX", DWORD),
("D3DSAMP_DMAPOFFSET", DWORD),
-])
-
-D3DSAMPLERSTATETYPE = Enum("D3DSAMPLERSTATETYPE", [
- expr for expr, types in D3DSAMPLERSTATEVALUE.switchTypes
-])
+], DWORD)
D3DPV = Flags(DWORD, [
"D3DPV_DONOTCOPYDATA",
(BYTE, "UsageIndex"),
])
-D3DSHADER_ADDRESSMODE_TYPE = Enum("D3DSHADER_ADDRESSMODE_TYPE", [
- "D3DSHADER_ADDRMODE_ABSOLUTE",
- "D3DSHADER_ADDRMODE_RELATIVE",
-])
-
D3DBASISTYPE = Enum("D3DBASISTYPE", [
"D3DBASIS_BEZIER",
"D3DBASIS_BSPLINE",
"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",
])
(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", [
"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"),
(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", [
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",
"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",
])
D3DVERTEXBUFFER_DESC = Struct("D3DVERTEXBUFFER_DESC", [
(D3DFORMAT, "Format"),
(D3DRESOURCETYPE, "Type"),
- (DWORD, "Usage"),
+ (D3DUSAGE, "Usage"),
(D3DPOOL, "Pool"),
(UINT, "Size"),
(DWORD, "FVF"),
D3DINDEXBUFFER_DESC = Struct("D3DINDEXBUFFER_DESC", [
(D3DFORMAT, "Format"),
(D3DRESOURCETYPE, "Type"),
- (DWORD, "Usage"),
+ (D3DUSAGE, "Usage"),
(D3DPOOL, "Pool"),
(UINT, "Size"),
])
D3DSURFACE_DESC = Struct("D3DSURFACE_DESC", [
(D3DFORMAT, "Format"),
(D3DRESOURCETYPE, "Type"),
- (DWORD, "Usage"),
+ (D3DUSAGE, "Usage"),
(D3DPOOL, "Pool"),
(D3DMULTISAMPLE_TYPE, "MultiSampleType"),
(DWORD, "MultiSampleQuality"),
D3DVOLUME_DESC = Struct("D3DVOLUME_DESC", [
(D3DFORMAT, "Format"),
(D3DRESOURCETYPE, "Type"),
- (DWORD, "Usage"),
+ (D3DUSAGE, "Usage"),
(D3DPOOL, "Pool"),
(UINT, "Width"),
(UINT, "Height"),
D3DLOCKED_RECT = Struct("D3DLOCKED_RECT", [
(INT, "Pitch"),
- (OpaquePointer(Void), "pBits"),
+ (LinearPointer(Void, "_MappedSize"), "pBits"),
])
D3DBOX = Struct("D3DBOX", [
D3DLOCKED_BOX = Struct("D3DLOCKED_BOX", [
(INT, "RowPitch"),
(INT, "SlicePitch"),
- (OpaquePointer(Void), "pBits"),
+ (LinearPointer(Void, "_MappedSize"), "pBits"),
])
D3DRANGE = Struct("D3DRANGE", [