Name GREMEDY_frame_terminator Name Strings GL_GREMEDY_frame_terminator Contributors Yaki Tebeka Contact Yaki Tebeka, Graphic Remedy (yaki 'at' gremedy.com) Status Implemented by gDEBugger (Version 3.2 or later) Version Last Modified Date: September 20, 2007 Author Revision: 1.0 Number 345 Dependencies OpenGL 1.0 is required. The extension is written against the OpenGL 1.5 Specification. Overview This extension defines a mechanism that enables marking the end of render frames within the OpenGL stream. When debugging or profiling an OpenGL application, the debuggers and profilers needs to know when a render frame is ended. This is important for frame per second measurements, statistical analysis, marking and clearing stream loggers logs, performance counters sampling and more. When an application uses off screen buffers, the debugger / profiler cannot be guaranteed that the application will call a certain function at the end of each off-screen frame (e.g: SwapBuffers / glClear / etc). This extension enables the application to notify the debugger / profiler whenever a render frame is ended. This extension is mainly useful for debuggers and profilers. It is not expected that standard drivers would implement this extension. The main point of having this extension is to allow applications to have a clean way of accessing this functionality only when they are run under the control of a debugger / profiler, without having to recompile or change the application source code. IP Status No known IP claims Issues (1) Should it be legal to call this inside Begin/End? RESOLVED: no. A render frame cannot end within a Begin/End block. New Procedures and Functions void FrameTerminatorGREMEDY(void); New Types None New Tokens None Additions to Chapter 2 of the OpenGL 1.5 Specification (OpenGL Operation) None Additions to Chapter 3 of the OpenGL 1.5 Specification (Rasterization) None Additions to Chapter 4 of the OpenGL 1.5 Specification (Per-Fragment Operations and the Frame Buffer) None Additions to Chapter 5 of the OpenGL 1.5 Specification (Special Functions) Add section 5.8 on page 212 5.8 Frame Terminator The command void FrameTerminatorGREMEDY(void); can be used to insert a frame terminator marker into the command stream. This frame terminator marker can be used by appropriate debugging tools / profiling tools / profiling drivers for frame per second measurements, statistical analysis, marking and clearing stream loggers logs, performance counters sampling and more. This command has no influence on the rendered image or the OpenGL state. Additions to Chapter 6 of the OpenGL 1.5 Specification (State and State Requests) None Additions to Appendix A of the OpenGL 1.5 Specification (Invariance) None Additions to the AGL/EGL/GLX/WGL Specifications None GLX Protocol None Dependencies on EXT_extension_name None Errors The error INVALID_OPERATION is generated if any of the commands defined in this extension is executed between the execution of Begin and the corresponding execution of End. New State None New Implementation Dependent State None Sample Code None Revision History 1.0, 09/20/07 yt: - Initial revision