blob: af4536c988b7a04c986828fd3264c06aa328c7ff [file] [log] [blame]
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 <pname> 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 <list> set to the display list, <pname> set to LIST_PRIORITY_SGIX,
sets the priority to the value in <params>.
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 <list> set to the list and <pname> set to
LIST_PRIORITY_SGIX. If <list> 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 <list> is 0.
INVALID_ENUM is generated if ListParameterfSGIX, ListParameterfvSGIX,
ListParameteriSGIX, ListParameterivSGIX, GetListParameterfvSGIX, or
GetListParameterivSGIX parameter <pname> 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