| XXX - incomplete |
| |
| Name |
| |
| SGIX_bali_timer_instruments |
| |
| Name Strings |
| |
| GL_SGIX_bali_timer_instruments |
| |
| Version |
| |
| $Date: 1998/10/02 18:20:29 $ prf $Revision: 1.2 $ |
| |
| Number |
| |
| XXX |
| |
| Dependencies |
| |
| SGIX_instruments is required |
| |
| Overview |
| |
| This extension defines two timing-related instruments: one to |
| measure the time spent in the geometry subsystem, and another |
| to measure the time spent in the rasterization subsystem. These |
| instruments can be used to balance the load of the two subsystems |
| and to fine-tune application performance. |
| |
| |
| Issues |
| |
| XXX |
| |
| New Procedures and Functions |
| |
| None |
| |
| New Tokens |
| |
| Accepted by the <cap> parameter of Enable, Disable and IsEnabled: |
| |
| BALI_GEOM_TIMER_INSTRUMENT 0xXXXX |
| BALI_RASTER_TIMER_INSTRUMENT 0xXXXX |
| |
| Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, |
| GetFloatv, and GetDoublev: |
| |
| BALI_INSTRUMENT_TIME_UNIT 0xXXXX |
| |
| Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation) |
| |
| None |
| |
| Additions to Chapter 3 of the 1.0 Specification (Rasterization) |
| |
| None |
| |
| Additions to Chapter 4 of the 1.0 Specification (Per-Fragment |
| Operations and the Frame Buffer) |
| |
| None |
| |
| Additions to Chapter 5 of the 1.2 Specification (Special Functions) |
| |
| Add to the end of section 5.X entitled Instruments: |
| |
| Timer instruments provide a method to measure and regulate the |
| performance of the GL pipeline in terms of geometry and |
| rasterization. Because most applications tend to be limited by |
| either geometry processing or rasterization, timer instruments |
| will enable an application to identify possible bottlenecks and |
| undesired distribution of work between the two subsystems, and |
| thereby to improve load-management. |
| |
| If BALI_GEOM_TIMER_INSTRUMENT is enabled and the instruments have |
| been started via a call to StartInstrumentsSGIX, a counter of the |
| amount of time spent in geometry subsystem is maintained. A |
| similar counter is maintained for the time spend on rasterization |
| if BALI_RASTER_TIMER_INSTRUMENT is enabled. |
| |
| The actual amount of time spent on geometry processing and |
| rasterization returned by BALI_GEOM_TIMER_INSTRUMENT and |
| BALI_RASTER_TIMER_INSTRUMENT, respectively, is calculated using |
| the real time clock of the scalar processor (SP). The values |
| returned by these instruments will be measured in time units. The |
| length of a time unit can be queried using the enum |
| INSTRUMENT_TIME_UNIT_SGIX (see Chapter 6). This number will be |
| affected by processor speed and other implementation-specific |
| considerations. |
| |
| Each response from BALI_GEOM_TIMER_INSTRUMENT and |
| BALI_RASTER_TIMER_INSTRUMENT uses 6 32-bit words of the buffer. |
| The first word (index 0) will be the enum name of the instrument |
| (BALI_GEOM_TIMER_INSTRUMENT or BALI_RASTER_TIMER_INSTRUMENT). The |
| second word (index 1) of the instrument is the size in words of |
| all the data returned by the instrument, which is six for the |
| instruments defined in this extension. The fourth word (index 3) |
| will be the instrument value. (The preceeding word (index 2) |
| would be a dummy word.) In future implementations, a 64-bit value |
| may be used for the instrument value (this will occupy indices 2 |
| and 3) instead of a 32-bit value. The fifth word (index 4) will be |
| another dummy value. The sixth word (index 5) will contain the marker |
| passed to StopInstrumentsSGIX or ReadInstrumentsSGIX. |
| The following is a simple diagram of how this information will be |
| passed down the pipe. Since the host and the pipe will be communicating |
| with 64-bits, three 64-bit packets will be sent across the pipe for each |
| measurement that is made. |
| |
| |
| ------------------------------------------------- |
| | | | |
| | [enabled enum name] | [size in words] | |
| | | | |
| ------------------------------------------------- |
| |
| ------------------------------------------------- |
| | | | |
| | [dummy] | [instrument value] | |
| | | | |
| ------------------------------------------------- |
| |
| ------------------------------------------------- |
| | | | |
| | [dummy] | [marker] | |
| | | | |
| ------------------------------------------------- |
| |
| |
| Additions to Chapter 6 of the 1.2 Specification (State and State Requests) |
| |
| XXX |
| |
| Additions to the GLX Specification |
| |
| XXX |
| |
| Errors |
| |
| None |
| |
| New State |
| |
| Initial Initial |
| Get Value Get Command Type Value Attrib |
| --------- ----------- ---- ----- ------ |
| INSTRUMENT_TIME_UNIT_SGIX GetInteger Z 0 - |
| |
| New Implementation Dependent State |
| |
| None |
| |
| |
| |
| |