def main(): print(r'#include <string.h>') print() print(r'#include <iostream>') print() print(r'#include "d3dretrace.hpp"') print() moduleName = sys.argv[1] support = int(sys.argv[2]) api = API() if support: if moduleName == 'd3d9': from specs.d3d9 import d3d9, d3dperf from specs.dxva2 import dxva2 print(r'#include "d3d9imports.hpp"') print(r'#include "d3d9size.hpp"') print(r'#include "dxva2imports.hpp"') d3d9.mergeModule(d3dperf) api.addModule(d3d9) api.addModule(dxva2) print() print( '''static d3dretrace::D3DDumper<IDirect3DDevice9> d3d9Dumper;''' ) print( '''static d3dretrace::D3DDumper<IDirect3DSwapChain9> d3d9scDumper;''' ) print() elif moduleName == 'd3d8': from specs.d3d8 import d3d8 print(r'#include "d3d8imports.hpp"') print(r'#include "d3d8size.hpp"') api.addModule(d3d8) print() print( '''static d3dretrace::D3DDumper<IDirect3DDevice8> d3d8Dumper;''' ) print() else: assert False retracer = D3DRetracer() retracer.table_name = 'd3dretrace::%s_callbacks' % moduleName retracer.retraceApi(api)
def main(): print r"#include <string.h>" print print r"#include <iostream>" print print r'#include "d3dretrace.hpp"' print moduleName = sys.argv[1] support = int(sys.argv[2]) api = API() if support: if moduleName == "d3d9": from specs.d3d9 import d3d9, d3dperf from specs.dxva2 import dxva2 print r'#include "d3d9imports.hpp"' print r'#include "d3d9size.hpp"' print r'#include "dxva2imports.hpp"' d3d9.mergeModule(d3dperf) api.addModule(d3d9) api.addModule(dxva2) print print """static d3dretrace::D3DDumper<IDirect3DDevice9> d3d9Dumper;""" print """static d3dretrace::D3DDumper<IDirect3DSwapChain9> d3d9scDumper;""" print elif moduleName == "d3d8": from specs.d3d8 import d3d8 print r'#include "d3d8imports.hpp"' print r'#include "d3d8size.hpp"' api.addModule(d3d8) print print """static d3dretrace::D3DDumper<IDirect3DDevice8> d3d8Dumper;""" print else: assert False retracer = D3DRetracer() retracer.table_name = "d3dretrace::%s_callbacks" % moduleName retracer.retraceApi(api)
def main(): print r'#include <string.h>' print print r'#include <iostream>' print print r'#include "d3dretrace.hpp"' print moduleName = sys.argv[1] support = int(sys.argv[2]) api = API() if support: if moduleName == 'd3d9': from specs.d3d9 import d3d9, d3dperf print r'#include "d3d9imports.hpp"' print r'#include "d3d9size.hpp"' d3d9.mergeModule(d3dperf) api.addModule(d3d9) print print '''static d3dretrace::D3DDumper<IDirect3DDevice9> d3d9Dumper;''' print elif moduleName == 'd3d8': from specs.d3d8 import d3d8 print r'#include "d3d8imports.hpp"' print r'#include "d3d8size.hpp"' api.addModule(d3d8) print print '''static d3dretrace::D3DDumper<IDirect3DDevice8> d3d8Dumper;''' print else: assert False retracer = D3DRetracer() retracer.table_name = 'd3dretrace::%s_callbacks' % moduleName retracer.retraceApi(api)
print(' }') if __name__ == '__main__': print('#define INITGUID') print() print('#include "trace_writer_local.hpp"') print('#include "os.hpp"') print() print('#include "d3d9imports.hpp"') print('#include "d3d9size.hpp"') print('#include "d3d9shader.hpp"') print('#include "dxva2imports.hpp"') print() d3d9.mergeModule(d3dperf) api = API() api.addModule(d3d9) api.addModule(dxva2) tracer = D3D9Tracer() tracer.traceApi(api) print(r'EXTERN_C PUBLIC') print(r'void __stdcall Direct3D9ForceHybridEnumeration(UINT uHybrid) {') print( r' typedef void (WINAPI *PFNDIRECT3D9FORCEHYBRIDENUMERATION)(UINT);' ) print( r' PFNDIRECT3D9FORCEHYBRIDENUMERATION pfnDirect3D9ForceHybridEnumeration =' )
print ' _MappedSize = 0;' print ' }' if interface.name == 'IDirectXVideoDecoder' and method.name == 'GetBuffer': print ' if (SUCCEEDED(_result)) {' print ' _MappedData[BufferType] = std::make_pair(*ppBuffer, *pBufferSize);' print ' } else {' print ' _MappedData[BufferType] = std::make_pair(nullptr, 0);' print ' }' if __name__ == '__main__': print '#define INITGUID' print print '#include "trace_writer_local.hpp"' print '#include "os.hpp"' print print '#include "d3d9imports.hpp"' print '#include "d3d9size.hpp"' print '#include "d3d9shader.hpp"' print '#include "dxva2imports.hpp"' print d3d9.mergeModule(d3dperf) api = API() api.addModule(d3d9) api.addModule(dxva2) tracer = D3D9Tracer() tracer.traceApi(api)