def retrace_function_body(self, function): is_array_pointer = function.name in self.array_pointer_function_names is_draw_array = function.name in self.draw_array_function_names is_draw_elements = function.name in self.draw_elements_function_names if is_array_pointer or is_draw_array or is_draw_elements: print ' if (glretrace::parser.version < 1) {' if is_array_pointer or is_draw_array: print ' GLint __array_buffer = 0;' print ' glGetIntegerv(GL_ARRAY_BUFFER_BINDING, &__array_buffer);' print ' if (!__array_buffer) {' self.fail_function(function) print ' }' if is_draw_elements: print ' GLint __element_array_buffer = 0;' print ' glGetIntegerv(GL_ELEMENT_ARRAY_BUFFER_BINDING, &__element_array_buffer);' print ' if (!__element_array_buffer) {' self.fail_function(function) print ' }' print ' }' Retracer.retrace_function_body(self, function)
def retrace_function_body(self, function): is_array_pointer = function.name in self.array_pointer_function_names is_draw_array = function.name in self.draw_array_function_names is_draw_elements = function.name in self.draw_elements_function_names if is_array_pointer or is_draw_array or is_draw_elements: print ' if (Trace::Parser::version < 1) {' if is_array_pointer or is_draw_array: print ' GLint __array_buffer = 0;' print ' glGetIntegerv(GL_ARRAY_BUFFER_BINDING, &__array_buffer);' print ' if (!__array_buffer) {' self.fail_function(function) print ' }' if is_draw_elements: print ' GLint __element_array_buffer = 0;' print ' glGetIntegerv(GL_ELEMENT_ARRAY_BUFFER_BINDING, &__element_array_buffer);' print ' if (!__element_array_buffer) {' self.fail_function(function) print ' }' print ' }' Retracer.retrace_function_body(self, function)
def retrace_function_body(self, function): is_array_pointer = function.name in self.array_pointer_function_names is_draw_array = function.name in self.draw_array_function_names is_draw_elements = function.name in self.draw_elements_function_names if is_array_pointer or is_draw_array or is_draw_elements: print ' if (glretrace::parser.version < 1) {' if is_array_pointer or is_draw_array: print ' GLint __array_buffer = 0;' print ' glGetIntegerv(GL_ARRAY_BUFFER_BINDING, &__array_buffer);' print ' if (!__array_buffer) {' self.fail_function(function) print ' }' if is_draw_elements: print ' GLint __element_array_buffer = 0;' print ' glGetIntegerv(GL_ELEMENT_ARRAY_BUFFER_BINDING, &__element_array_buffer);' print ' if (!__element_array_buffer) {' self.fail_function(function) print ' }' print ' }' Retracer.retrace_function_body(self, function) if function.name in ('glFlush', 'glFinish'): print ' if (!glretrace::double_buffer) {' print ' glretrace::frame_complete(call.no);' print ' }' if function.name == 'glReadPixels': print ' glFinish();' print ' glretrace::snapshot(call.no);'
def retrace_function_body(self, function): is_array_pointer = function.name in self.array_pointer_function_names is_draw_array = function.name in self.draw_array_function_names is_draw_elements = function.name in self.draw_elements_function_names if is_array_pointer or is_draw_array or is_draw_elements: print ' if (glretrace::parser.version < 1) {' if is_array_pointer or is_draw_array: print ' GLint __array_buffer = 0;' print ' glGetIntegerv(GL_ARRAY_BUFFER_BINDING, &__array_buffer);' print ' if (!__array_buffer) {' self.fail_function(function) print ' }' if is_draw_elements: print ' GLint __element_array_buffer = 0;' print ' glGetIntegerv(GL_ELEMENT_ARRAY_BUFFER_BINDING, &__element_array_buffer);' print ' if (!__element_array_buffer) {' self.fail_function(function) print ' }' print ' }' Retracer.retrace_function_body(self, function) if function.name in ('glFlush', 'glFinish'): print ' if (!glretrace::double_buffer) {' print ' glretrace::frame_complete(call.no);' print ' }' if function.name == 'glReadPixels': print ' glFinish();' print ' glretrace::snapshot(call.no);'
def retrace_function_body(self, function): is_array_pointer = function.name in self.array_pointer_function_names is_draw_array = function.name in self.draw_array_function_names is_draw_elements = function.name in self.draw_elements_function_names is_misc_draw = function.name in self.misc_draw_function_names if is_array_pointer or is_draw_array or is_draw_elements: print " if (glretrace::parser.version < 1) {" if is_array_pointer or is_draw_array: print " GLint __array_buffer = 0;" print " glGetIntegerv(GL_ARRAY_BUFFER_BINDING, &__array_buffer);" print " if (!__array_buffer) {" self.fail_function(function) print " }" if is_draw_elements: print " GLint __element_array_buffer = 0;" print " glGetIntegerv(GL_ELEMENT_ARRAY_BUFFER_BINDING, &__element_array_buffer);" print " if (!__element_array_buffer) {" self.fail_function(function) print " }" print " }" # When no pack buffer object is bound, the pack functions are no-ops. if function.name in self.pack_function_names: 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 " }" # Pre-snapshots if function.name in self.bind_framebuffer_function_names: print " if (glretrace::snapshot_frequency == glretrace::FREQUENCY_FRAMEBUFFER) {" print " glretrace::snapshot(call.no - 1);" print " }" if function.name == "glFrameTerminatorGREMEDY": print " glretrace::frame_complete(call);" return Retracer.retrace_function_body(self, function) # Post-snapshots if function.name in ("glFlush", "glFinish"): print " if (!glretrace::double_buffer) {" print " glretrace::frame_complete(call);" 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);" print " }"
def retrace_function_body(self, function): is_array_pointer = function.name in self.array_pointer_function_names is_draw_array = function.name in self.draw_array_function_names is_draw_elements = function.name in self.draw_elements_function_names is_misc_draw = function.name in self.misc_draw_function_names if is_array_pointer or is_draw_array or is_draw_elements: print ' if (glretrace::parser.version < 1) {' if is_array_pointer or is_draw_array: print ' GLint __array_buffer = 0;' print ' glGetIntegerv(GL_ARRAY_BUFFER_BINDING, &__array_buffer);' print ' if (!__array_buffer) {' self.fail_function(function) print ' }' if is_draw_elements: print ' GLint __element_array_buffer = 0;' print ' glGetIntegerv(GL_ELEMENT_ARRAY_BUFFER_BINDING, &__element_array_buffer);' print ' if (!__element_array_buffer) {' self.fail_function(function) print ' }' print ' }' # When no pack buffer object is bound, the pack functions are no-ops. if function.name in self.pack_function_names: 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 ' }' # Pre-snapshots if function.name in self.bind_framebuffer_function_names: print ' if (glretrace::snapshot_frequency == glretrace::FREQUENCY_FRAMEBUFFER) {' print ' glretrace::snapshot(call.no - 1);' print ' }' if function.name == 'glFrameTerminatorGREMEDY': print ' glretrace::frame_complete(call);' return Retracer.retrace_function_body(self, function) # Post-snapshots if function.name in ('glFlush', 'glFinish'): print ' if (!glretrace::double_buffer) {' print ' glretrace::frame_complete(call);' 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);' print ' }'