blob: a7494c2bdf159cc38410152b00bd64b7d7353ade [file] [log] [blame]
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