• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1XXX - incomplete
2
3Name
4
5    SGIX_bali_timer_instruments
6
7Name Strings
8
9    GL_SGIX_bali_timer_instruments
10
11Version
12
13    $Date: 1998/10/02 18:20:29 $  prf $Revision: 1.2 $
14
15Number
16
17    XXX
18
19Dependencies
20
21    SGIX_instruments is required
22
23Overview
24
25    This extension defines two timing-related instruments: one to
26    measure the time spent in the geometry subsystem, and another
27    to measure the time spent in the rasterization subsystem.  These
28    instruments can be used to balance the load of the two subsystems
29    and to fine-tune application performance.
30
31
32Issues
33
34    XXX
35
36New Procedures and Functions
37
38    None
39
40New Tokens
41
42    Accepted by the <cap> parameter of Enable, Disable and IsEnabled:
43
44        BALI_GEOM_TIMER_INSTRUMENT      0xXXXX
45        BALI_RASTER_TIMER_INSTRUMENT    0xXXXX
46
47    Accepted by the <pname> parameter of GetBooleanv, GetIntegerv,
48    GetFloatv, and GetDoublev:
49
50        BALI_INSTRUMENT_TIME_UNIT       0xXXXX
51
52Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation)
53
54    None
55
56Additions to Chapter 3 of the 1.0 Specification (Rasterization)
57
58    None
59
60Additions to Chapter 4 of the 1.0 Specification (Per-Fragment
61Operations and the Frame Buffer)
62
63    None
64
65Additions to Chapter 5 of the 1.2 Specification (Special Functions)
66
67    Add to the end of section 5.X entitled Instruments:
68
69    Timer instruments provide a method to measure and regulate the
70    performance of the GL pipeline in terms of geometry and
71    rasterization.  Because most applications tend to be limited by
72    either geometry processing or rasterization, timer instruments
73    will enable an application to identify possible bottlenecks and
74    undesired distribution of work between the two subsystems, and
75    thereby to improve load-management.
76
77    If BALI_GEOM_TIMER_INSTRUMENT is enabled and the instruments have
78    been started via a call to StartInstrumentsSGIX, a counter of the
79    amount of time spent in geometry subsystem is maintained.  A
80    similar counter is maintained for the time spend on rasterization
81    if BALI_RASTER_TIMER_INSTRUMENT is enabled.
82
83    The actual amount of time spent on geometry processing and
84    rasterization returned by BALI_GEOM_TIMER_INSTRUMENT and
85    BALI_RASTER_TIMER_INSTRUMENT, respectively, is calculated using
86    the real time clock of the scalar processor (SP).  The values
87    returned by these instruments will be measured in time units.  The
88    length of a time unit can be queried using the enum
89    INSTRUMENT_TIME_UNIT_SGIX (see Chapter 6).  This number will be
90    affected by processor speed and other implementation-specific
91    considerations.
92
93    Each response from BALI_GEOM_TIMER_INSTRUMENT and
94    BALI_RASTER_TIMER_INSTRUMENT uses 6 32-bit words of the buffer.
95    The first word (index 0) will be the enum name of the instrument
96    (BALI_GEOM_TIMER_INSTRUMENT or BALI_RASTER_TIMER_INSTRUMENT).  The
97    second word (index 1) of the instrument is the size in words of
98    all the data returned by the instrument, which is six for the
99    instruments defined in this extension.  The fourth word (index 3)
100    will be the instrument value.  (The preceeding word (index 2)
101    would be a dummy word.)  In future implementations, a 64-bit value
102    may be used for the instrument value (this will occupy indices 2
103    and 3) instead of a 32-bit value.  The fifth word (index 4) will be
104    another dummy value. The sixth word (index 5) will contain the marker
105    passed to StopInstrumentsSGIX or ReadInstrumentsSGIX.
106    The following is a simple diagram of how this information will be
107    passed down the pipe. Since the host and the pipe will be communicating
108    with 64-bits, three 64-bit packets will be sent across the pipe for each
109    measurement that is made.
110
111
112            -------------------------------------------------
113            |                       |                       |
114            | [enabled enum name]   |    [size in words]    |
115            |                       |                       |
116            -------------------------------------------------
117
118            -------------------------------------------------
119            |                       |                       |
120            |        [dummy]        |   [instrument value]  |
121            |                       |                       |
122            -------------------------------------------------
123
124            -------------------------------------------------
125            |                       |                       |
126            |       [dummy]         |       [marker]        |
127            |                       |                       |
128            -------------------------------------------------
129
130
131Additions to Chapter 6 of the 1.2 Specification (State and State Requests)
132
133    XXX
134
135Additions to the GLX Specification
136
137    XXX
138
139Errors
140
141    None
142
143New State
144
145    Initial                       Initial
146    Get Value                   Get Command	Type    Value   Attrib
147    ---------				    -----------	----	-----	------
148    INSTRUMENT_TIME_UNIT_SGIX   GetInteger    Z       0        -
149
150New Implementation Dependent State
151
152    None
153
154
155
156
157