Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
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)
Exemplo n.º 4
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)

    print(r'EXTERN_C PUBLIC')
    print(r'void __stdcall Direct3D9ForceHybridEnumeration(UINT uHybrid) {')
    print(
        r'    typedef void (WINAPI *PFNDIRECT3D9FORCEHYBRIDENUMERATION)(UINT);'
    )
    print(
        r'    PFNDIRECT3D9FORCEHYBRIDENUMERATION pfnDirect3D9ForceHybridEnumeration ='
    )
Exemplo n.º 5
0
                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)