15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    EXT_visual_rating
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GLX_EXT_visual_rating
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ciVersion
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    $Date: 1996/03/12 03:12:47 $ $Revision: 1.7 $
125bd8deadSopenharmony_ci
135bd8deadSopenharmony_ciNumber
145bd8deadSopenharmony_ci
155bd8deadSopenharmony_ci    44
165bd8deadSopenharmony_ci
175bd8deadSopenharmony_ciDependencies
185bd8deadSopenharmony_ci
195bd8deadSopenharmony_ci    None
205bd8deadSopenharmony_ci
215bd8deadSopenharmony_ciOverview
225bd8deadSopenharmony_ci
235bd8deadSopenharmony_ci    This extension allows servers to identify a particular GLX visual as 
245bd8deadSopenharmony_ci    undesirable. A new visual attribute is introduced, providing a way
255bd8deadSopenharmony_ci    for servers to specify caveats (e.g., slow) for a visual. The attribute 
265bd8deadSopenharmony_ci    may be queried using glXGetConfig, and can therefore be used by 
275bd8deadSopenharmony_ci    application-specific visual selection routines. The new attribute is 
285bd8deadSopenharmony_ci    also used by glXChooseVisual to discriminate against visuals with
295bd8deadSopenharmony_ci    caveats.
305bd8deadSopenharmony_ci
315bd8deadSopenharmony_ci    This extension allows servers to export visuals with improved features
325bd8deadSopenharmony_ci    or image quality, but lower performance or greater system burden,
335bd8deadSopenharmony_ci    without having to have these visuals selected preferentially.  It is
345bd8deadSopenharmony_ci    intended to insure that most applications get the "right" visual, not
355bd8deadSopenharmony_ci    that all applications do.
365bd8deadSopenharmony_ci
375bd8deadSopenharmony_ciIssues
385bd8deadSopenharmony_ci
395bd8deadSopenharmony_ci    It is possible for an application to unknowingly select a visual with 
405bd8deadSopenharmony_ci    caveats, if it is unaware of the GLX_VISUAL_CAVEAT_EXT attribute. Also, if 
415bd8deadSopenharmony_ci    the server supports this extension but the client library does not, then 
425bd8deadSopenharmony_ci    glXChooseVisual may select a visual with caveats. The latter problem can be 
435bd8deadSopenharmony_ci    rectified if/when this extension is incorporated into GLX 1.3, since the 
445bd8deadSopenharmony_ci    server knows the clients version and can avoid exporting visuals with 
455bd8deadSopenharmony_ci    caveats to client libraries that don't know how to handle them. (Note that 
465bd8deadSopenharmony_ci    the server does not know which GLX extensions a client supports.)
475bd8deadSopenharmony_ci
485bd8deadSopenharmony_ciReasoning
495bd8deadSopenharmony_ci
505bd8deadSopenharmony_ci    This extension is designed to be automatic -- applications don't have
515bd8deadSopenharmony_ci    to use it explicitly. glXChooseVisual always prefers visuals with
525bd8deadSopenharmony_ci    no caveats.
535bd8deadSopenharmony_ci
545bd8deadSopenharmony_ci    Because visuals that don't have a GLX_VISUAL_CAVEAT_EXT attribute are 
555bd8deadSopenharmony_ci    treated as good visuals, applications need not concern themselves with 
565bd8deadSopenharmony_ci    whether a server supports EXT_visual_rating or not.  This allows 
575bd8deadSopenharmony_ci    operation to be automatic.
585bd8deadSopenharmony_ci
595bd8deadSopenharmony_ci    The new visual attribute is defined as an enumerated type so additional
605bd8deadSopenharmony_ci    caveats, such as GLX_RESOURCE_HOG_EXT, can be introduced in the future.
615bd8deadSopenharmony_ci
625bd8deadSopenharmony_ciNew Procedures and Functions
635bd8deadSopenharmony_ci
645bd8deadSopenharmony_ci    None
655bd8deadSopenharmony_ci
665bd8deadSopenharmony_ciNew Tokens
675bd8deadSopenharmony_ci
685bd8deadSopenharmony_ci    Accepted by the <attribute> parameter of glXGetConfig and by the 
695bd8deadSopenharmony_ci    <attrib_list> parameter of glXChooseVisual:
705bd8deadSopenharmony_ci
715bd8deadSopenharmony_ci        GLX_VISUAL_CAVEAT_EXT           0x20
725bd8deadSopenharmony_ci
735bd8deadSopenharmony_ci    Returned by the <value> parameter of glXGetConfig (when <attribute> is set 
745bd8deadSopenharmony_ci    to GLX_VISUAL_CAVEAT_EXT) and accepted by the <attrib_list> parameter of 
755bd8deadSopenharmony_ci    glXChooseVIsual (following the GLX_VISUAL_CAVEAT_EXT token):
765bd8deadSopenharmony_ci
775bd8deadSopenharmony_ci        GLX_NONE_EXT                    0x8000
785bd8deadSopenharmony_ci        GLX_SLOW_VISUAL_EXT             0x8001
795bd8deadSopenharmony_ci        GLX_NON_CONFORMANT_VISUAL_EXT   0x800D
805bd8deadSopenharmony_ci
815bd8deadSopenharmony_ciAdditions to Chapter 2 of the 1.0 Specification (OpenGL Operation)
825bd8deadSopenharmony_ci
835bd8deadSopenharmony_ci    None
845bd8deadSopenharmony_ci
855bd8deadSopenharmony_ciAdditions to Chapter 3 of the 1.0 Specification (Rasterization)
865bd8deadSopenharmony_ci
875bd8deadSopenharmony_ci    None
885bd8deadSopenharmony_ci
895bd8deadSopenharmony_ciAdditions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations
905bd8deadSopenharmony_ciand the Frame Buffer)
915bd8deadSopenharmony_ci
925bd8deadSopenharmony_ci    None
935bd8deadSopenharmony_ci
945bd8deadSopenharmony_ciAdditions to Chapter 5 of the 1.0 Specification (Special Functions)
955bd8deadSopenharmony_ci
965bd8deadSopenharmony_ci    None
975bd8deadSopenharmony_ci
985bd8deadSopenharmony_ciAdditions to Chapter 6 of the 1.0 Specification (State and State Requests)
995bd8deadSopenharmony_ci
1005bd8deadSopenharmony_ci    None
1015bd8deadSopenharmony_ci
1025bd8deadSopenharmony_ciAdditions to the GLX Specification
1035bd8deadSopenharmony_ci
1045bd8deadSopenharmony_ci    When called with <attribute> set to GLX_VISUAL_CAVEAT_EXT, glXGetConfig
1055bd8deadSopenharmony_ci    returns in parameter <value> one of three values: GLX_NONE_EXT, 
1065bd8deadSopenharmony_ci    GLX_SLOW_VISUAL_EXT or GLX_NON_CONFORMANT_VISUAL_EXT. The returned value 
1075bd8deadSopenharmony_ci    is known as the rating of the visual.
1085bd8deadSopenharmony_ci
1095bd8deadSopenharmony_ci    If the GLX_VISUAL_CAVEAT_EXT attribute is not specified in the <attrib_list>
1105bd8deadSopenharmony_ci    parameter of glXChooseVisual then preference is given to visuals with no 
1115bd8deadSopenharmony_ci    caveats (i.e., visuals with this attribute set to GLX_NONE_EXT). If the 
1125bd8deadSopenharmony_ci    GLX_VISUAL_CAVEAT_EXT attribute is specified, then glXChooseVisual will 
1135bd8deadSopenharmony_ci    match the specified value exactly. For example, if the value is specified 
1145bd8deadSopenharmony_ci    as GLX_NONE_EXT, then only visuals with no caveats will be considered.
1155bd8deadSopenharmony_ci
1165bd8deadSopenharmony_ci    If the server doesn't support EXT_visual_rating, GLX client implementations 
1175bd8deadSopenharmony_ci    treat all visuals as if they had the GLX_VISUAL_CAVEAT_EXT attribute set to 
1185bd8deadSopenharmony_ci    GLX_NONE_EXT. Individual visuals that do not have this attribute set are 
1195bd8deadSopenharmony_ci    also assumed to have no caveats.
1205bd8deadSopenharmony_ci
1215bd8deadSopenharmony_ci    A client that supports EXT_visual_rating will insure that the string
1225bd8deadSopenharmony_ci    GLX_EXT_visual_rating is returned by glXQueryExtensionsString,
1235bd8deadSopenharmony_ci    regardless of whether the server supports EXT_visual_rating.
1245bd8deadSopenharmony_ci
1255bd8deadSopenharmony_ciGLX Protocol
1265bd8deadSopenharmony_ci
1275bd8deadSopenharmony_ci    A single additional property type/property value pair may be included in
1285bd8deadSopenharmony_ci    the property list of each visual returned by glXGetVisualConfigs.  This
1295bd8deadSopenharmony_ci    property type/property value pair is encoded as
1305bd8deadSopenharmony_ci
1315bd8deadSopenharmony_ci     4         ENUM            property type
1325bd8deadSopenharmony_ci               0x20            GLX_VISUAL_CAVEAT_EXT
1335bd8deadSopenharmony_ci     4         ENUM            property value
1345bd8deadSopenharmony_ci               0x8000          GLX_NONE_EXT
1355bd8deadSopenharmony_ci               0x8001          GLX_SLOW_VISUAL_EXT
1365bd8deadSopenharmony_ci               0x800D          GLX_NON_CONFORMANT_VISUAL_EXT
1375bd8deadSopenharmony_ci
1385bd8deadSopenharmony_ci
1395bd8deadSopenharmony_ci    If this property type/property value pair is not specified for a visual,
1405bd8deadSopenharmony_ci    then the value is assumed to be GLX_NONE_EXT.
1415bd8deadSopenharmony_ci
1425bd8deadSopenharmony_ci
1435bd8deadSopenharmony_ciErrors
1445bd8deadSopenharmony_ci
1455bd8deadSopenharmony_ci    None
1465bd8deadSopenharmony_ci
1475bd8deadSopenharmony_ciNew State
1485bd8deadSopenharmony_ci
1495bd8deadSopenharmony_ci    No GL state
1505bd8deadSopenharmony_ci
1515bd8deadSopenharmony_ciNew Implementation Dependent State
1525bd8deadSopenharmony_ci
1535bd8deadSopenharmony_ci   None
154