XXX - Not complete yet!!! Name SGIX_list_priority Name Strings GL_SGIX_list_priority Version $Date: 1996/05/30 08:00:32 $ $Revision: 1.3 $ Number 80 Dependencies None Overview This extension provides a mechanism for specifying the relative importance of display lists. This information can be used by an OpenGL implementation to guide the placement of display list data in a storage hierarchy. Issues * Should we also add some hints to guide compilation strategies For example a hint could give us the equivalent of the iris gl compactify command. Generally hints could control compilation speed versus memory consumption, degree of optimization, etc. yes, in another spec * Should we go ahead and add a ListParameter command rather than a PrioritorizeList command just in case some other list attribute needs to be added. Do we go ahead and finish the job with f,i,iv functions? yes * Is 1.0 a reasonable default? * Should it be an SGI rather than SGIX extension? New Procedures and Functions ListParameterfSGIX(uint list, enum pname, float params; ListParameterfvSGIX(uint list, enum pname, float *params); ListParameteriSGIX(uint list, enum pname, int param); ListParameterivSGIX(uint list, enum pname, int *params); GetListParameterfvSGIX(uint list, enum pname, float *params); GetListParameterivSGIX(uint list, enum pname, int *params); New Tokens Accepted by the parameters of ListParameterfSGIX, ListParameterfvSGIX, ListParameteriSGIX, ListParameterivSGIX, GetListParameterfvSGIX, and GetListParameterivSGIX: LIST_PRIORITY_SGIX Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation) None Additions to Chapter 3 of the 1.0 Specification (Rasterization) None Additions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations and the Frame Buffer) None Additions to Chapter 5 of the 1.0 Specification (Special Functions) Applications guide the OpenGL implementation in determining which display lists should be favoured for fast execution by specifying a priority for each display list. Calling ListParameterfSGIX, ListParameterfvSGIX, ListParameteriSGIX, or ListParameterivSGIX with set to the display list, set to LIST_PRIORITY_SGIX, sets the priority to the value in . The priority value is clamped to the range [0.0, 1.0] before it is assigned. Zero indicates the lowest priority, and hence the least likelihood of optimal execution. One indicates the highest priority, and hence the greatest likelihood of optimal execution. (Attempts attempts to prioritize nonlists are silently ignored. Attempts to prioritize list 0 generates an INVALID_VALUE error.) The priority of a list can be queried by calling GetListParameterfvSGIX or GetListParameterivSGIX with set to the list and set to LIST_PRIORITY_SGIX. If is not defined than the value returned is undefined. ListParameterfSGIX, ListParameterfvSGIX, ListParameteriSGIX, and ListParameterivSGIX are not included in display lists. Additions to Chapter 6 of the 1.0 Specification (State and State Requests) None Additions to the GLX Specification TBD Errors INVALID_VALUE is generated if ListParameterfSGIX, ListParameterfvSGIX, ListParameteriSGIX, ListParameterivSGIX, GetListParameterfvSGIX, or GetListParameterivSGIX parameter is 0. INVALID_ENUM is generated if ListParameterfSGIX, ListParameterfvSGIX, ListParameteriSGIX, ListParameterivSGIX, GetListParameterfvSGIX, or GetListParameterivSGIX parameter is not LIST_PRIORITY_SGIX. INVALID_OPERATION is generated if ListParameterfSGIX, ListParameterfvSGIX, ListParameteriSGIX, ListParameterivSGIX, GetListParameterfvSGIX, or GetListParameterivSGIX is called between execution of Begin and the corresponding execution of End. New State Initial Get Value Get Command Type Value Attrib --------- ----------- ---- ------- ------ LIST_PRIORITY_SGIX GetListParameterfvSGIX n x Z+ 1 - New Implementation Dependent State None