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