X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=glretrace.py;h=e650c54a7fdb4c4ad939f9324cc12463c5cc0424;hb=59ee88ea99b6de592b32d635e097a759b7f70e23;hp=15ba092a61d009ebd2f0fc60a0a5d202809d94d4;hpb=568ecc29ff1a22d8ad059bade28ac79728b92958;p=apitrace diff --git a/glretrace.py b/glretrace.py index 15ba092..e650c54 100644 --- a/glretrace.py +++ b/glretrace.py @@ -320,22 +320,22 @@ class GlRetracer(Retracer): print r' }' print ' }' - # Update buffer mappings + # Query the buffer length for whole buffer mappings if function.name in self.map_function_names: - print r' if (__result) {' - print r' unsigned long long __address = call.ret->toUIntPtr();' - if 'BufferRange' not in function.name: - print r' GLint length = 0;' + if 'length' in function.argNames(): + assert 'BufferRange' in function.name + else: + assert 'BufferRange' not in function.name + print r' GLint length = 0;' if function.name in ('glMapBuffer', 'glMapBufferOES'): print r' glGetBufferParameteriv(target, GL_BUFFER_SIZE, &length);' elif function.name == 'glMapBufferARB': - print r' glGetBufferParameterivARB(target, GL_BUFFER_SIZE_ARB, &length);' + print r' glGetBufferParameterivARB(target, GL_BUFFER_SIZE_ARB, &length);' elif function.name == 'glMapNamedBufferEXT': - print r' glGetNamedBufferParameterivEXT(buffer, GL_BUFFER_SIZE, &length);' + print r' glGetNamedBufferParameterivEXT(buffer, GL_BUFFER_SIZE, &length);' else: assert False - print r' retrace::addRegion(__address, __result, length);' - print r' }' + # Destroy the buffer mapping if function.name in self.unmap_function_names: print r' GLvoid *ptr = NULL;' if function.name == 'glUnmapBuffer':