From 1e1676f6aab4b020ff73f1e33c0a0a2950d8df44 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Fonseca?= Date: Thu, 5 Apr 2012 11:18:27 +0100 Subject: [PATCH] Recognize more D3D10 flags. --- d3d10trace.py | 1 + specs/d3d10.py | 22 +++++++++++++++++++--- specs/d3d10misc.py | 4 ++-- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/d3d10trace.py b/d3d10trace.py index 7d0fc75..527a2f6 100644 --- a/d3d10trace.py +++ b/d3d10trace.py @@ -40,6 +40,7 @@ if __name__ == '__main__': print '#include "compat.h"' print print '#include ' + print '#include ' print tracer = DllTracer('d3d10.dll') tracer.trace_api(d3d10) diff --git a/specs/d3d10.py b/specs/d3d10.py index 5e8d180..ee93f09 100644 --- a/specs/d3d10.py +++ b/specs/d3d10.py @@ -25,6 +25,18 @@ from dxgi import * +HRESULT = FakeEnum(HRESULT, [ + "D3D10_ERROR_FILE_NOT_FOUND", + "D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS", + "D3DERR_INVALIDCALL", + "D3DERR_WASSTILLDRAWING", + "E_FAIL", + "E_INVALIDARG", + "E_OUTOFMEMORY", + "S_FALSE", + "S_OK", +]) + D3D10_BLEND = Enum("D3D10_BLEND", [ "D3D10_BLEND_ZERO", "D3D10_BLEND_ONE", @@ -662,7 +674,7 @@ D3D10_QUERY_DATA_SO_STATISTICS = Struct("D3D10_QUERY_DATA_SO_STATISTICS", [ (UINT64, "PrimitivesStorageNeeded"), ]) -D3D10_CREATE_DEVICE_FLAG = Enum("D3D10_CREATE_DEVICE_FLAG", [ +D3D10_CREATE_DEVICE_FLAG = Flags(UINT, [ "D3D10_CREATE_DEVICE_SINGLETHREADED", "D3D10_CREATE_DEVICE_DEBUG", "D3D10_CREATE_DEVICE_SWITCH_TO_REF", @@ -672,6 +684,10 @@ D3D10_CREATE_DEVICE_FLAG = Enum("D3D10_CREATE_DEVICE_FLAG", [ "D3D10_CREATE_DEVICE_STRICT_VALIDATION", ]) +D3D10_RAISE_FLAG = Flags(UINT, [ + "D3D10_RAISE_FLAG_DRIVER_INTERNAL_ERROR", +]) + ID3D10DeviceChild = Interface("ID3D10DeviceChild", IUnknown) ID3D10Resource = Interface("ID3D10Resource", ID3D10DeviceChild) ID3D10Buffer = Interface("ID3D10Buffer", ID3D10Resource) @@ -858,8 +874,8 @@ ID3D10Device.methods += [ Method(Void, "RSGetViewports", [Out(Pointer(UINT), "NumViewports"), Out(Array(D3D10_VIEWPORT, "*NumViewports"), "pViewports")]), Method(Void, "RSGetScissorRects", [Out(Pointer(UINT), "NumRects"), Out(Array(D3D10_RECT, "*NumRects"), "pRects")]), Method(HRESULT, "GetDeviceRemovedReason", []), - Method(HRESULT, "SetExceptionMode", [(UINT, "RaiseFlags")]), - Method(UINT, "GetExceptionMode", []), + Method(HRESULT, "SetExceptionMode", [(D3D10_RAISE_FLAG, "RaiseFlags")]), + Method(D3D10_RAISE_FLAG, "GetExceptionMode", []), Method(HRESULT, "GetPrivateData", [(REFGUID, "guid"), Out(Pointer(UINT), "pDataSize"), Out(OpaquePointer(Void), "pData")]), Method(HRESULT, "SetPrivateData", [(REFGUID, "guid"), (UINT, "DataSize"), (OpaquePointer(Const(Void)), "pData")]), Method(HRESULT, "SetPrivateDataInterface", [(REFGUID, "guid"), (OpaquePointer(Const(IUnknown)), "pData")]), diff --git a/specs/d3d10misc.py b/specs/d3d10misc.py index a129382..8d9bb56 100644 --- a/specs/d3d10misc.py +++ b/specs/d3d10misc.py @@ -49,8 +49,8 @@ D3D10_DRIVER_TYPE = Enum("D3D10_DRIVER_TYPE", [ d3d10 = API("d3d10") d3d10.addFunctions([ - StdFunction(HRESULT, "D3D10CreateDevice", [(Pointer(IDXGIAdapter), "pAdapter"), (D3D10_DRIVER_TYPE, "DriverType"), (HMODULE, "Software"), (UINT, "Flags"), (UINT, "SDKVersion"), Out(Pointer(Pointer(ID3D10Device)), "ppDevice")]), - StdFunction(HRESULT, "D3D10CreateDeviceAndSwapChain", [(Pointer(IDXGIAdapter), "pAdapter"), (D3D10_DRIVER_TYPE, "DriverType"), (HMODULE, "Software"), (UINT, "Flags"), (UINT, "SDKVersion"), (Pointer(DXGI_SWAP_CHAIN_DESC), "pSwapChainDesc"), Out(Pointer(Pointer(IDXGISwapChain)), "ppSwapChain"), Out(Pointer(Pointer(ID3D10Device)), "ppDevice")]), + StdFunction(HRESULT, "D3D10CreateDevice", [(Pointer(IDXGIAdapter), "pAdapter"), (D3D10_DRIVER_TYPE, "DriverType"), (HMODULE, "Software"), (D3D10_CREATE_DEVICE_FLAG, "Flags"), (UINT, "SDKVersion"), Out(Pointer(Pointer(ID3D10Device)), "ppDevice")]), + StdFunction(HRESULT, "D3D10CreateDeviceAndSwapChain", [(Pointer(IDXGIAdapter), "pAdapter"), (D3D10_DRIVER_TYPE, "DriverType"), (HMODULE, "Software"), (D3D10_CREATE_DEVICE_FLAG, "Flags"), (UINT, "SDKVersion"), (Pointer(DXGI_SWAP_CHAIN_DESC), "pSwapChainDesc"), Out(Pointer(Pointer(IDXGISwapChain)), "ppSwapChain"), Out(Pointer(Pointer(ID3D10Device)), "ppDevice")]), StdFunction(HRESULT, "D3D10CreateBlob", [(SIZE_T, "NumBytes"), Out(Pointer(LPD3D10BLOB), "ppBuffer")]), ]) -- 2.43.0