| XXX - incomplete |
| |
| Name |
| |
| SGIX_bali_g_instruments |
| |
| Name Strings |
| |
| GL_SGIX_bali_g_instruments |
| |
| Version |
| |
| $Date: 1998/10/02 18:20:28 $ $Revision: 1.5 $ |
| |
| Number |
| |
| XXX |
| |
| Dependencies |
| |
| SGIX_instruments is required |
| |
| Overview |
| |
| This extension defines behavior for instruments which are |
| maintained on the Bali G chip. The behavior is similar to |
| standard instruments behavior since there is only one G ship. |
| |
| Additionally, this extension defines four such instruments: one to |
| count the number of triangles culled, a second to count the number of primitives clipped, a third to count the number of primitives carried |
| through after clipping, and a fourth to count the number of primitives |
| rejected. |
| |
| Issues |
| |
| * Are there any other G instruments we should add? |
| |
| * Synchronization issues when G and R instruments are used simultaneously. |
| |
| New Procedures and Functions |
| |
| None |
| |
| New Tokens |
| |
| Accepted by the <cap> parameter of Enable, Disable and IsEnabled: |
| |
| BALI_NUM_TRIS_CULLED_INSTRUMENT 0x6080 |
| BALI_NUM_PRIMS_CLIPPED_INSTRUMENT 0x6081 |
| BALI_NUM_PRIMS_REJECT_INSTRUMENT 0x6082 |
| BALI_NUM_PRIMS_CLIP_RESULT_INSTRUMENT 0x6083 |
| |
| Additions to Chapter 2 of the 1.2 Specification (OpenGL Operation) |
| |
| Add to the end of section 2.11 (Clipping): |
| |
| If BALI_NUM_PRIMS_CLIPPED_INSTRUMENT is enabled and the instruments have |
| been started via a call to StartInstrumentsSGIX, a counter of the number of |
| primitives clipped is maintained. This counter is incremented by one for |
| each primitive that is clipped. |
| |
| If BALI_NUM_PRIMS_CLIP_RESULT_INSTRUMENT is enabled and the instruments have |
| been started via a call to StartInstrumentsSGIX, a counter of the number of |
| primitives after clipping is maintained. This counter is incremented by one |
| for each primitive that is carried through after clipping. |
| |
| If BALI_NUM_PRIMS_REJECT_INSTRUMENT is enabled and the instruments have been |
| started via a call to StartInstrumentsSGIX, a counter of the number of |
| primitives rejected is maintained. This counter is incremented by one for |
| each prmitive that is rejected. |
| |
| Additions to Chapter 3 of the 1.2 Specification (Rasterization) |
| |
| Add to section 3.5, between section 3.5.1 (Basic Polygon Rasterization) and |
| section 3.5.2 (Stippling): |
| |
| If BALI_NUM_TRIS_CULLED_INSTRUMENT is enabled and the instruments have been |
| started via a call to StartInstrumentsSGIX, a counter of the number of |
| triangles culled is maintained. This counter is incremented by one for each |
| triangle that is culled. |
| |
| Additions to Chapter 4 of the 1.2 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: |
| |
| Unlike the instruments computed on the Bali R chip, only one response is |
| returned to the buffer for the G chip since there is only one G chip. Each |
| call to StopInstrumentsSGIX or ReadInstrumentsSGIX will therefore generate |
| only one response for the G chip for each enabled G chip instrument. |
| |
| Each G chip response from BALI_NUM_TRIS_CULLED_INSTRUMENT, |
| BALI_NUM_PRIMS_CLIPPED_INSTRUMENT, BALI_NUM_PRIMS_CLIP_RESULT_INSTRUMENT, or |
| BALI_NUM_PRIMS_REJECT_INSTRUMENT uses 6 32-bit words of the buffer. The |
| first word (index 0) will be the enum name of the instrument |
| (BALI_NUM_TRIS_CULLED_INSTRUMENT, BALI_NUM_PRIMS_CLIPPED_INSTRUMENT, |
| BALI_NUM_PRIMS_CLIP_RESULT_INSTRUMENT, or BALI_NUM_PRIMS_REJECT_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.) The fifth word would be |
| another dummy value. This will be followed by the sixth word |
| (index 5) that 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 down |
| 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 |
| |
| XXX |
| |
| New Implementation Dependent State |
| |
| None |
| |