X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=wrappers%2Fd3d9trace.py;h=f3236e729b64d34c5e400aeb7855a894f49ffdbe;hb=7a9fb5103e052150232b64cb5d99374cda3f1234;hp=fc6e65ef2ae86982df2f74f340aea5dfda51e799;hpb=4647f208f5a2b87391281e0f1202f66c23943bd9;p=apitrace diff --git a/wrappers/d3d9trace.py b/wrappers/d3d9trace.py index fc6e65e..f3236e7 100644 --- a/wrappers/d3d9trace.py +++ b/wrappers/d3d9trace.py @@ -25,6 +25,7 @@ from dlltrace import DllTracer +from specs.stdapi import API from specs.d3d9 import d3d9, D3DSHADER9 import specs.d3d9dxva2 @@ -48,7 +49,7 @@ class D3D9Tracer(DllTracer): interface.getMethodByName('LockRect') is not None or \ interface.getMethodByName('LockBox') is not None: variables += [ - ('size_t', '_LockedSize', '0'), + ('size_t', '_MappedSize', '0'), ('VOID *', 'm_pbData', '0'), ] @@ -56,8 +57,8 @@ class D3D9Tracer(DllTracer): def implementWrapperInterfaceMethodBody(self, interface, base, method): if method.name in ('Unlock', 'UnlockRect', 'UnlockBox'): - print ' if (_LockedSize && m_pbData) {' - self.emit_memcpy('(LPBYTE)m_pbData', '(LPBYTE)m_pbData', '_LockedSize') + print ' if (_MappedSize && m_pbData) {' + self.emit_memcpy('(LPBYTE)m_pbData', '(LPBYTE)m_pbData', '_MappedSize') print ' }' DllTracer.implementWrapperInterfaceMethodBody(self, interface, base, method) @@ -65,10 +66,10 @@ class D3D9Tracer(DllTracer): if method.name in ('Lock', 'LockRect', 'LockBox'): # FIXME: handle recursive locks print ' if (SUCCEEDED(_result) && !(Flags & D3DLOCK_READONLY)) {' - print ' _getLockInfo(_this, %s, m_pbData, _LockedSize);' % ', '.join(method.argNames()[:-1]) + print ' _getMapInfo(_this, %s, m_pbData, _MappedSize);' % ', '.join(method.argNames()[:-1]) print ' } else {' print ' m_pbData = NULL;' - print ' _LockedSize = 0;' + print ' _MappedSize = 0;' print ' }' @@ -83,17 +84,8 @@ if __name__ == '__main__': print '#include "d3d9shader.hpp"' print '#include "dxvaint.h"' print - print ''' -static inline size_t -_declCount(const D3DVERTEXELEMENT9 *pVertexElements) { - size_t count = 0; - if (pVertexElements) { - while (pVertexElements[count++].Stream != 0xff) - ; - } - return count; -} -''' - tracer = D3D9Tracer('d3d9.dll') - tracer.traceApi(d3d9) + api = API() + api.addModule(d3d9) + tracer = D3D9Tracer() + tracer.traceApi(api)