• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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