From: José Fonseca Date: Thu, 12 Apr 2012 06:13:01 +0000 (+0100) Subject: Trace d3d10.1 too. X-Git-Url: https://git.cworth.org/git?p=apitrace;a=commitdiff_plain;h=fe806cb6c3a13071126f4eff4bcb8a28d8b0b777 Trace d3d10.1 too. --- diff --git a/CMakeLists.txt b/CMakeLists.txt index d6ea62b..28c86d3 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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 index 0000000..403ac5d --- /dev/null +++ b/d3d10_1trace.py @@ -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 ' + print '#include ' + print + print '#include "compat.h"' + print + print '#include ' + print '#include ' + print + tracer = DllTracer('d3d10_1.dll') + tracer.trace_api(d3d10_1) diff --git a/specs/d3d10_1.py b/specs/d3d10_1.py index ebf2896..5bc364f 100644 --- a/specs/d3d10_1.py +++ b/specs/d3d10_1.py @@ -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 ' - print '#include ' - print - print '#include "compat.h"' - print - print '#include ' - 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, +])