| 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 |