From 77ef0cebf8cb2e2fc2720a3a6923156ec3a99a51 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Fonseca?= Date: Wed, 29 Feb 2012 18:08:48 +0000 Subject: [PATCH] Cleanup glFlushMappedBufferRange/glFlushMappedBufferRangeAPPLE Rely on GL_BUFFER_MAP_POINTER instead, as it is more reliable in face of recursive mappings. --- gltrace.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/gltrace.py b/gltrace.py index c17c01a..86fbf08 100644 --- a/gltrace.py +++ b/gltrace.py @@ -478,14 +478,17 @@ class GlTracer(Tracer): self.emit_memcpy('map', 'map', 'length') print ' }' print ' }' - if function.name in ('glFlushMappedBufferRange', 'glFlushMappedBufferRangeAPPLE'): - print ' struct buffer_mapping *mapping = get_buffer_mapping(target);' - print ' if (mapping) {' - if function.name.endswith('APPLE'): - print ' GLsizeiptr length = size;' - print ' mapping->explicit_flush = true;' - print ' //assert(offset + length <= mapping->length);' - self.emit_memcpy('(char *)mapping->map + offset', '(const char *)mapping->map + offset', 'length') + if function.name == 'glFlushMappedBufferRange': + print ' GLvoid *map = NULL;' + print ' __glGetBufferPointerv(target, GL_BUFFER_MAP_POINTER, &map);' + print ' if (map && length > 0) {' + self.emit_memcpy('(char *)map + offset', '(const char *)map + offset', 'length') + print ' }' + if function.name == 'glFlushMappedBufferRangeAPPLE': + print ' GLvoid *map = NULL;' + print ' __glGetBufferPointerv(target, GL_BUFFER_MAP_POINTER, &map);' + print ' if (map && size > 0) {' + self.emit_memcpy('(char *)map + offset', '(const char *)map + offset', 'size') print ' }' if function.name == 'glFlushMappedNamedBufferRangeEXT': print ' GLvoid *map = NULL;' -- 2.45.2