• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1XXX - incomplete
2
3Name
4
5    SGIX_bali_g_instruments
6
7Name Strings
8
9    GL_SGIX_bali_g_instruments
10
11Version
12
13    $Date: 1998/10/02 18:20:28 $  $Revision: 1.5 $
14
15Number
16
17    XXX
18
19Dependencies
20
21    SGIX_instruments is required
22
23Overview
24
25    This extension defines behavior for instruments which are
26    maintained on the Bali G chip.  The behavior is similar to
27    standard instruments behavior since there is only one G ship.
28
29    Additionally, this extension defines four such instruments:  one to
30    count the number of triangles culled, a second to count the number of            primitives clipped, a third to count the number of primitives carried
31    through after clipping, and a fourth to count the number of primitives
32    rejected.
33
34Issues
35
36    *	Are there any other G instruments we should add?
37
38    *   Synchronization issues when G and R instruments are used simultaneously.
39
40New Procedures and Functions
41
42    None
43
44New Tokens
45
46    Accepted by the <cap> parameter of Enable, Disable and IsEnabled:
47
48        BALI_NUM_TRIS_CULLED_INSTRUMENT         0x6080
49        BALI_NUM_PRIMS_CLIPPED_INSTRUMENT       0x6081
50        BALI_NUM_PRIMS_REJECT_INSTRUMENT        0x6082
51        BALI_NUM_PRIMS_CLIP_RESULT_INSTRUMENT   0x6083
52
53Additions to Chapter 2 of the 1.2 Specification (OpenGL Operation)
54
55    Add to the end of section 2.11 (Clipping):
56
57    If BALI_NUM_PRIMS_CLIPPED_INSTRUMENT is enabled and the instruments have
58    been started via a call to StartInstrumentsSGIX, a counter of the number of
59    primitives clipped is maintained.  This counter is incremented by one for
60    each primitive that is clipped.
61
62    If BALI_NUM_PRIMS_CLIP_RESULT_INSTRUMENT is enabled and the instruments have
63    been started via a call to StartInstrumentsSGIX, a counter of the number of
64    primitives after clipping is maintained.  This counter is incremented by one
65    for each primitive that is carried through after clipping.
66
67    If BALI_NUM_PRIMS_REJECT_INSTRUMENT is enabled and the instruments have been
68    started via a call to StartInstrumentsSGIX, a counter of the number of
69    primitives rejected is maintained.  This counter is incremented by one for
70    each prmitive that is rejected.
71
72Additions to Chapter 3 of the 1.2 Specification (Rasterization)
73
74    Add to section 3.5, between section 3.5.1 (Basic Polygon Rasterization) and
75    section 3.5.2 (Stippling):
76
77    If BALI_NUM_TRIS_CULLED_INSTRUMENT is enabled and the instruments have been
78    started via a call to StartInstrumentsSGIX, a counter of the number of
79    triangles culled is maintained.  This counter is incremented by one for each
80    triangle that is culled.
81
82Additions to Chapter 4 of the 1.2 Specification (Per-Fragment Operations
83and the Frame Buffer)
84
85    None
86
87Additions to Chapter 5 of the 1.2 Specification (Special Functions)
88
89    Add to the end of section 5.X entitled Instruments:
90
91    Unlike the instruments computed on the Bali R chip, only one response is
92    returned to the buffer for the G chip since there is only one G chip.  Each
93    call to StopInstrumentsSGIX or ReadInstrumentsSGIX will therefore generate
94    only one response for the G chip for each enabled G chip instrument.
95
96    Each G chip response from BALI_NUM_TRIS_CULLED_INSTRUMENT,
97    BALI_NUM_PRIMS_CLIPPED_INSTRUMENT, BALI_NUM_PRIMS_CLIP_RESULT_INSTRUMENT, or
98    BALI_NUM_PRIMS_REJECT_INSTRUMENT uses 6 32-bit words of the buffer.  The
99    first word (index 0) will be the enum name of the instrument
100    (BALI_NUM_TRIS_CULLED_INSTRUMENT, BALI_NUM_PRIMS_CLIPPED_INSTRUMENT,
101    BALI_NUM_PRIMS_CLIP_RESULT_INSTRUMENT, or BALI_NUM_PRIMS_REJECT_INSTRUMENT).
102    The second word (index 1) of the instrument is the size in words of all the
103    data returned by the instrument, which is six for the instruments defined in
104    this extension.  The fourth word (index 3) will be the instrument value.
105    (The preceeding word (index 2) would be a dummy word.)  The fifth word would be
106    another dummy value. This will be followed by the sixth word
107    (index 5) that will contain the marker passed to StopInstrumentsSGIX or
108    ReadInstrumentsSGIX.  The following is a simple diagram of how
109    this information will be passed down the pipe.  Since the host and the pipe
110    will be communicating with 64-bits, three 64-bit packets will be sent down
111    the pipe for each measurement that is made.
112
113            -------------------------------------------------
114            |                       |                       |
115            | [enabled enum name]   |    [size in words]    |
116            |                       |                       |
117            -------------------------------------------------
118
119            -------------------------------------------------
120            |                       |                       |
121            |        [dummy]        |   [instrument value]  |
122            |                       |                       |
123            -------------------------------------------------
124
125            -------------------------------------------------
126            |                       |                       |
127            |       [dummy]         |       [marker]        |
128            |                       |                       |
129            -------------------------------------------------
130
131
132Additions to Chapter 6 of the 1.2 Specification (State and State Requests)
133
134    XXX
135
136Additions to the GLX Specification
137
138    XXX
139
140Errors
141
142    None
143
144New State
145
146    XXX
147
148New Implementation Dependent State
149
150    None
151
152