home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 1.iso / toolbox / documents / OpenGL / opengldoc / glspec / visual_rating.spec < prev   
Encoding:
Text File  |  1996-11-11  |  5.0 KB  |  154 lines

  1. Name
  2.  
  3.     EXT_visual_rating
  4.  
  5. Name Strings
  6.  
  7.     GLX_EXT_visual_rating
  8.  
  9. Version
  10.  
  11.     $Date: 1996/04/01 23:23:36 $ $Revision: 1.1 $
  12.  
  13. Number
  14.  
  15.     44
  16.  
  17. Dependencies
  18.  
  19.     None
  20.  
  21. Overview
  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.  
  37. Issues
  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.  
  48. Reasoning
  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.  
  62. New Procedures and Functions
  63.  
  64.     None
  65.  
  66. New 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.  
  81. Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation)
  82.  
  83.     None
  84.  
  85. Additions to Chapter 3 of the 1.0 Specification (Rasterization)
  86.  
  87.     None
  88.  
  89. Additions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations
  90. and the Frame Buffer)
  91.  
  92.     None
  93.  
  94. Additions to Chapter 5 of the 1.0 Specification (Special Functions)
  95.  
  96.     None
  97.  
  98. Additions to Chapter 6 of the 1.0 Specification (State and State Requests)
  99.  
  100.     None
  101.  
  102. Additions 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.  
  125. GLX 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.  
  143. Errors
  144.  
  145.     None
  146.  
  147. New State
  148.  
  149.     No GL state
  150.  
  151. New Implementation Dependent State
  152.  
  153.    None
  154.