X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=glretrace.py;h=b6dac924ef5b4e350f2ee0321c81fae96696eb15;hb=e5592342cb5d8b357fb68946a9405542b517985a;hp=b775609aa0eb79ca6f4daf538ed258febfcc54f6;hpb=4db20908dfcf36be37c04a86c2d633f616a0cbe0;p=apitrace diff --git a/glretrace.py b/glretrace.py index b775609..b6dac92 100644 --- a/glretrace.py +++ b/glretrace.py @@ -170,6 +170,12 @@ class GlRetracer(Retracer): print ' GLint __pack_buffer = 0;' print ' glGetIntegerv(GL_PIXEL_PACK_BUFFER_BINDING, &__pack_buffer);' print ' if (!__pack_buffer) {' + if function.name == 'glReadPixels': + print ' glFinish();' + print ' if (glretrace::snapshot_frequency == glretrace::FREQUENCY_FRAME ||' + print ' glretrace::snapshot_frequency == glretrace::FREQUENCY_FRAMEBUFFER) {' + print ' glretrace::snapshot(call.no);' + print ' }' print ' return;' print ' }' @@ -178,6 +184,9 @@ class GlRetracer(Retracer): print ' if (glretrace::snapshot_frequency == glretrace::FREQUENCY_FRAMEBUFFER) {' print ' glretrace::snapshot(call.no - 1);' print ' }' + if function.name == 'glFrameTerminatorGREMEDY': + print ' glretrace::frame_complete(call.no);' + return Retracer.retrace_function_body(self, function) @@ -186,12 +195,6 @@ class GlRetracer(Retracer): print ' if (!glretrace::double_buffer) {' print ' glretrace::frame_complete(call.no);' print ' }' - if function.name == 'glReadPixels': - print ' glFinish();' - print ' if (glretrace::snapshot_frequency == glretrace::FREQUENCY_FRAME ||' - print ' glretrace::snapshot_frequency == glretrace::FREQUENCY_FRAMEBUFFER) {' - print ' glretrace::snapshot(call.no);' - print ' }' if is_draw_array or is_draw_elements or is_misc_draw: print ' if (glretrace::snapshot_frequency == glretrace::FREQUENCY_DRAW) {' print ' glretrace::snapshot(call.no);' @@ -302,7 +305,7 @@ class GlRetracer(Retracer): def extract_arg(self, function, arg, arg_type, lvalue, rvalue): if function.name in self.array_pointer_function_names and arg.name == 'pointer': - print ' %s = static_cast<%s>(%s.toPointer());' % (lvalue, arg_type, rvalue) + print ' %s = static_cast<%s>(%s.toPointer(true));' % (lvalue, arg_type, rvalue) return if function.name in self.draw_elements_function_names and arg.name == 'indices':