summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosé Fonseca <jose.r.fonseca@gmail.com>2011-10-14 10:04:12 +0100
committerJosé Fonseca <jose.r.fonseca@gmail.com>2011-10-14 10:04:12 +0100
commitba21134a24723a006a73e3218a24b6a02685d35d (patch)
tree8c3a98ba715322b57371524d770ccaebc6b62f16
parent16d46dde420c537783ac19821abc8dfc54451cef (diff)
More polymorphic types in D3D9.
-rw-r--r--specs/d3d9.py8
-rw-r--r--specs/d3d9types.py110
2 files changed, 63 insertions, 55 deletions
diff --git a/specs/d3d9.py b/specs/d3d9.py
index cc39808..ad20ef1 100644
--- a/specs/d3d9.py
+++ b/specs/d3d9.py
@@ -234,10 +234,10 @@ IDirect3DDevice9.methods += [
Method(HRESULT, "GetClipStatus", [Out(Pointer(D3DCLIPSTATUS9), "pClipStatus")]),
Method(HRESULT, "GetTexture", [(DWORD, "Stage"), Out(Pointer(PDIRECT3DBASETEXTURE9), "ppTexture")]),
Method(HRESULT, "SetTexture", [(DWORD, "Stage"), (PDIRECT3DBASETEXTURE9, "pTexture")]),
- Method(HRESULT, "GetTextureStageState", [(DWORD, "Stage"), (D3DTEXTURESTAGESTATETYPE, "Type"), Out(Pointer(DWORD), "pValue")]),
- Method(HRESULT, "SetTextureStageState", [(DWORD, "Stage"), (D3DTEXTURESTAGESTATETYPE, "Type"), (DWORD, "Value")]),
- Method(HRESULT, "GetSamplerState", [(DWORD, "Sampler"), (D3DSAMPLERSTATETYPE, "Type"), Out(Pointer(DWORD), "pValue")]),
- Method(HRESULT, "SetSamplerState", [(DWORD, "Sampler"), (D3DSAMPLERSTATETYPE, "Type"), (DWORD, "Value")]),
+ Method(HRESULT, "GetTextureStageState", [(DWORD, "Stage"), (D3DTEXTURESTAGESTATETYPE, "Type"), Out(Pointer(D3DTEXTURESTAGESTATEVALUE), "pValue")]),
+ Method(HRESULT, "SetTextureStageState", [(DWORD, "Stage"), (D3DTEXTURESTAGESTATETYPE, "Type"), (D3DTEXTURESTAGESTATEVALUE, "Value")]),
+ Method(HRESULT, "GetSamplerState", [(DWORD, "Sampler"), (D3DSAMPLERSTATETYPE, "Type"), Out(Pointer(D3DSAMPLERSTATEVALUE), "pValue")]),
+ Method(HRESULT, "SetSamplerState", [(DWORD, "Sampler"), (D3DSAMPLERSTATETYPE, "Type"), (D3DSAMPLERSTATEVALUE, "Value")]),
Method(HRESULT, "ValidateDevice", [Out(Pointer(DWORD), "pNumPasses")]),
Method(HRESULT, "SetPaletteEntries", [(UINT, "PaletteNumber"), (ConstPointer(PALETTEENTRY), "pEntries")]),
Method(HRESULT, "GetPaletteEntries", [(UINT, "PaletteNumber"), Out(Pointer(PALETTEENTRY), "pEntries")]),
diff --git a/specs/d3d9types.py b/specs/d3d9types.py
index 6dc250c..ca9340c 100644
--- a/specs/d3d9types.py
+++ b/specs/d3d9types.py
@@ -403,50 +403,12 @@ D3DRENDERSTATEVALUE = Polymorphic(DWORD, "State", [
# XXX: D3DRENDERSTATE_WRAPBIAS + n
])
-D3DRENDERSTATETYPE = Enum("D3DRENDERSTATETYPE",
- [expr for expr, types in D3DRENDERSTATEVALUE.switch_types]
-)
-
-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",
+D3DRENDERSTATETYPE = Enum("D3DRENDERSTATETYPE", [
+ expr for expr, types in D3DRENDERSTATEVALUE.switch_types
])
-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",
+D3DTSS_TCI = Flags(DWORD, [
+ #"D3DTSS_TCI_PASSTHRU", 0
"D3DTSS_TCI_CAMERASPACENORMAL",
"D3DTSS_TCI_CAMERASPACEPOSITION",
"D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR",
@@ -495,6 +457,41 @@ D3DTA = Flags(DWORD, [
"D3DTA_ALPHAREPLICATE",
])
+D3DTEXTURETRANSFORMFLAGS = Enum("D3DTEXTURETRANSFORMFLAGS", [
+ "D3DTTFF_DISABLE",
+ "D3DTTFF_COUNT1",
+ "D3DTTFF_COUNT2",
+ "D3DTTFF_COUNT3",
+ "D3DTTFF_COUNT4",
+ "D3DTTFF_PROJECTED",
+])
+
+
+D3DTEXTURESTAGESTATEVALUE = Polymorphic(DWORD, "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),
+])
+
+D3DTEXTURESTAGESTATETYPE = Enum("D3DTEXTURESTAGESTATETYPE", [
+ expr for expr, types in D3DTEXTURESTAGESTATEVALUE.switch_types
+])
+
D3DTEXTUREFILTERTYPE = Enum("D3DTEXTUREFILTERTYPE", [
"D3DTEXF_NONE",
"D3DTEXF_POINT",
@@ -505,6 +502,26 @@ D3DTEXTUREFILTERTYPE = Enum("D3DTEXTUREFILTERTYPE", [
"D3DTEXF_CONVOLUTIONMONO",
])
+D3DSAMPLERSTATEVALUE = Polymorphic(DWORD, "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),
+])
+
+D3DSAMPLERSTATETYPE = Enum("D3DSAMPLERSTATETYPE", [
+ expr for expr, types in D3DSAMPLERSTATEVALUE.switch_types
+])
+
D3DPV = Flags(DWORD, [
"D3DPV_DONOTCOPYDATA",
])
@@ -835,15 +852,6 @@ D3DSTATEBLOCKTYPE = Enum("D3DSTATEBLOCKTYPE", [
"D3DSBT_VERTEXSTATE",
])
-D3DTEXTURETRANSFORMFLAGS = Enum("D3DTEXTURETRANSFORMFLAGS", [
- "D3DTTFF_DISABLE",
- "D3DTTFF_COUNT1",
- "D3DTTFF_COUNT2",
- "D3DTTFF_COUNT3",
- "D3DTTFF_COUNT4",
- "D3DTTFF_PROJECTED",
-])
-
D3DDEVTYPE = Enum("D3DDEVTYPE", [
"D3DDEVTYPE_HAL",
"D3DDEVTYPE_REF",