1Name 2 3 EXT_visual_rating 4 5Name Strings 6 7 GLX_EXT_visual_rating 8 9Version 10 11 $Date: 1996/03/12 03:12:47 $ $Revision: 1.7 $ 12 13Number 14 15 44 16 17Dependencies 18 19 None 20 21Overview 22 23 This extension allows servers to identify a particular GLX visual as 24 undesirable. A new visual attribute is introduced, providing a way 25 for servers to specify caveats (e.g., slow) for a visual. The attribute 26 may be queried using glXGetConfig, and can therefore be used by 27 application-specific visual selection routines. The new attribute is 28 also used by glXChooseVisual to discriminate against visuals with 29 caveats. 30 31 This extension allows servers to export visuals with improved features 32 or image quality, but lower performance or greater system burden, 33 without having to have these visuals selected preferentially. It is 34 intended to insure that most applications get the "right" visual, not 35 that all applications do. 36 37Issues 38 39 It is possible for an application to unknowingly select a visual with 40 caveats, if it is unaware of the GLX_VISUAL_CAVEAT_EXT attribute. Also, if 41 the server supports this extension but the client library does not, then 42 glXChooseVisual may select a visual with caveats. The latter problem can be 43 rectified if/when this extension is incorporated into GLX 1.3, since the 44 server knows the clients version and can avoid exporting visuals with 45 caveats to client libraries that don't know how to handle them. (Note that 46 the server does not know which GLX extensions a client supports.) 47 48Reasoning 49 50 This extension is designed to be automatic -- applications don't have 51 to use it explicitly. glXChooseVisual always prefers visuals with 52 no caveats. 53 54 Because visuals that don't have a GLX_VISUAL_CAVEAT_EXT attribute are 55 treated as good visuals, applications need not concern themselves with 56 whether a server supports EXT_visual_rating or not. This allows 57 operation to be automatic. 58 59 The new visual attribute is defined as an enumerated type so additional 60 caveats, such as GLX_RESOURCE_HOG_EXT, can be introduced in the future. 61 62New Procedures and Functions 63 64 None 65 66New Tokens 67 68 Accepted by the <attribute> parameter of glXGetConfig and by the 69 <attrib_list> parameter of glXChooseVisual: 70 71 GLX_VISUAL_CAVEAT_EXT 0x20 72 73 Returned by the <value> parameter of glXGetConfig (when <attribute> is set 74 to GLX_VISUAL_CAVEAT_EXT) and accepted by the <attrib_list> parameter of 75 glXChooseVIsual (following the GLX_VISUAL_CAVEAT_EXT token): 76 77 GLX_NONE_EXT 0x8000 78 GLX_SLOW_VISUAL_EXT 0x8001 79 GLX_NON_CONFORMANT_VISUAL_EXT 0x800D 80 81Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation) 82 83 None 84 85Additions to Chapter 3 of the 1.0 Specification (Rasterization) 86 87 None 88 89Additions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations 90and the Frame Buffer) 91 92 None 93 94Additions to Chapter 5 of the 1.0 Specification (Special Functions) 95 96 None 97 98Additions to Chapter 6 of the 1.0 Specification (State and State Requests) 99 100 None 101 102Additions to the GLX Specification 103 104 When called with <attribute> set to GLX_VISUAL_CAVEAT_EXT, glXGetConfig 105 returns in parameter <value> one of three values: GLX_NONE_EXT, 106 GLX_SLOW_VISUAL_EXT or GLX_NON_CONFORMANT_VISUAL_EXT. The returned value 107 is known as the rating of the visual. 108 109 If the GLX_VISUAL_CAVEAT_EXT attribute is not specified in the <attrib_list> 110 parameter of glXChooseVisual then preference is given to visuals with no 111 caveats (i.e., visuals with this attribute set to GLX_NONE_EXT). If the 112 GLX_VISUAL_CAVEAT_EXT attribute is specified, then glXChooseVisual will 113 match the specified value exactly. For example, if the value is specified 114 as GLX_NONE_EXT, then only visuals with no caveats will be considered. 115 116 If the server doesn't support EXT_visual_rating, GLX client implementations 117 treat all visuals as if they had the GLX_VISUAL_CAVEAT_EXT attribute set to 118 GLX_NONE_EXT. Individual visuals that do not have this attribute set are 119 also assumed to have no caveats. 120 121 A client that supports EXT_visual_rating will insure that the string 122 GLX_EXT_visual_rating is returned by glXQueryExtensionsString, 123 regardless of whether the server supports EXT_visual_rating. 124 125GLX Protocol 126 127 A single additional property type/property value pair may be included in 128 the property list of each visual returned by glXGetVisualConfigs. This 129 property type/property value pair is encoded as 130 131 4 ENUM property type 132 0x20 GLX_VISUAL_CAVEAT_EXT 133 4 ENUM property value 134 0x8000 GLX_NONE_EXT 135 0x8001 GLX_SLOW_VISUAL_EXT 136 0x800D GLX_NON_CONFORMANT_VISUAL_EXT 137 138 139 If this property type/property value pair is not specified for a visual, 140 then the value is assumed to be GLX_NONE_EXT. 141 142 143Errors 144 145 None 146 147New State 148 149 No GL state 150 151New Implementation Dependent State 152 153 None 154