]> git.cworth.org Git - apitrace/commitdiff
Trace d3d10.1 too.
authorJosé Fonseca <jose.r.fonseca@gmail.com>
Thu, 12 Apr 2012 06:13:01 +0000 (07:13 +0100)
committerJosé Fonseca <jose.r.fonseca@gmail.com>
Thu, 12 Apr 2012 06:13:01 +0000 (07:13 +0100)
CMakeLists.txt
d3d10_1trace.py [new file with mode: 0644]
specs/d3d10_1.py

index d6ea62b97f8c506f73e774692c76c0a24c3daf58..28c86d372dfaf108f64110251bc5fc6808777035 100755 (executable)
@@ -392,6 +392,28 @@ if (WIN32)
         install (TARGETS d3d10 LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
     endif (DirectX_D3D10_INCLUDE_DIR)
 
+    # d3d10_1.dll
+    if (DirectX_D3D10_INCLUDE_DIR)
+        include_directories (SYSTEM ${DirectX_D3D10_INCLUDE_DIR})
+        add_custom_command (
+            OUTPUT d3d10_1trace.cpp
+            COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d10_1trace.py > ${CMAKE_CURRENT_BINARY_DIR}/d3d10_1trace.cpp
+            DEPENDS d3d10_1trace.py trace.py specs/d3d10_1.py specs/d3d10.py specs/d3d10sdklayers.py specs/dxgi.py specs/dxgitype.py specs/dxgiformat.py specs/winapi.py specs/stdapi.py
+        )
+        add_library (d3d10_1 MODULE specs/d3d10_1.def d3d10_1trace.cpp)
+        target_link_libraries (d3d10_1
+            common
+            ${ZLIB_LIBRARIES}
+            ${SNAPPY_LIBRARIES}
+        )
+        set_target_properties (d3d10_1
+            PROPERTIES PREFIX ""
+            RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers
+            LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers
+        )
+        install (TARGETS d3d10_1 LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
+    endif (DirectX_D3D10_INCLUDE_DIR)
+
     # opengl32.dll
     add_custom_command (
         OUTPUT wgltrace.cpp
diff --git a/d3d10_1trace.py b/d3d10_1trace.py
new file mode 100644 (file)
index 0000000..403ac5d
--- /dev/null
@@ -0,0 +1,46 @@
+##########################################################################
+#
+# Copyright 2008-2009 VMware, Inc.
+# All Rights Reserved.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+#
+##########################################################################/
+
+
+from specs.d3d10_1 import d3d10_1
+from dlltrace import DllTracer
+
+
+if __name__ == '__main__':
+    print '#define INITGUID'
+    print
+    print '#include "trace_writer_local.hpp"'
+    print '#include "os.hpp"'
+    print
+    print '#include <windows.h>'
+    print '#include <tchar.h>'
+    print
+    print '#include "compat.h"'
+    print
+    print '#include <d3d10_1.h>'
+    print '#include <d3dx10.h>'
+    print
+    tracer = DllTracer('d3d10_1.dll')
+    tracer.trace_api(d3d10_1)
index ebf28969ae422b44cb69ac8e37809d036049b4c6..5bc364f83d5a2c40a6442b56de18f32b96227fc0 100644 (file)
@@ -1,6 +1,6 @@
 ##########################################################################
 #
-# Copyright 2008-2009 VMware, Inc.
+# Copyright 2008-2012 VMware, Inc.
 # All Rights Reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -26,6 +26,8 @@
 """d3d10_1.h"""
 
 from winapi import *
+from d3d10sdklayers import *
+from d3d10 import *
 
 ID3D10Blob = Interface("ID3D10Blob", IUnknown)
 LPD3D10BLOB = Pointer(ID3D10Blob)
@@ -51,27 +53,97 @@ D3D10_FEATURE_LEVEL1 = Enum("D3D10_FEATURE_LEVEL1", [
        "D3D10_FEATURE_LEVEL_9_3",
 ])
 
-# TODO
-IDXGIAdapter = Alias("IDXGIAdapter", Void)
-ID3D10Device1 = Alias("ID3D10Device1", Void)
-IDXGISwapChain = Alias("IDXGISwapChain", Void)
-DXGI_SWAP_CHAIN_DESC = Alias("DXGI_SWAP_CHAIN_DESC", Void)
+D3D10_RENDER_TARGET_BLEND_DESC1 = Struct("D3D10_RENDER_TARGET_BLEND_DESC1", [
+    (BOOL, "BlendEnable"),
+    (D3D10_BLEND, "SrcBlend"),
+    (D3D10_BLEND, "DestBlend"),
+    (D3D10_BLEND_OP, "BlendOp"),
+    (D3D10_BLEND, "SrcBlendAlpha"),
+    (D3D10_BLEND, "DestBlendAlpha"),
+    (D3D10_BLEND_OP, "BlendOpAlpha"),
+    (UINT8, "RenderTargetWriteMask"),
+])
+
+D3D10_BLEND_DESC1 = Struct("D3D10_BLEND_DESC1", [
+    (BOOL, "AlphaToCoverageEnable"),
+    (BOOL, "IndependentBlendEnable"),
+    (Array(D3D10_RENDER_TARGET_BLEND_DESC1, "D3D10_SIMULTANEOUS_RENDER_TARGET_COUNT"), "RenderTarget"),
+])
+
+ID3D10BlendState1 = Interface("ID3D10BlendState1", ID3D10BlendState)
+ID3D10BlendState1.methods += [
+    Method(Void, "GetDesc1", [Out(Pointer(D3D10_BLEND_DESC1), "pDesc")]),
+]
+
+D3D10_TEXCUBE_ARRAY_SRV1 = Struct("D3D10_TEXCUBE_ARRAY_SRV1", [
+    (UINT, "MostDetailedMip"),
+    (UINT, "MipLevels"),
+    (UINT, "First2DArrayFace"),
+    (UINT, "NumCubes"),
+])
 
-d3d10_1 = Dll("d3d10")
-d3d10_1.functions += [
-    StdFunction(HRESULT, "D3D10CreateDevice1", [(Pointer(IDXGIAdapter), "pAdapter"), (D3D10_DRIVER_TYPE, "DriverType"), (HMODULE, "Software"), (UINT, "Flags"), (D3D10_FEATURE_LEVEL1, "HardwareLevel"), (UINT, "SDKVersion"), (OutPointer(Pointer(ID3D10Device1)), "ppDevice")]),
-    StdFunction(HRESULT, "D3D10CreateDeviceAndSwapChain1", [(Pointer(IDXGIAdapter), "pAdapter"), (D3D10_DRIVER_TYPE, "DriverType"), (HMODULE, "Software"), (UINT, "Flags"), (D3D10_FEATURE_LEVEL1, "HardwareLevel"), (UINT, "SDKVersion"), (Pointer(DXGI_SWAP_CHAIN_DESC), "pSwapChainDesc"), (OutPointer(Pointer(IDXGISwapChain)), "ppSwapChain"), (OutPointer(Pointer(ID3D10Device1)), "ppDevice")]),
-    StdFunction(HRESULT, "D3D10CreateBlob", [(SIZE_T, "NumBytes"), (OutPointer(LPD3D10BLOB), "ppBuffer")]),
+D3D10_SRV_DIMENSION1 = Alias("D3D10_SRV_DIMENSION1", D3D10_SRV_DIMENSION)
+D3D10_SHADER_RESOURCE_VIEW_DESC1 = Struct("D3D10_SHADER_RESOURCE_VIEW_DESC1", [
+    (DXGI_FORMAT, "Format"),
+    (D3D10_SRV_DIMENSION1, "ViewDimension"),
+    (D3D10_BUFFER_SRV, "Buffer"),
+    (D3D10_TEX1D_SRV, "Texture1D"),
+    (D3D10_TEX1D_ARRAY_SRV, "Texture1DArray"),
+    (D3D10_TEX2D_SRV, "Texture2D"),
+    (D3D10_TEX2D_ARRAY_SRV, "Texture2DArray"),
+    (D3D10_TEX2DMS_SRV, "Texture2DMS"),
+    (D3D10_TEX2DMS_ARRAY_SRV, "Texture2DMSArray"),
+    (D3D10_TEX3D_SRV, "Texture3D"),
+    (D3D10_TEXCUBE_SRV, "TextureCube"),
+    (D3D10_TEXCUBE_ARRAY_SRV1, "TextureCubeArray"),
+])
+
+ID3D10ShaderResourceView1 = Interface("ID3D10ShaderResourceView1", ID3D10ShaderResourceView)
+ID3D10ShaderResourceView1.methods += [
+    Method(Void, "GetDesc1", [Out(Pointer(D3D10_SHADER_RESOURCE_VIEW_DESC1), "pDesc")]),
+]
+
+ID3D10Device1 = Interface("ID3D10Device1", ID3D10Device)
+ID3D10Device1.methods += [
+    Method(HRESULT, "CreateShaderResourceView1", [(Pointer(ID3D10Resource), "pResource"), Out(Pointer(Const(D3D10_SHADER_RESOURCE_VIEW_DESC1)), "pDesc"), Out(Pointer(Pointer(ID3D10ShaderResourceView1)), "ppSRView")]),
+    Method(HRESULT, "CreateBlendState1", [(Pointer(Const(D3D10_BLEND_DESC1)), "pBlendStateDesc"), Out(Pointer(Pointer(ID3D10BlendState1)), "ppBlendState")]),
+    Method(D3D10_FEATURE_LEVEL1, "GetFeatureLevel", []),
 ]
 
-if __name__ == '__main__':
-    print '#include <windows.h>'
-    print '#include <tchar.h>'
-    print
-    print '#include "compat.h"'
-    print
-    print '#include <d3d10_1.h>'
-    print
-    print '#include "trace_writer.hpp"'
-    print
-    wrap()
+d3d10_1 = API("d3d10_1")
+d3d10_1.addFunctions([
+    StdFunction(HRESULT, "D3D10CreateDevice1", [(Pointer(IDXGIAdapter), "pAdapter"), (D3D10_DRIVER_TYPE, "DriverType"), (HMODULE, "Software"), (D3D10_CREATE_DEVICE_FLAG, "Flags"), (D3D10_FEATURE_LEVEL1, "HardwareLevel"), (UINT, "SDKVersion"), Out(Pointer(Pointer(ID3D10Device1)), "ppDevice")]),
+    StdFunction(HRESULT, "D3D10CreateDeviceAndSwapChain1", [(Pointer(IDXGIAdapter), "pAdapter"), (D3D10_DRIVER_TYPE, "DriverType"), (HMODULE, "Software"), (D3D10_CREATE_DEVICE_FLAG, "Flags"), (D3D10_FEATURE_LEVEL1, "HardwareLevel"), (UINT, "SDKVersion"), (Pointer(DXGI_SWAP_CHAIN_DESC), "pSwapChainDesc"), Out(Pointer(Pointer(IDXGISwapChain)), "ppSwapChain"), Out(Pointer(Pointer(ID3D10Device1)), "ppDevice")]),
+    StdFunction(HRESULT, "D3D10CreateBlob", [(SIZE_T, "NumBytes"), Out(Pointer(LPD3D10BLOB), "ppBuffer")]),
+])
+
+d3d10_1.addInterfaces([
+    IDXGIDevice,
+    ID3D10Debug,
+    ID3D10SwitchToRef,
+    ID3D10InfoQueue,
+    ID3D10DeviceChild,
+    ID3D10Resource,
+    ID3D10Buffer,
+    ID3D10Texture1D,
+    ID3D10Texture2D,
+    ID3D10Texture3D,
+    ID3D10View,
+    ID3D10DepthStencilView,
+    ID3D10RenderTargetView,
+    ID3D10ShaderResourceView1,
+    ID3D10BlendState1,
+    ID3D10DepthStencilState,
+    ID3D10GeometryShader,
+    ID3D10InputLayout,
+    ID3D10PixelShader,
+    ID3D10RasterizerState,
+    ID3D10SamplerState,
+    ID3D10VertexShader,
+    ID3D10Asynchronous,
+    ID3D10Counter,
+    ID3D10Query,
+    ID3D10Predicate,
+    ID3D10Device,
+    ID3D10Multithread,
+])