15bd8deadSopenharmony_ciXXX - incomplete 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ciName 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ci SGIX_bali_g_instruments 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ciName Strings 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ci GL_SGIX_bali_g_instruments 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ciVersion 125bd8deadSopenharmony_ci 135bd8deadSopenharmony_ci $Date: 1998/10/02 18:20:28 $ $Revision: 1.5 $ 145bd8deadSopenharmony_ci 155bd8deadSopenharmony_ciNumber 165bd8deadSopenharmony_ci 175bd8deadSopenharmony_ci XXX 185bd8deadSopenharmony_ci 195bd8deadSopenharmony_ciDependencies 205bd8deadSopenharmony_ci 215bd8deadSopenharmony_ci SGIX_instruments is required 225bd8deadSopenharmony_ci 235bd8deadSopenharmony_ciOverview 245bd8deadSopenharmony_ci 255bd8deadSopenharmony_ci This extension defines behavior for instruments which are 265bd8deadSopenharmony_ci maintained on the Bali G chip. The behavior is similar to 275bd8deadSopenharmony_ci standard instruments behavior since there is only one G ship. 285bd8deadSopenharmony_ci 295bd8deadSopenharmony_ci Additionally, this extension defines four such instruments: one to 305bd8deadSopenharmony_ci count the number of triangles culled, a second to count the number of primitives clipped, a third to count the number of primitives carried 315bd8deadSopenharmony_ci through after clipping, and a fourth to count the number of primitives 325bd8deadSopenharmony_ci rejected. 335bd8deadSopenharmony_ci 345bd8deadSopenharmony_ciIssues 355bd8deadSopenharmony_ci 365bd8deadSopenharmony_ci * Are there any other G instruments we should add? 375bd8deadSopenharmony_ci 385bd8deadSopenharmony_ci * Synchronization issues when G and R instruments are used simultaneously. 395bd8deadSopenharmony_ci 405bd8deadSopenharmony_ciNew Procedures and Functions 415bd8deadSopenharmony_ci 425bd8deadSopenharmony_ci None 435bd8deadSopenharmony_ci 445bd8deadSopenharmony_ciNew Tokens 455bd8deadSopenharmony_ci 465bd8deadSopenharmony_ci Accepted by the <cap> parameter of Enable, Disable and IsEnabled: 475bd8deadSopenharmony_ci 485bd8deadSopenharmony_ci BALI_NUM_TRIS_CULLED_INSTRUMENT 0x6080 495bd8deadSopenharmony_ci BALI_NUM_PRIMS_CLIPPED_INSTRUMENT 0x6081 505bd8deadSopenharmony_ci BALI_NUM_PRIMS_REJECT_INSTRUMENT 0x6082 515bd8deadSopenharmony_ci BALI_NUM_PRIMS_CLIP_RESULT_INSTRUMENT 0x6083 525bd8deadSopenharmony_ci 535bd8deadSopenharmony_ciAdditions to Chapter 2 of the 1.2 Specification (OpenGL Operation) 545bd8deadSopenharmony_ci 555bd8deadSopenharmony_ci Add to the end of section 2.11 (Clipping): 565bd8deadSopenharmony_ci 575bd8deadSopenharmony_ci If BALI_NUM_PRIMS_CLIPPED_INSTRUMENT is enabled and the instruments have 585bd8deadSopenharmony_ci been started via a call to StartInstrumentsSGIX, a counter of the number of 595bd8deadSopenharmony_ci primitives clipped is maintained. This counter is incremented by one for 605bd8deadSopenharmony_ci each primitive that is clipped. 615bd8deadSopenharmony_ci 625bd8deadSopenharmony_ci If BALI_NUM_PRIMS_CLIP_RESULT_INSTRUMENT is enabled and the instruments have 635bd8deadSopenharmony_ci been started via a call to StartInstrumentsSGIX, a counter of the number of 645bd8deadSopenharmony_ci primitives after clipping is maintained. This counter is incremented by one 655bd8deadSopenharmony_ci for each primitive that is carried through after clipping. 665bd8deadSopenharmony_ci 675bd8deadSopenharmony_ci If BALI_NUM_PRIMS_REJECT_INSTRUMENT is enabled and the instruments have been 685bd8deadSopenharmony_ci started via a call to StartInstrumentsSGIX, a counter of the number of 695bd8deadSopenharmony_ci primitives rejected is maintained. This counter is incremented by one for 705bd8deadSopenharmony_ci each prmitive that is rejected. 715bd8deadSopenharmony_ci 725bd8deadSopenharmony_ciAdditions to Chapter 3 of the 1.2 Specification (Rasterization) 735bd8deadSopenharmony_ci 745bd8deadSopenharmony_ci Add to section 3.5, between section 3.5.1 (Basic Polygon Rasterization) and 755bd8deadSopenharmony_ci section 3.5.2 (Stippling): 765bd8deadSopenharmony_ci 775bd8deadSopenharmony_ci If BALI_NUM_TRIS_CULLED_INSTRUMENT is enabled and the instruments have been 785bd8deadSopenharmony_ci started via a call to StartInstrumentsSGIX, a counter of the number of 795bd8deadSopenharmony_ci triangles culled is maintained. This counter is incremented by one for each 805bd8deadSopenharmony_ci triangle that is culled. 815bd8deadSopenharmony_ci 825bd8deadSopenharmony_ciAdditions to Chapter 4 of the 1.2 Specification (Per-Fragment Operations 835bd8deadSopenharmony_ciand the Frame Buffer) 845bd8deadSopenharmony_ci 855bd8deadSopenharmony_ci None 865bd8deadSopenharmony_ci 875bd8deadSopenharmony_ciAdditions to Chapter 5 of the 1.2 Specification (Special Functions) 885bd8deadSopenharmony_ci 895bd8deadSopenharmony_ci Add to the end of section 5.X entitled Instruments: 905bd8deadSopenharmony_ci 915bd8deadSopenharmony_ci Unlike the instruments computed on the Bali R chip, only one response is 925bd8deadSopenharmony_ci returned to the buffer for the G chip since there is only one G chip. Each 935bd8deadSopenharmony_ci call to StopInstrumentsSGIX or ReadInstrumentsSGIX will therefore generate 945bd8deadSopenharmony_ci only one response for the G chip for each enabled G chip instrument. 955bd8deadSopenharmony_ci 965bd8deadSopenharmony_ci Each G chip response from BALI_NUM_TRIS_CULLED_INSTRUMENT, 975bd8deadSopenharmony_ci BALI_NUM_PRIMS_CLIPPED_INSTRUMENT, BALI_NUM_PRIMS_CLIP_RESULT_INSTRUMENT, or 985bd8deadSopenharmony_ci BALI_NUM_PRIMS_REJECT_INSTRUMENT uses 6 32-bit words of the buffer. The 995bd8deadSopenharmony_ci first word (index 0) will be the enum name of the instrument 1005bd8deadSopenharmony_ci (BALI_NUM_TRIS_CULLED_INSTRUMENT, BALI_NUM_PRIMS_CLIPPED_INSTRUMENT, 1015bd8deadSopenharmony_ci BALI_NUM_PRIMS_CLIP_RESULT_INSTRUMENT, or BALI_NUM_PRIMS_REJECT_INSTRUMENT). 1025bd8deadSopenharmony_ci The second word (index 1) of the instrument is the size in words of all the 1035bd8deadSopenharmony_ci data returned by the instrument, which is six for the instruments defined in 1045bd8deadSopenharmony_ci this extension. The fourth word (index 3) will be the instrument value. 1055bd8deadSopenharmony_ci (The preceeding word (index 2) would be a dummy word.) The fifth word would be 1065bd8deadSopenharmony_ci another dummy value. This will be followed by the sixth word 1075bd8deadSopenharmony_ci (index 5) that will contain the marker passed to StopInstrumentsSGIX or 1085bd8deadSopenharmony_ci ReadInstrumentsSGIX. The following is a simple diagram of how 1095bd8deadSopenharmony_ci this information will be passed down the pipe. Since the host and the pipe 1105bd8deadSopenharmony_ci will be communicating with 64-bits, three 64-bit packets will be sent down 1115bd8deadSopenharmony_ci the pipe for each measurement that is made. 1125bd8deadSopenharmony_ci 1135bd8deadSopenharmony_ci ------------------------------------------------- 1145bd8deadSopenharmony_ci | | | 1155bd8deadSopenharmony_ci | [enabled enum name] | [size in words] | 1165bd8deadSopenharmony_ci | | | 1175bd8deadSopenharmony_ci ------------------------------------------------- 1185bd8deadSopenharmony_ci 1195bd8deadSopenharmony_ci ------------------------------------------------- 1205bd8deadSopenharmony_ci | | | 1215bd8deadSopenharmony_ci | [dummy] | [instrument value] | 1225bd8deadSopenharmony_ci | | | 1235bd8deadSopenharmony_ci ------------------------------------------------- 1245bd8deadSopenharmony_ci 1255bd8deadSopenharmony_ci ------------------------------------------------- 1265bd8deadSopenharmony_ci | | | 1275bd8deadSopenharmony_ci | [dummy] | [marker] | 1285bd8deadSopenharmony_ci | | | 1295bd8deadSopenharmony_ci ------------------------------------------------- 1305bd8deadSopenharmony_ci 1315bd8deadSopenharmony_ci 1325bd8deadSopenharmony_ciAdditions to Chapter 6 of the 1.2 Specification (State and State Requests) 1335bd8deadSopenharmony_ci 1345bd8deadSopenharmony_ci XXX 1355bd8deadSopenharmony_ci 1365bd8deadSopenharmony_ciAdditions to the GLX Specification 1375bd8deadSopenharmony_ci 1385bd8deadSopenharmony_ci XXX 1395bd8deadSopenharmony_ci 1405bd8deadSopenharmony_ciErrors 1415bd8deadSopenharmony_ci 1425bd8deadSopenharmony_ci None 1435bd8deadSopenharmony_ci 1445bd8deadSopenharmony_ciNew State 1455bd8deadSopenharmony_ci 1465bd8deadSopenharmony_ci XXX 1475bd8deadSopenharmony_ci 1485bd8deadSopenharmony_ciNew Implementation Dependent State 1495bd8deadSopenharmony_ci 1505bd8deadSopenharmony_ci None 1515bd8deadSopenharmony_ci 152