• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    GREMEDY_frame_terminator
4
5Name Strings
6
7    GL_GREMEDY_frame_terminator
8
9Contributors
10
11    Yaki Tebeka
12
13Contact
14
15    Yaki Tebeka, Graphic Remedy (yaki 'at' gremedy.com)
16
17Status
18
19    Implemented by gDEBugger (Version 3.2 or later)
20
21Version
22
23    Last Modified Date: September 20, 2007
24    Author Revision: 1.0
25
26Number
27
28    345
29
30Dependencies
31
32    OpenGL 1.0 is required.
33
34    The extension is written against the OpenGL 1.5 Specification.
35
36Overview
37
38    This extension defines a mechanism that enables marking the end
39    of render frames within the OpenGL stream.
40
41    When debugging or profiling an OpenGL application, the debuggers
42    and profilers needs to know when a render frame is ended. This
43    is important for frame per second measurements, statistical analysis,
44    marking and clearing stream loggers logs, performance counters
45    sampling and more.
46
47    When an application uses off screen buffers, the debugger / profiler
48    cannot be guaranteed that the application will call a certain function at
49    the end of each off-screen frame (e.g: SwapBuffers / glClear / etc).
50    This extension enables the application to notify the debugger / profiler
51    whenever a render frame is ended.
52
53    This extension is mainly useful for debuggers and profilers. It is not
54    expected that standard drivers would implement this extension. The main
55    point of having this extension is to allow applications to have a clean
56    way of accessing this functionality only when they are run under the
57    control of a debugger / profiler, without having to recompile or change
58    the application source code.
59
60IP Status
61
62    No known IP claims
63
64Issues
65
66   (1) Should it be legal to call this inside Begin/End?
67
68    RESOLVED: no.
69
70    A render frame cannot end within a Begin/End block.
71
72New Procedures and Functions
73
74    void FrameTerminatorGREMEDY(void);
75
76New Types
77
78    None
79
80New Tokens
81
82    None
83
84Additions to Chapter 2 of the OpenGL 1.5 Specification
85(OpenGL Operation)
86
87    None
88
89Additions to Chapter 3 of the OpenGL 1.5 Specification (Rasterization)
90
91    None
92
93Additions to Chapter 4 of the OpenGL 1.5 Specification (Per-Fragment
94Operations and the Frame Buffer)
95
96    None
97
98Additions to Chapter 5 of the OpenGL 1.5 Specification
99(Special Functions)
100
101    Add section 5.8 on page 212
102
103    5.8 Frame Terminator
104
105    The command
106
107        void FrameTerminatorGREMEDY(void);
108
109    can be used to insert a frame terminator marker into the command stream.
110    This frame terminator marker can be used by appropriate debugging tools /
111    profiling tools / profiling drivers for frame per second measurements,
112    statistical analysis, marking and clearing stream loggers logs, performance
113    counters sampling and more. This command has no influence on the rendered
114    image or the OpenGL state.
115
116
117Additions to Chapter 6 of the OpenGL 1.5 Specification (State and State
118Requests)
119
120    None
121
122Additions to Appendix A of the OpenGL 1.5 Specification (Invariance)
123
124    None
125
126Additions to the AGL/EGL/GLX/WGL Specifications
127
128    None
129
130GLX Protocol
131
132    None
133
134Dependencies on EXT_extension_name
135
136    None
137
138Errors
139
140    The error INVALID_OPERATION is generated if any of the commands
141    defined in this extension is executed between the execution of Begin
142    and the corresponding execution of End.
143
144New State
145
146    None
147
148New Implementation Dependent State
149
150    None
151
152Sample Code
153
154    None
155
156Revision History
157
158    1.0, 09/20/07 yt:   - Initial revision
159