]> git.cworth.org Git - apitrace/blobdiff - d3d8.py
Make windows build user friendlier.
[apitrace] / d3d8.py
diff --git a/d3d8.py b/d3d8.py
index 73c9c85f8a8327f21eb2c5f023b7c0bfeb00dd2c..f5fb76ea917763c36c5c2ce3f4e9f8fe05b17807 100644 (file)
--- a/d3d8.py
+++ b/d3d8.py
@@ -106,6 +106,9 @@ IDirect3DDevice8.methods += [
     Method(HRESULT, "GetDisplayMode", [Out(Pointer(D3DDISPLAYMODE), "pMode")]),
     Method(HRESULT, "GetCreationParameters", [Out(Pointer(D3DDEVICE_CREATION_PARAMETERS), "pParameters")]),
     Method(HRESULT, "SetCursorProperties", [(UINT, "XHotSpot"), (UINT, "YHotSpot"), (PDIRECT3DSURFACE8, "pCursorBitmap")]),
+    # XXX: There are different signatures of
+    # IDirect3DDevice8::SetCursorPosition depending on the DXSDK version
+    Method(Void, "SetCursorPosition", [(UINT, "XScreenSpace"), (UINT, "YScreenSpace"), (DWORD, "Flags")]),
     Method(Void, "SetCursorPosition", [(Int, "X"), (Int, "Y"), (DWORD, "Flags")]),
     Method(BOOL, "ShowCursor", [(BOOL, "bShow")]),
     Method(HRESULT, "CreateAdditionalSwapChain", [Out(Pointer(D3DPRESENT_PARAMETERS), "pPresentationParameters"), Out(Pointer(PDIRECT3DSWAPCHAIN8), "pSwapChain")]),
@@ -131,7 +134,7 @@ IDirect3DDevice8.methods += [
     Method(HRESULT, "GetDepthStencilSurface", [Out(Pointer(PDIRECT3DSURFACE8), "ppZStencilSurface")]),
     Method(HRESULT, "BeginScene", []),
     Method(HRESULT, "EndScene", []),
-    Method(HRESULT, "Clear", [(DWORD, "Count"), (ConstPointer(D3DRECT), "pRects"), (DWORD, "Flags"), (D3DCOLOR, "Color"), (Float, "Z"), (DWORD, "Stencil")]),
+    Method(HRESULT, "Clear", [(DWORD, "Count"), (ConstPointer(D3DRECT), "pRects"), (D3DCLEAR, "Flags"), (D3DCOLOR, "Color"), (Float, "Z"), (DWORD, "Stencil")]),
     Method(HRESULT, "SetTransform", [(D3DTRANSFORMSTATETYPE, "State"), (ConstPointer(D3DMATRIX), "pMatrix")]),
     Method(HRESULT, "GetTransform", [(D3DTRANSFORMSTATETYPE, "State"), Out(Pointer(D3DMATRIX), "pMatrix")]),
     Method(HRESULT, "MultiplyTransform", [(D3DTRANSFORMSTATETYPE, "State"), (ConstPointer(D3DMATRIX), "pMatrix")]),
@@ -282,14 +285,21 @@ d3d8.add_functions([
 
 class D3D8Tracer(DllTracer):
 
-    pass
+    def dump_arg_instance(self, function, arg):
+        # Dump shaders as strings
+        if function.name in ('CreateVertexShader', 'CreatePixelShader') and arg.name == 'pFunction':
+            print '    DumpShader(__writer, %s);' % (arg.name)
+            return
+
+        DllTracer.dump_arg_instance(self, function, arg)
 
 
 if __name__ == '__main__':
     print '#include <windows.h>'
     print '#include <d3d8.h>'
+    print '#include "d3dshader.hpp"'
     print
-    print '#include "trace_write.hpp"'
+    print '#include "trace_writer.hpp"'
     print '#include "os.hpp"'
     print
     tracer = D3D8Tracer('d3d8.dll')