15bd8deadSopenharmony_ciXXX - incomplete 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ciName 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ci SGIX_bali_timer_instruments 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ciName Strings 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ci GL_SGIX_bali_timer_instruments 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ciVersion 125bd8deadSopenharmony_ci 135bd8deadSopenharmony_ci $Date: 1998/10/02 18:20:29 $ prf $Revision: 1.2 $ 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 two timing-related instruments: one to 265bd8deadSopenharmony_ci measure the time spent in the geometry subsystem, and another 275bd8deadSopenharmony_ci to measure the time spent in the rasterization subsystem. These 285bd8deadSopenharmony_ci instruments can be used to balance the load of the two subsystems 295bd8deadSopenharmony_ci and to fine-tune application performance. 305bd8deadSopenharmony_ci 315bd8deadSopenharmony_ci 325bd8deadSopenharmony_ciIssues 335bd8deadSopenharmony_ci 345bd8deadSopenharmony_ci XXX 355bd8deadSopenharmony_ci 365bd8deadSopenharmony_ciNew Procedures and Functions 375bd8deadSopenharmony_ci 385bd8deadSopenharmony_ci None 395bd8deadSopenharmony_ci 405bd8deadSopenharmony_ciNew Tokens 415bd8deadSopenharmony_ci 425bd8deadSopenharmony_ci Accepted by the <cap> parameter of Enable, Disable and IsEnabled: 435bd8deadSopenharmony_ci 445bd8deadSopenharmony_ci BALI_GEOM_TIMER_INSTRUMENT 0xXXXX 455bd8deadSopenharmony_ci BALI_RASTER_TIMER_INSTRUMENT 0xXXXX 465bd8deadSopenharmony_ci 475bd8deadSopenharmony_ci Accepted by the <pname> parameter of GetBooleanv, GetIntegerv, 485bd8deadSopenharmony_ci GetFloatv, and GetDoublev: 495bd8deadSopenharmony_ci 505bd8deadSopenharmony_ci BALI_INSTRUMENT_TIME_UNIT 0xXXXX 515bd8deadSopenharmony_ci 525bd8deadSopenharmony_ciAdditions to Chapter 2 of the 1.0 Specification (OpenGL Operation) 535bd8deadSopenharmony_ci 545bd8deadSopenharmony_ci None 555bd8deadSopenharmony_ci 565bd8deadSopenharmony_ciAdditions to Chapter 3 of the 1.0 Specification (Rasterization) 575bd8deadSopenharmony_ci 585bd8deadSopenharmony_ci None 595bd8deadSopenharmony_ci 605bd8deadSopenharmony_ciAdditions to Chapter 4 of the 1.0 Specification (Per-Fragment 615bd8deadSopenharmony_ciOperations and the Frame Buffer) 625bd8deadSopenharmony_ci 635bd8deadSopenharmony_ci None 645bd8deadSopenharmony_ci 655bd8deadSopenharmony_ciAdditions to Chapter 5 of the 1.2 Specification (Special Functions) 665bd8deadSopenharmony_ci 675bd8deadSopenharmony_ci Add to the end of section 5.X entitled Instruments: 685bd8deadSopenharmony_ci 695bd8deadSopenharmony_ci Timer instruments provide a method to measure and regulate the 705bd8deadSopenharmony_ci performance of the GL pipeline in terms of geometry and 715bd8deadSopenharmony_ci rasterization. Because most applications tend to be limited by 725bd8deadSopenharmony_ci either geometry processing or rasterization, timer instruments 735bd8deadSopenharmony_ci will enable an application to identify possible bottlenecks and 745bd8deadSopenharmony_ci undesired distribution of work between the two subsystems, and 755bd8deadSopenharmony_ci thereby to improve load-management. 765bd8deadSopenharmony_ci 775bd8deadSopenharmony_ci If BALI_GEOM_TIMER_INSTRUMENT is enabled and the instruments have 785bd8deadSopenharmony_ci been started via a call to StartInstrumentsSGIX, a counter of the 795bd8deadSopenharmony_ci amount of time spent in geometry subsystem is maintained. A 805bd8deadSopenharmony_ci similar counter is maintained for the time spend on rasterization 815bd8deadSopenharmony_ci if BALI_RASTER_TIMER_INSTRUMENT is enabled. 825bd8deadSopenharmony_ci 835bd8deadSopenharmony_ci The actual amount of time spent on geometry processing and 845bd8deadSopenharmony_ci rasterization returned by BALI_GEOM_TIMER_INSTRUMENT and 855bd8deadSopenharmony_ci BALI_RASTER_TIMER_INSTRUMENT, respectively, is calculated using 865bd8deadSopenharmony_ci the real time clock of the scalar processor (SP). The values 875bd8deadSopenharmony_ci returned by these instruments will be measured in time units. The 885bd8deadSopenharmony_ci length of a time unit can be queried using the enum 895bd8deadSopenharmony_ci INSTRUMENT_TIME_UNIT_SGIX (see Chapter 6). This number will be 905bd8deadSopenharmony_ci affected by processor speed and other implementation-specific 915bd8deadSopenharmony_ci considerations. 925bd8deadSopenharmony_ci 935bd8deadSopenharmony_ci Each response from BALI_GEOM_TIMER_INSTRUMENT and 945bd8deadSopenharmony_ci BALI_RASTER_TIMER_INSTRUMENT uses 6 32-bit words of the buffer. 955bd8deadSopenharmony_ci The first word (index 0) will be the enum name of the instrument 965bd8deadSopenharmony_ci (BALI_GEOM_TIMER_INSTRUMENT or BALI_RASTER_TIMER_INSTRUMENT). The 975bd8deadSopenharmony_ci second word (index 1) of the instrument is the size in words of 985bd8deadSopenharmony_ci all the data returned by the instrument, which is six for the 995bd8deadSopenharmony_ci instruments defined in this extension. The fourth word (index 3) 1005bd8deadSopenharmony_ci will be the instrument value. (The preceeding word (index 2) 1015bd8deadSopenharmony_ci would be a dummy word.) In future implementations, a 64-bit value 1025bd8deadSopenharmony_ci may be used for the instrument value (this will occupy indices 2 1035bd8deadSopenharmony_ci and 3) instead of a 32-bit value. The fifth word (index 4) will be 1045bd8deadSopenharmony_ci another dummy value. The sixth word (index 5) will contain the marker 1055bd8deadSopenharmony_ci passed to StopInstrumentsSGIX or ReadInstrumentsSGIX. 1065bd8deadSopenharmony_ci The following is a simple diagram of how this information will be 1075bd8deadSopenharmony_ci passed down the pipe. Since the host and the pipe will be communicating 1085bd8deadSopenharmony_ci with 64-bits, three 64-bit packets will be sent across the pipe for each 1095bd8deadSopenharmony_ci measurement that is made. 1105bd8deadSopenharmony_ci 1115bd8deadSopenharmony_ci 1125bd8deadSopenharmony_ci ------------------------------------------------- 1135bd8deadSopenharmony_ci | | | 1145bd8deadSopenharmony_ci | [enabled enum name] | [size in words] | 1155bd8deadSopenharmony_ci | | | 1165bd8deadSopenharmony_ci ------------------------------------------------- 1175bd8deadSopenharmony_ci 1185bd8deadSopenharmony_ci ------------------------------------------------- 1195bd8deadSopenharmony_ci | | | 1205bd8deadSopenharmony_ci | [dummy] | [instrument value] | 1215bd8deadSopenharmony_ci | | | 1225bd8deadSopenharmony_ci ------------------------------------------------- 1235bd8deadSopenharmony_ci 1245bd8deadSopenharmony_ci ------------------------------------------------- 1255bd8deadSopenharmony_ci | | | 1265bd8deadSopenharmony_ci | [dummy] | [marker] | 1275bd8deadSopenharmony_ci | | | 1285bd8deadSopenharmony_ci ------------------------------------------------- 1295bd8deadSopenharmony_ci 1305bd8deadSopenharmony_ci 1315bd8deadSopenharmony_ciAdditions to Chapter 6 of the 1.2 Specification (State and State Requests) 1325bd8deadSopenharmony_ci 1335bd8deadSopenharmony_ci XXX 1345bd8deadSopenharmony_ci 1355bd8deadSopenharmony_ciAdditions to the GLX Specification 1365bd8deadSopenharmony_ci 1375bd8deadSopenharmony_ci XXX 1385bd8deadSopenharmony_ci 1395bd8deadSopenharmony_ciErrors 1405bd8deadSopenharmony_ci 1415bd8deadSopenharmony_ci None 1425bd8deadSopenharmony_ci 1435bd8deadSopenharmony_ciNew State 1445bd8deadSopenharmony_ci 1455bd8deadSopenharmony_ci Initial Initial 1465bd8deadSopenharmony_ci Get Value Get Command Type Value Attrib 1475bd8deadSopenharmony_ci --------- ----------- ---- ----- ------ 1485bd8deadSopenharmony_ci INSTRUMENT_TIME_UNIT_SGIX GetInteger Z 0 - 1495bd8deadSopenharmony_ci 1505bd8deadSopenharmony_ciNew Implementation Dependent State 1515bd8deadSopenharmony_ci 1525bd8deadSopenharmony_ci None 1535bd8deadSopenharmony_ci 1545bd8deadSopenharmony_ci 1555bd8deadSopenharmony_ci 1565bd8deadSopenharmony_ci 157