15bd8deadSopenharmony_ciName 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ci SGIX_fbconfig 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ciName Strings 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ci GLX_SGIX_fbconfig 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ciVersion 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ci $Date: 1997/03/24 18:56:20 $ $Revision: 1.16 $ 125bd8deadSopenharmony_ci 135bd8deadSopenharmony_ciNumber 145bd8deadSopenharmony_ci 155bd8deadSopenharmony_ci 49 165bd8deadSopenharmony_ci 175bd8deadSopenharmony_ciDependencies 185bd8deadSopenharmony_ci 195bd8deadSopenharmony_ci SGIS_multisample affects the definition of this extension 205bd8deadSopenharmony_ci EXT_visual_info affects the definition of this extension 215bd8deadSopenharmony_ci EXT_visual_rating affects the definition of this extension 225bd8deadSopenharmony_ci EXT_import_context affects the definition of this extension 235bd8deadSopenharmony_ci SGIX_pbuffer affects the definition of this extension 245bd8deadSopenharmony_ci 255bd8deadSopenharmony_ciOverview 265bd8deadSopenharmony_ci 275bd8deadSopenharmony_ci This extension introduces a new way to describe the capabilities of a 285bd8deadSopenharmony_ci GLX drawable (i.e., to describe the depth of color buffer components 295bd8deadSopenharmony_ci and the type and size of ancillary buffers), removes the "similarity" 305bd8deadSopenharmony_ci requirement when making a context current to a drawable, and supports 315bd8deadSopenharmony_ci RGBA rendering to one- and two-component Windows and GLX Pixmaps. 325bd8deadSopenharmony_ci 335bd8deadSopenharmony_ci Currently GLX overloads X Visuals with information on GLX drawable 345bd8deadSopenharmony_ci capabilities. This extension defines a new construct, a GLXFBConfigSGIX, 355bd8deadSopenharmony_ci that encapsulates GLX drawable capabilities and has the following 365bd8deadSopenharmony_ci properties: 375bd8deadSopenharmony_ci 385bd8deadSopenharmony_ci - It may or may not have an associated X visual. If it does have 395bd8deadSopenharmony_ci an associated X visual then it is possible to create Windows that 405bd8deadSopenharmony_ci have the capabilities described by the GLXFBConfig. 415bd8deadSopenharmony_ci 425bd8deadSopenharmony_ci - A particular GLXFBConfig does not need to work with all GLX 435bd8deadSopenharmony_ci drawables. For example, it is possible for implementations to export 445bd8deadSopenharmony_ci GLXFBConfigs that only work with GLX pixmaps. 455bd8deadSopenharmony_ci 465bd8deadSopenharmony_ci This extension also removes the "similarity" restriction when making 475bd8deadSopenharmony_ci a context and drawable current. Instead a less restrictive requirement 485bd8deadSopenharmony_ci of "compatibility" (see definition below) is imposed. Note that when 495bd8deadSopenharmony_ci a context is created it has an associated rendering type which 505bd8deadSopenharmony_ci is either RGBA or color index. In the future we may want to remove all 515bd8deadSopenharmony_ci "similarity" and "compatibility" restrictions and allow a context to be 525bd8deadSopenharmony_ci bound to any drawable that supports its rendering type. 535bd8deadSopenharmony_ci 545bd8deadSopenharmony_ci Finally the current GLX specification requires that the GLX_RGBA visual 555bd8deadSopenharmony_ci attribute be associated only with X visual types TrueColor and DirectColor. 565bd8deadSopenharmony_ci This extension defines the semantics for doing RGBA rendering to Windows 575bd8deadSopenharmony_ci created with visuals of type PseudoColor, StaticColor, GrayScale, and 585bd8deadSopenharmony_ci StaticGray. In each of these cases, the red component is used to 595bd8deadSopenharmony_ci generate the display, and the green and blue components, if present, 605bd8deadSopenharmony_ci are ignored for display purposes. 615bd8deadSopenharmony_ci 625bd8deadSopenharmony_ci The OpenGL RGBA rendering semantics are more powerful than the OpenGL 635bd8deadSopenharmony_ci index rendering semantics. By extending the number of X visual types 645bd8deadSopenharmony_ci that can be associated with an RGBA color buffer, this extension allows 655bd8deadSopenharmony_ci RGBA rendering semantics to be used with pseudo color and gray scale 665bd8deadSopenharmony_ci displays. An especially useful application of this extension is 675bd8deadSopenharmony_ci support of one- and two-component RGBA drawables; drawables whose green, 685bd8deadSopenharmony_ci blue, and sometimes alpha components have no bitplanes. 695bd8deadSopenharmony_ci 705bd8deadSopenharmony_ci 715bd8deadSopenharmony_ciIssues 725bd8deadSopenharmony_ci 735bd8deadSopenharmony_ci * Should GLXFBConfigs apply to all GLX drawables or just GLXPbuffers? 745bd8deadSopenharmony_ci 755bd8deadSopenharmony_ci A: For consistency, all GLX drawables should be supported. (And if this 765bd8deadSopenharmony_ci extension is incorporated in a future release of GLX then the existing 775bd8deadSopenharmony_ci calls that rely on XVisualInfo structures should be deprecated.) The 785bd8deadSopenharmony_ci current mechanism which ties the description of GLX drawables to 795bd8deadSopenharmony_ci X visuals is inadequate since it restricts all drawable configurations 805bd8deadSopenharmony_ci to those which can be supported by on-screen windows. 815bd8deadSopenharmony_ci 825bd8deadSopenharmony_ci * Should the selection of an FBConfig differ from glXChooseVisual? If 835bd8deadSopenharmony_ci so, how? 845bd8deadSopenharmony_ci 855bd8deadSopenharmony_ci Yes. For some attributes, the default value (that is, the value that is 865bd8deadSopenharmony_ci used if the attribute is not specified in the list) should be "don't 875bd8deadSopenharmony_ci care". Also, an ordered list of GLXFBConfigs should be returned so 885bd8deadSopenharmony_ci applications can go through the list and apply their own policies to 895bd8deadSopenharmony_ci determine the best GLXFBConfig. 905bd8deadSopenharmony_ci 915bd8deadSopenharmony_ci * Do we want to introduce the notion of "compatible" GLXFBConfigs and 925bd8deadSopenharmony_ci visuals? (GLX currently uses the term "similar". GLXContexts and 935bd8deadSopenharmony_ci GLXDrawables are similar iff they have been created with respect 945bd8deadSopenharmony_ci to the same VisualID and root window.) 955bd8deadSopenharmony_ci 965bd8deadSopenharmony_ci A: Yes. The GLX definition of similar visuals is too restrictive 975bd8deadSopenharmony_ci (and the glXMakeCurrentRead extension already relaxes it.) This 985bd8deadSopenharmony_ci is the right time to agree on a definition since we need to define 995bd8deadSopenharmony_ci how GLXFBConfigs match up to X Visuals. Note, that we do not 1005bd8deadSopenharmony_ci redefine similar; instead a new term, compatible, is introduced. 1015bd8deadSopenharmony_ci In the future, we may want to remove this restriction and allow 1025bd8deadSopenharmony_ci a context to be bound to any drawable. (But a context would still 1035bd8deadSopenharmony_ci be created to do either RGBA or color index rendering.) 1045bd8deadSopenharmony_ci 1055bd8deadSopenharmony_ci 1065bd8deadSopenharmony_ciNew Procedures and Functions 1075bd8deadSopenharmony_ci 1085bd8deadSopenharmony_ci int glXGetFBConfigAttribSGIX(Display *dpy, 1095bd8deadSopenharmony_ci GLXFBConfigSGIX config, 1105bd8deadSopenharmony_ci int attribute, 1115bd8deadSopenharmony_ci int *value); 1125bd8deadSopenharmony_ci 1135bd8deadSopenharmony_ci GLXFBConfigSGIX *glXChooseFBConfigSGIX(Display *dpy, 1145bd8deadSopenharmony_ci int screen, 1155bd8deadSopenharmony_ci const int *attrib_list, 1165bd8deadSopenharmony_ci int *nelements); 1175bd8deadSopenharmony_ci 1185bd8deadSopenharmony_ci GLXPixmap glXCreateGLXPixmapWithConfigSGIX(Display *dpy, 1195bd8deadSopenharmony_ci GLXFBConfig config, 1205bd8deadSopenharmony_ci Pixmap pixmap); 1215bd8deadSopenharmony_ci 1225bd8deadSopenharmony_ci GLXContext glXCreateContextWithConfigSGIX(Display *dpy, 1235bd8deadSopenharmony_ci GLXFBConfig config, 1245bd8deadSopenharmony_ci int render_type, 1255bd8deadSopenharmony_ci GLXContext share_list, 1265bd8deadSopenharmony_ci Bool direct); 1275bd8deadSopenharmony_ci 1285bd8deadSopenharmony_ci XVisualInfo *glXGetVisualFromFBConfigSGIX(Display *dpy, 1295bd8deadSopenharmony_ci GLXFBConfig config); 1305bd8deadSopenharmony_ci 1315bd8deadSopenharmony_ci GLXFBConfigSGIX glXGetFBConfigFromVisualSGIX(Display *dpy, 1325bd8deadSopenharmony_ci XVisualInfo *vis); 1335bd8deadSopenharmony_ci 1345bd8deadSopenharmony_ciNew Tokens 1355bd8deadSopenharmony_ci 1365bd8deadSopenharmony_ci Accepted by the <attribute> parameter of glXGetFBConfigAttribSGIX, and 1375bd8deadSopenharmony_ci by the <attrib_list> parameter of glXChooseFBConfigSGIX: 1385bd8deadSopenharmony_ci 1395bd8deadSopenharmony_ci GLX_DRAWABLE_TYPE_SGIX 0x8010 1405bd8deadSopenharmony_ci GLX_RENDER_TYPE_SGIX 0x8011 1415bd8deadSopenharmony_ci GLX_X_RENDERABLE_SGIX 0x8012 1425bd8deadSopenharmony_ci 1435bd8deadSopenharmony_ci Accepted by the <attribute> parameter of glXGetFBConfigAttribSGIX, the 1445bd8deadSopenharmony_ci <attrib_list> parameter of glXChooseFBConfigSGIX, by the <attribute> 1455bd8deadSopenharmony_ci parameter of glXQueryGLXPbufferSGIX and by the <attribute> parameter 1465bd8deadSopenharmony_ci of glXQueryContextInfoEXT: 1475bd8deadSopenharmony_ci 1485bd8deadSopenharmony_ci GLX_FBCONFIG_ID_SGIX 0x8013 1495bd8deadSopenharmony_ci 1505bd8deadSopenharmony_ci Accepted by the <attribute> parameter of glXGetFBConfigAttribSGIX: 1515bd8deadSopenharmony_ci 1525bd8deadSopenharmony_ci GLX_SCREEN_EXT 0x800C 1535bd8deadSopenharmony_ci 1545bd8deadSopenharmony_ci Returned by glXGetFBConfigAttribSGIX (when <attribute> is set to 1555bd8deadSopenharmony_ci GLX_DRAWABLE_TYPE_SGIX) and accepted by the <attrib_list> parameter of 1565bd8deadSopenharmony_ci glXChooseFBConfigSGIX (following the GLX_DRAWABLE_TYPE_SGIX token): 1575bd8deadSopenharmony_ci 1585bd8deadSopenharmony_ci GLX_WINDOW_BIT_SGIX 0x00000001 1595bd8deadSopenharmony_ci GLX_PIXMAP_BIT_SGIX 0x00000002 1605bd8deadSopenharmony_ci 1615bd8deadSopenharmony_ci Returned by glXGetFBConfigAttribSGIX (when <attribute> is set to 1625bd8deadSopenharmony_ci GLX_RENDER_TYPE_SGIX) and accepted by the <attrib_list> parameter of 1635bd8deadSopenharmony_ci glXChooseFBConfigSGIX (following the GLX_RENDER_TYPE_SGIX token): 1645bd8deadSopenharmony_ci 1655bd8deadSopenharmony_ci GLX_RGBA_BIT_SGIX 0x00000001 1665bd8deadSopenharmony_ci GLX_COLOR_INDEX_BIT_SGIX 0x00000002 1675bd8deadSopenharmony_ci 1685bd8deadSopenharmony_ci Accepted by the <render_type> parameter of glXCreateContextWithConfigSGIX: 1695bd8deadSopenharmony_ci 1705bd8deadSopenharmony_ci GLX_RGBA_TYPE_SGIX 0x8014 1715bd8deadSopenharmony_ci GLX_COLOR_INDEX_TYPE_SGIX 0x8015 1725bd8deadSopenharmony_ci 1735bd8deadSopenharmony_ciAdditions to Chapter 2 of the 1.0 Specification (OpenGL Operation) 1745bd8deadSopenharmony_ci 1755bd8deadSopenharmony_ci None 1765bd8deadSopenharmony_ci 1775bd8deadSopenharmony_ciAdditions to Chapter 3 of the 1.0 Specification (Rasterization) 1785bd8deadSopenharmony_ci 1795bd8deadSopenharmony_ci None 1805bd8deadSopenharmony_ci 1815bd8deadSopenharmony_ciAdditions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations 1825bd8deadSopenharmony_ciand the Frame buffer) 1835bd8deadSopenharmony_ci 1845bd8deadSopenharmony_ci In section 4.1.6 (Blending) follow the sentence "If a color buffer has 1855bd8deadSopenharmony_ci no A value, then it is as if the destination A value is 1." with the 1865bd8deadSopenharmony_ci sentence "If the color buffer has no R, G, or B value, then it is as 1875bd8deadSopenharmony_ci if the destination R, G, or B value is 0." 1885bd8deadSopenharmony_ci 1895bd8deadSopenharmony_ci In section 4.3.2 (Reading Pixels) follow the sentence "If the framebuffer 1905bd8deadSopenharmony_ci does not support alpha values then the A that is obtained is 1.0." with 1915bd8deadSopenharmony_ci the sentence "If the framebuffer does not support red, green, or blue 1925bd8deadSopenharmony_ci values, then the R, G or B that is obtained is 0.0." 1935bd8deadSopenharmony_ci 1945bd8deadSopenharmony_ciAdditions to Chapter 5 of the 1.0 Specification (Special Functions) 1955bd8deadSopenharmony_ci 1965bd8deadSopenharmony_ci None 1975bd8deadSopenharmony_ci 1985bd8deadSopenharmony_ciAdditions to Chapter 6 of the 1.0 Specification (State and State Requests) 1995bd8deadSopenharmony_ci 2005bd8deadSopenharmony_ci None 2015bd8deadSopenharmony_ci 2025bd8deadSopenharmony_ciAdditions to the GLX Specification 2035bd8deadSopenharmony_ci 2045bd8deadSopenharmony_ci [Add the following to section 3.2.2 on Configuration Management] 2055bd8deadSopenharmony_ci 2065bd8deadSopenharmony_ci A GLXFBConfigSGIX describes the format, type and size of the color 2075bd8deadSopenharmony_ci buffers and ancillary buffers for a GLXDrawable. When the GLXDrawable 2085bd8deadSopenharmony_ci is a window then the GLXFBConfigSGIX that describes it has an associated 2095bd8deadSopenharmony_ci X Visual; for GLXPixmaps and GLXPbuffers there may or may not be an 2105bd8deadSopenharmony_ci X Visual associated with the GLXFBConfigSGIX. 2115bd8deadSopenharmony_ci 2125bd8deadSopenharmony_ci Use glXChooseFBConfigSGIX to get GLXFBConfigSGIXs that match a 2135bd8deadSopenharmony_ci list of attributes or to get the list of GLXFBConfigSGIXs that are 2145bd8deadSopenharmony_ci available on the specified screen. 2155bd8deadSopenharmony_ci 2165bd8deadSopenharmony_ci GLXFBConfigSGIX *glXChooseFBConfigSGIX(Display *dpy, 2175bd8deadSopenharmony_ci int screen, 2185bd8deadSopenharmony_ci const int *attrib_list, 2195bd8deadSopenharmony_ci int *nelements); 2205bd8deadSopenharmony_ci 2215bd8deadSopenharmony_ci If <attrib_list> is NULL then glXChooseFBConfigSGIX returns an array of 2225bd8deadSopenharmony_ci GLXFBConfigSGIXs that are available on the specified screen; otherwise this 2235bd8deadSopenharmony_ci call returns an array of GLXFBConfigSGIXs that match the specified attributes. 2245bd8deadSopenharmony_ci (The attributes are described in Table 3.) The number of elements 2255bd8deadSopenharmony_ci in the array is returned in nelements. The attributes are matched in 2265bd8deadSopenharmony_ci an attribute-specific manner, as shown in Table 4. Some of the attributes, 2275bd8deadSopenharmony_ci such as GLX_LEVEL, must match the specified value exactly; others, such as, 2285bd8deadSopenharmony_ci GLX_RED_SIZE must meet or exceed the specified minimum values. To retrieve 2295bd8deadSopenharmony_ci the GLXFBConfigSGIX, given an i.d., use the GLX_FBCONFIG_ID_SGIX attribute. 2305bd8deadSopenharmony_ci When GLX_FBCONFIG_ID_SGIX is specified, all other attributes are ignored, 2315bd8deadSopenharmony_ci and only the GLXFBConfigSGIX with the given XID is returned (NULL is returned 2325bd8deadSopenharmony_ci if it does not exist). 2335bd8deadSopenharmony_ci 2345bd8deadSopenharmony_ci If no conforming GLXFBConfigSGIX exists, or if an error occurs (i.e., an 2355bd8deadSopenharmony_ci undefined GLX attribute is encountered in <attrib_list>, <screen> is 2365bd8deadSopenharmony_ci invalid, or <dpy> does not support the GLX extension) then NULL is 2375bd8deadSopenharmony_ci returned. If <attrib_list> is not NULL and more than one GLXFBConfigSGIX is 2385bd8deadSopenharmony_ci found, then a list of GLXFBConfigSGIXs, sorted according to the "best" 2395bd8deadSopenharmony_ci match criteria, is returned. The exact sorting precedence order is 2405bd8deadSopenharmony_ci defined below. Use XFree to free the memory returned by 2415bd8deadSopenharmony_ci glXChooseFBConfigSGIX. 2425bd8deadSopenharmony_ci 2435bd8deadSopenharmony_ci If GLX_RENDER_TYPE_SGIX is in <attrib_list> then the value that follows 2445bd8deadSopenharmony_ci is a mask indicating which type of GLXContexts drawables created with 2455bd8deadSopenharmony_ci the corresponding GLXFBConfigSGIXs be bound to. For example, if 2465bd8deadSopenharmony_ci GLX_RGBA_BIT_SGIX | GLX_COLOR_INDEX_BIT_SGIX 2475bd8deadSopenharmony_ci is specified as the mask then glXChooseFBConfigSGIX will search for 2485bd8deadSopenharmony_ci GLXFBConfigSGIXs that can be used to create drawables that can be bound to both 2495bd8deadSopenharmony_ci RGBA and color index rendering contexts. The default value for 2505bd8deadSopenharmony_ci GLX_RENDER_TYPE_SGIX is GLX_RGBA_BIT_SGIX. 2515bd8deadSopenharmony_ci 2525bd8deadSopenharmony_ci The attribute GLX_DRAWABLE_TYPE_SGIX has as its value a mask indicating 2535bd8deadSopenharmony_ci the drawable types that can be created with the corresponding GLXFBConfigSGIX 2545bd8deadSopenharmony_ci (the config is said to ``support'' these drawable types). 2555bd8deadSopenharmony_ci For example, a GLXFBConfigSGIX for which the value of GLX_DRAWABLE_TYPE_SGIX 2565bd8deadSopenharmony_ci attribute is GLX_WINDOW_BIT_SGIX | GLX_PIXMAP_BIT_SGIX can be used to create 2575bd8deadSopenharmony_ci both Windows and GLX pixmaps, while a config for which this attribute value 2585bd8deadSopenharmony_ci is GLX_WINDOW_BIT_SGIX can not be used for creating GLX pixmaps. The default 2595bd8deadSopenharmony_ci value for GLX_DRAWABLE_TYPE_SGIX is GLX_WINDOW_BIT_SGIX. 2605bd8deadSopenharmony_ci 2615bd8deadSopenharmony_ci If a GLXFBConfigSGIX supports Windows then it has an associated X Visual. The 2625bd8deadSopenharmony_ci value of the GLX_X_VISUAL_TYPE_EXT attribute specifies the type of X 2635bd8deadSopenharmony_ci Visual. The possible values are: 2645bd8deadSopenharmony_ci 2655bd8deadSopenharmony_ci GLX token name X Visual Type 2665bd8deadSopenharmony_ci -------------- ------------- 2675bd8deadSopenharmony_ci GLX_TRUE_COLOR_EXT TrueColor 2685bd8deadSopenharmony_ci GLX_DIRECT_COLOR_EXT DirectColor 2695bd8deadSopenharmony_ci GLX_PSEUDO_COLOR_EXT PseudoColor 2705bd8deadSopenharmony_ci GLX_STATIC_COLOR_EXT StaticColor 2715bd8deadSopenharmony_ci GLX_GRAY_SCALE_EXT GrayScale 2725bd8deadSopenharmony_ci GLX_STATIC_GRAY_EXT StaticGray 2735bd8deadSopenharmony_ci 2745bd8deadSopenharmony_ci Note that RGBA rendering may be supported for any of the six Visual types 2755bd8deadSopenharmony_ci but color index rendering is only supported for PseudoColor, StaticColor, 2765bd8deadSopenharmony_ci GrayScale, and StaticGray visuals (i.e., single-channel visuals). The 2775bd8deadSopenharmony_ci GLX_X_VISUAL_TYPE_EXT attribute is ignored if GLX_DRAWABLE_TYPE_SGIX is 2785bd8deadSopenharmony_ci specified in <attrib_list> and the mask that follows does not have 2795bd8deadSopenharmony_ci GLX_WINDOW_BIT_SGIX set. 2805bd8deadSopenharmony_ci 2815bd8deadSopenharmony_ci GLX_X_RENDERABLE_SGIX is a boolean indicating whether X can be used 2825bd8deadSopenharmony_ci to render into a drawable created with the GLXFBConfigSGIX. This attribute 2835bd8deadSopenharmony_ci is True if the GLXFBConfigSGIX supports Windows and/or GLX pixmaps. 2845bd8deadSopenharmony_ci 2855bd8deadSopenharmony_ci All attributes in <attrib_list>, including boolean attributes, are 2865bd8deadSopenharmony_ci immediately followed by the corresponding desired value. The list is 2875bd8deadSopenharmony_ci terminated with None. If an attribute is not specified in <attrib_list> 2885bd8deadSopenharmony_ci then the default value (listed in Table 4) is used (it is said to be 2895bd8deadSopenharmony_ci specified implicitly). For example, if GLX_STEREO is not specified then it 2905bd8deadSopenharmony_ci is assumed to be False. For some attributes, the default is "don't care" 2915bd8deadSopenharmony_ci meaning that any value is OK for this attribute, so the attribute will not 2925bd8deadSopenharmony_ci be checked. 2935bd8deadSopenharmony_ci 2945bd8deadSopenharmony_ci When more than one GLXFBConfigSGIX matches the specification, a list of matching 2955bd8deadSopenharmony_ci configurations is returned. The list is sorted according to the following 2965bd8deadSopenharmony_ci precedence rules that are applied in ascending order (i.e., configurations 2975bd8deadSopenharmony_ci that are considered equal by lower numbered rule are sorted by the higher 2985bd8deadSopenharmony_ci numbered rule): 2995bd8deadSopenharmony_ci 3005bd8deadSopenharmony_ci 1. by GLX_VISUAL_RATING_EXT where the precedence is GLX_NONE_EXT, 3015bd8deadSopenharmony_ci GLX_SLOW_VISUAL. 3025bd8deadSopenharmony_ci 2. larger total number of RGBA color components (GLX_RED_BITS, 3035bd8deadSopenharmony_ci GLX_GREEN_BITS, GLX_BLUE_BITS, and GLX_ALPHA_BITS) that have higher 3045bd8deadSopenharmony_ci number of bits, 3055bd8deadSopenharmony_ci 3. smaller GLX_INDEX_BITS, 3065bd8deadSopenharmony_ci 4. single buffered configuration (GLX_DOUBLE_BUFFER being False) 3075bd8deadSopenharmony_ci precedes a double buffered one, 3085bd8deadSopenharmony_ci 5. smaller GLX_AUX_BUFFERS, 3095bd8deadSopenharmony_ci 6. smaller GLX_SAMPLE_BUFFERS_SGIS, 3105bd8deadSopenharmony_ci 7. smaller GLX_SAMPLES_SGIS, 3115bd8deadSopenharmony_ci 8. larger GLX_DEPTH_BITS, 3125bd8deadSopenharmony_ci 9. smaller GLX_STENCIL_BITS, 3135bd8deadSopenharmony_ci 10. larger total number of accumulation buffer color components 3145bd8deadSopenharmony_ci (GLX_ACCUM_RED_BITS, GLX_ACCUM_GREEN_BITS, GLX_ACCUM_BLUE_BITS, and 3155bd8deadSopenharmony_ci GLX_ACCUM_ALPHA_BITS) that have higher number of bits; 3165bd8deadSopenharmony_ci 11. sort by GLX_VISUAL_TYPE_EXT where the precedence order is 3175bd8deadSopenharmony_ci GLX_TRUE_COLOR_EXT, GLX_DIRECT_COLOR_EXT, GLX_PSEUDO_COLOR_EXT, 3185bd8deadSopenharmony_ci GLX_STATIC_COLOR_EXT, GLX_GRAY_SCALE_EXT, GLX_STATIC_GRAY_EXT, 3195bd8deadSopenharmony_ci 3205bd8deadSopenharmony_ci To get the value of a GLX attribute for a GLXFBConfigSGIX use 3215bd8deadSopenharmony_ci 3225bd8deadSopenharmony_ci int glXGetFBConfigAttribSGIX(Display *dpy, 3235bd8deadSopenharmony_ci GLXFBConfigSGIX config, 3245bd8deadSopenharmony_ci int attribute, 3255bd8deadSopenharmony_ci int *value); 3265bd8deadSopenharmony_ci 3275bd8deadSopenharmony_ci If glXGetFBConfigAttribSGIX succeeds then it returns Success and the 3285bd8deadSopenharmony_ci value for the specified attribute is returned in <value>; otherwise 3295bd8deadSopenharmony_ci it returns one of the following errors: 3305bd8deadSopenharmony_ci 3315bd8deadSopenharmony_ci GLX_BAD_ATTRIB <attribute> is not a valid GLX attribute 3325bd8deadSopenharmony_ci 3335bd8deadSopenharmony_ci Refer to Tables 3 and 4 for a list of valid GLX attributes. 3345bd8deadSopenharmony_ci 3355bd8deadSopenharmony_ci Note that a GLXFBConfigSGIX has an associated X Visual iff the 3365bd8deadSopenharmony_ci GLX_DRAWABLE_TYPE_SGIX value has the GLX_WINDOW_BIT_SGIX bit set. To 3375bd8deadSopenharmony_ci retrieve the associated visual, call: 3385bd8deadSopenharmony_ci 3395bd8deadSopenharmony_ci XVisualInfo *glXGetVisualFromFBConfigSGIX(Display *dpy, 3405bd8deadSopenharmony_ci GLXFBConfigSGIX config); 3415bd8deadSopenharmony_ci 3425bd8deadSopenharmony_ci If <config> is a valid GLXFBConfigSGIX and it has an associated X Visual then 3435bd8deadSopenharmony_ci information describing that visual is returned; otherwise NULL is returned. 3445bd8deadSopenharmony_ci Use XFree to free the data returned. 3455bd8deadSopenharmony_ci 3465bd8deadSopenharmony_ci It is also possible to get a GLXFBConfigSGIX, given visual information: 3475bd8deadSopenharmony_ci 3485bd8deadSopenharmony_ci GLXFBConfigSGIX glXGetFBConfigFromVisualSGIX(Display *dpy, 3495bd8deadSopenharmony_ci XVisualInfo *vis); 3505bd8deadSopenharmony_ci 3515bd8deadSopenharmony_ci If the visual is valid and supports OpenGL rendering (i.e., if the GLX 3525bd8deadSopenharmony_ci visual attribute GLX_USE_GL is True) then the associated GLXFBConfigSGIX is 3535bd8deadSopenharmony_ci returned; otherwise NULL is returned. 3545bd8deadSopenharmony_ci 3555bd8deadSopenharmony_ci 3565bd8deadSopenharmony_ci [Change Table 1 caption to read: "GLX Configuration attributes for Visuals" 3575bd8deadSopenharmony_ci and add the tables below] 3585bd8deadSopenharmony_ci 3595bd8deadSopenharmony_ci Attribute Type Description 3605bd8deadSopenharmony_ci --------- ---- ----------- 3615bd8deadSopenharmony_ci GLX_BUFFER_SIZE integer depth of the color buffer 3625bd8deadSopenharmony_ci GLX_LEVEL integer frame buffer level 3635bd8deadSopenharmony_ci GLX_DOUBLEBUFFER boolean True if color buffers have 3645bd8deadSopenharmony_ci front/back pairs 3655bd8deadSopenharmony_ci GLX_STEREO boolean True if color buffers have 3665bd8deadSopenharmony_ci left/right pairs 3675bd8deadSopenharmony_ci GLX_AUX_BUFFERS integer number of auxiliary color buffers 3685bd8deadSopenharmony_ci GLX_RED_SIZE integer number of bits of Red in the 3695bd8deadSopenharmony_ci framebuffer 3705bd8deadSopenharmony_ci GLX_GREEN_SIZE integer number of bits of Green in the 3715bd8deadSopenharmony_ci framebuffer 3725bd8deadSopenharmony_ci GLX_BLUE_SIZE integer number of bits of Blue in the 3735bd8deadSopenharmony_ci framebuffer 3745bd8deadSopenharmony_ci GLX_ALPHA_SIZE integer number of bits of Alpha in the 3755bd8deadSopenharmony_ci framebuffer 3765bd8deadSopenharmony_ci GLX_DEPTH_SIZE integer number of bits in the depth buffer 3775bd8deadSopenharmony_ci GLX_STENCIL_SIZE integer number of bits in the stencil buffer 3785bd8deadSopenharmony_ci GLX_ACCUM_RED_SIZE integer number of bits of Red in the 3795bd8deadSopenharmony_ci accumulation buffer 3805bd8deadSopenharmony_ci GLX_ACCUM_GREEN_SIZE integer number of bits of Green in the 3815bd8deadSopenharmony_ci accumulation buffer 3825bd8deadSopenharmony_ci GLX_ACCUM_BLUE_SIZE integer number of bits of Blue in the 3835bd8deadSopenharmony_ci accumulation buffer 3845bd8deadSopenharmony_ci GLX_ACCUM_ALPHA_SIZE integer number of bits of Alpha in the 3855bd8deadSopenharmony_ci accumulation buffer 3865bd8deadSopenharmony_ci GLX_SAMPLE_BUFFERS_SGIS integer number of multisample buffers 3875bd8deadSopenharmony_ci GLX_SAMPLES_SGIS integer number of samples stored in each 3885bd8deadSopenharmony_ci multisample buffer 3895bd8deadSopenharmony_ci GLX_X_VISUAL_TYPE_EXT integer X visual type of the associated visual 3905bd8deadSopenharmony_ci GLX_TRANSPARENT_TYPE_EXT enum GLX_NONE_EXT, 3915bd8deadSopenharmony_ci TRANSPARENT_RGB_EXT, or 3925bd8deadSopenharmony_ci TRANSPARENT_INDEX_EXT 3935bd8deadSopenharmony_ci GLX_TRANSPARENT_INDEX_VALUE_EXT integer transparent index value. 3945bd8deadSopenharmony_ci GLX_TRANSPARENT_RED_VALUE_EXT integer transparent red value. 3955bd8deadSopenharmony_ci GLX_TRANSPARENT_GREEN_VALUE_EXT integer transparent green value. 3965bd8deadSopenharmony_ci GLX_TRANSPARENT_BLUE_VALUE_EXT integer transparent blue value. 3975bd8deadSopenharmony_ci GLX_TRANSPARENT_ALPHA_VALUE_EXT integer transparent alpha value. 3985bd8deadSopenharmony_ci GLX_VISUAL_CAVEAT_EXT enum GLX_NONE_EXT or GLX_SLOW_VISUAL_EXT 3995bd8deadSopenharmony_ci GLX_DRAWABLE_TYPE_SGIX bitmask mask indicating which GLX drawables 4005bd8deadSopenharmony_ci are supported. Valid bits are 4015bd8deadSopenharmony_ci GLX_WINDOW_BIT_SGIX and 4025bd8deadSopenharmony_ci GLX_PIXMAP_BIT_SGIX 4035bd8deadSopenharmony_ci GLX_RENDER_TYPE_SGIX bitmask mask indicating which OpenGL 4045bd8deadSopenharmony_ci rendering modes are 4055bd8deadSopenharmony_ci supported. Valid bits are 4065bd8deadSopenharmony_ci GLX_RGBA_BIT_SGIX and 4075bd8deadSopenharmony_ci GLX_COLOR_INDEX_SGIX. 4085bd8deadSopenharmony_ci GLX_X_RENDERABLE_SGIX boolean True if X can render to drawable 4095bd8deadSopenharmony_ci GLX_FBCONFIG_ID_SGIX XID i.d. of GLXFBConfigSGIX 4105bd8deadSopenharmony_ci 4115bd8deadSopenharmony_ci Table 3: GLXFBConfigSGIX attributes (Note that GLX_RGBA and GLX_USE_GL 4125bd8deadSopenharmony_ci are not supported for GLXFBConfigSGIXs) 4135bd8deadSopenharmony_ci 4145bd8deadSopenharmony_ci Attribute Default Sorting Criterion 4155bd8deadSopenharmony_ci --------- ------- ----------------- 4165bd8deadSopenharmony_ci GLX_BUFFER_SIZE 0 smaller 4175bd8deadSopenharmony_ci GLX_LEVEL 0 exact 4185bd8deadSopenharmony_ci GLX_DOUBLEBUFFER don't care smaller 4195bd8deadSopenharmony_ci GLX_STEREO False exact 4205bd8deadSopenharmony_ci GLX_AUX_BUFFERS 0 smaller 4215bd8deadSopenharmony_ci GLX_RED_SIZE 0 larger 4225bd8deadSopenharmony_ci GLX_GREEN_SIZE 0 larger 4235bd8deadSopenharmony_ci GLX_BLUE_SIZE 0 larger 4245bd8deadSopenharmony_ci GLX_ALPHA_SIZE 0 larger 4255bd8deadSopenharmony_ci GLX_DEPTH_SIZE 0 larger 4265bd8deadSopenharmony_ci GLX_STENCIL_SIZE 0 larger 4275bd8deadSopenharmony_ci GLX_ACCUM_RED_SIZE 0 larger 4285bd8deadSopenharmony_ci GLX_ACCUM_GREEN_SIZE 0 larger 4295bd8deadSopenharmony_ci GLX_ACCUM_BLUE_SIZE 0 larger 4305bd8deadSopenharmony_ci GLX_ACCUM_ALPHA_SIZE 0 larger 4315bd8deadSopenharmony_ci GLX_SAMPLE_BUFFERS_SGIS 0 smaller 4325bd8deadSopenharmony_ci GLX_SAMPLES_SGIS 0 smaller 4335bd8deadSopenharmony_ci GLX_X_VISUAL_TYPE_EXT don't care exact 4345bd8deadSopenharmony_ci GLX_TRANSPARENT_TYPE_EXT GLX_NONE_EXT exact 4355bd8deadSopenharmony_ci GLX_TRANSPARENT_INDEX_VALUE_EXT don't care exact 4365bd8deadSopenharmony_ci GLX_TRANSPARENT_RED_VALUE_EXT don't care exact 4375bd8deadSopenharmony_ci GLX_TRANSPARENT_GREEN_VALUE_EXT don't care exact 4385bd8deadSopenharmony_ci GLX_TRANSPARENT_BLUE_VALUE_EXT don't care exact 4395bd8deadSopenharmony_ci GLX_TRANSPARENT_ALPHA_VALUE_EXT don't care exact 4405bd8deadSopenharmony_ci GLX_VISUAL_CAVEAT_EXT don't care exact 4415bd8deadSopenharmony_ci GLX_DRAWABLE_TYPE_SGIX GLX_WINDOW_BIT_SGIX mask 4425bd8deadSopenharmony_ci GLX_RENDER_TYPE_SGIX GLX_RGBA_BIT_SGIX mask 4435bd8deadSopenharmony_ci GLX_X_RENDERABLE_SGIX don't care exact 4445bd8deadSopenharmony_ci GLX_FBCONFIG_ID_SGIX don't care exact 4455bd8deadSopenharmony_ci 4465bd8deadSopenharmony_ci Table 4: Default values and match criteria for GLXFBConfigSGIX attributes. The 4475bd8deadSopenharmony_ci definition of the sorting criteria is as follow: 4485bd8deadSopenharmony_ci smaller - configs with attribute value that meets or exceeds the 4495bd8deadSopenharmony_ci specified value are returned, with precedence given to smaller 4505bd8deadSopenharmony_ci values (when a value is not explicitly requested, the default is 4515bd8deadSopenharmony_ci implied); 4525bd8deadSopenharmony_ci larger - when the value is requested explicitly, only configs 4535bd8deadSopenharmony_ci with a corresponding attribute value that meet or exceed the 4545bd8deadSopenharmony_ci specified value are returned, with precedence given to larger 4555bd8deadSopenharmony_ci values. When the value is not requested explicitly behaves exactly 4565bd8deadSopenharmony_ci like the ``smaller'' criterion. 4575bd8deadSopenharmony_ci exact - only configs whose corresponding attribute value exactly 4585bd8deadSopenharmony_ci matches the requested value are considered. 4595bd8deadSopenharmony_ci mask - only configs for which the set bits of corresponding 4605bd8deadSopenharmony_ci attribute include all the bits that are set in the requested 4615bd8deadSopenharmony_ci value are considered (Additional bits might be set in the 4625bd8deadSopenharmony_ci attribute). 4635bd8deadSopenharmony_ci 4645bd8deadSopenharmony_ci [Add the following to section 3.2.3 on Offscreen Rendering] 4655bd8deadSopenharmony_ci 4665bd8deadSopenharmony_ci To create a GLX pixmap using a GLXFBConfigSGIX use 4675bd8deadSopenharmony_ci 4685bd8deadSopenharmony_ci GLXPixmap glXCreateGLXPixmapWithConfigSGIX(Display *dpy, 4695bd8deadSopenharmony_ci GLXFBConfigSGIX config, 4705bd8deadSopenharmony_ci Pixmap pixmap); 4715bd8deadSopenharmony_ci 4725bd8deadSopenharmony_ci This call is identical to glXCreateGLXPixmap except that the GLXPixmap 4735bd8deadSopenharmony_ci is created with color buffers and ancillary buffers as specified by 4745bd8deadSopenharmony_ci <config>. If <config> is not a valid GLXFBConfigSGIX, or if it does not 4755bd8deadSopenharmony_ci support pixmap rendering then a GLXBadFBConfigSGIX error is generated. 4765bd8deadSopenharmony_ci 4775bd8deadSopenharmony_ci 4785bd8deadSopenharmony_ci [Add the following to section 3.2.4 on Rendering Contexts] 4795bd8deadSopenharmony_ci 4805bd8deadSopenharmony_ci To create a GLX context using a GLXFBConfigSGIX call 4815bd8deadSopenharmony_ci 4825bd8deadSopenharmony_ci GLXContext glXCreateContextWithConfigSGIX(Display *dpy, 4835bd8deadSopenharmony_ci GLXFBConfigSGIX config, 4845bd8deadSopenharmony_ci int render_type, 4855bd8deadSopenharmony_ci GLXContext share_list, 4865bd8deadSopenharmony_ci Bool direct); 4875bd8deadSopenharmony_ci 4885bd8deadSopenharmony_ci This call is identical to glXCreateContext except that the resulting 4895bd8deadSopenharmony_ci GLXContext can be used to render to any "compatible" GLXDrawable. A 4905bd8deadSopenharmony_ci GLXContext and a GLXDrawable are compatible if 4915bd8deadSopenharmony_ci - the render_type attribute for the context is supported by the 4925bd8deadSopenharmony_ci GLXFBConfigSGIX that the drawable was created with. (e.g., if the 4935bd8deadSopenharmony_ci context was created with render_type GLX_RGBA_TYPE_SGIX, then 4945bd8deadSopenharmony_ci the GLXFBConfigSGIX's GLX_RENDER_TYPE_SGIX attribute must have 4955bd8deadSopenharmony_ci the GLX_RGBA_BIT_SGIX bit set.) 4965bd8deadSopenharmony_ci - all color buffers and ancillary buffers that exist in both 4975bd8deadSopenharmony_ci GLXFBConfigSGIXs have the same depth. For example, a GLXDrawable that 4985bd8deadSopenharmony_ci had a front left buffer and a back left buffer with red, green and 4995bd8deadSopenharmony_ci blue sizes of 4 would not be compatible with a GLXFBConfigSGIX that had 5005bd8deadSopenharmony_ci only a front left buffer with red, green and blue sizes of 8. However, 5015bd8deadSopenharmony_ci it would be compatible with a GLXFBConfigSGIX that had only a front left 5025bd8deadSopenharmony_ci buffer if the red, green and blue sizes were 4. 5035bd8deadSopenharmony_ci 5045bd8deadSopenharmony_ci glXCreateContextWithConfigSGIX can generate the following errors: 5055bd8deadSopenharmony_ci GLXBadContext if <share_list> is neither zero nor a valid GLX 5065bd8deadSopenharmony_ci rendering context; GLXBadFBConfigSGIX if <config> is not a valid 5075bd8deadSopenharmony_ci GLXFBConfigSGIX; BadMatch if <share_list> defines an address space that 5085bd8deadSopenharmony_ci cannot be shared with the newly created context or if <share_list> 5095bd8deadSopenharmony_ci was created on a different screen than the one referenced by <config>; 5105bd8deadSopenharmony_ci BadAlloc if the server does not have enough resources to allocate the 5115bd8deadSopenharmony_ci new context; BadValue if <render_type> does not refer to a valid 5125bd8deadSopenharmony_ci rendering type. 5135bd8deadSopenharmony_ci 5145bd8deadSopenharmony_ci 5155bd8deadSopenharmony_ci [Add to description of glXMakeCurrent] 5165bd8deadSopenharmony_ci 5175bd8deadSopenharmony_ci No error will be generated if the value of DRAW_BUFFER in <ctx> 5185bd8deadSopenharmony_ci indicates a color buffer that is not supported by <drawable>. 5195bd8deadSopenharmony_ci In this case, all rendering will behave as if DRAW_BUFFER was 5205bd8deadSopenharmony_ci set to NONE. The same goes for READ_BUFFER: no error will be 5215bd8deadSopenharmony_ci generated if it does not correspond to a valid color buffer; 5225bd8deadSopenharmony_ci subsequent glReadPixel and glCopyPixel operations will simply 5235bd8deadSopenharmony_ci return invalid data. 5245bd8deadSopenharmony_ci 5255bd8deadSopenharmony_ci Note that it is an error to later call glDrawBuffer and/or glReadBuffer 5265bd8deadSopenharmony_ci (even if they are implicitly called via glPopAttrib) and specify 5275bd8deadSopenharmony_ci a color buffer that is not supported by <drawable>. Also 5285bd8deadSopenharmony_ci subsequent calls to glCopyPixels, that specify an unsupported 5295bd8deadSopenharmony_ci ancillary buffer, will result in an error. 5305bd8deadSopenharmony_ci 5315bd8deadSopenharmony_ci [Add to table listing GLX context attributes for glXQueryContextInfoEXT] 5325bd8deadSopenharmony_ci 5335bd8deadSopenharmony_ci GLX context attribute type context information 5345bd8deadSopenharmony_ci --------------------- ---- ------------------- 5355bd8deadSopenharmony_ci GLX_FBCONFIG_ID_SGIX XID FBConfig id 5365bd8deadSopenharmony_ci 5375bd8deadSopenharmony_ci 5385bd8deadSopenharmony_ciGLX Protocol 5395bd8deadSopenharmony_ci 5405bd8deadSopenharmony_ci Three newGLX protocol commands are added. 5415bd8deadSopenharmony_ci 5425bd8deadSopenharmony_ci GetFBConfigsSGIX 5435bd8deadSopenharmony_ci 1 CARD8 opcode (X assigned) 5445bd8deadSopenharmony_ci 1 17 GLX opcode (glXVendorPrivateWithReply) 5455bd8deadSopenharmony_ci 2 4 request length 5465bd8deadSopenharmony_ci 4 65540 vendor specific opcode 5475bd8deadSopenharmony_ci 4 unused 5485bd8deadSopenharmony_ci 4 CARD32 screen 5495bd8deadSopenharmony_ci => 5505bd8deadSopenharmony_ci 1 1 reply 5515bd8deadSopenharmony_ci 1 unused 5525bd8deadSopenharmony_ci 2 CARD16 sequence number 5535bd8deadSopenharmony_ci 4 n*m length 5545bd8deadSopenharmony_ci 4 n numFBConfigs 5555bd8deadSopenharmony_ci 4 m numAttribs 5565bd8deadSopenharmony_ci 20 unused 5575bd8deadSopenharmony_ci 8 * n LISTofATTRIB properties 5585bd8deadSopenharmony_ci 5595bd8deadSopenharmony_ci Where n is the number of FBConfigs returned and m is the number 5605bd8deadSopenharmony_ci of attributes returned for each FBConfig. Both m and n are 5615bd8deadSopenharmony_ci of type CARD32. 5625bd8deadSopenharmony_ci 5635bd8deadSopenharmony_ci 5645bd8deadSopenharmony_ci CreateContextWithConfigSGIX 5655bd8deadSopenharmony_ci 1 CARD8 opcode (X assigned) 5665bd8deadSopenharmony_ci 1 17 GLX opcode (glXVendorPrivateWithReply) 5675bd8deadSopenharmony_ci 2 9 request length 5685bd8deadSopenharmony_ci 4 65541 vendor specific opcode 5695bd8deadSopenharmony_ci 4 unused 5705bd8deadSopenharmony_ci 4 GLX_CONTEXT context 5715bd8deadSopenharmony_ci 4 GLX_FBCONFIG fbconfig 5725bd8deadSopenharmony_ci 4 CARD32 screen 5735bd8deadSopenharmony_ci 4 CARD32 renderType 5745bd8deadSopenharmony_ci 4 GLX_CONTEXT shareList 5755bd8deadSopenharmony_ci 1 BOOL isDirect 5765bd8deadSopenharmony_ci 1 CARD8 reserved1 5775bd8deadSopenharmony_ci 1 CARD16 reserved2 5785bd8deadSopenharmony_ci 5795bd8deadSopenharmony_ci 5805bd8deadSopenharmony_ci CreateGLXPixmapWithConfigSGIX 5815bd8deadSopenharmony_ci 1 CARD8 opcode (X assigned) 5825bd8deadSopenharmony_ci 1 17 GLX opcode (glXVendorPrivateWithReply) 5835bd8deadSopenharmony_ci 2 7 request length 5845bd8deadSopenharmony_ci 4 65542 vendor specific opcode 5855bd8deadSopenharmony_ci 4 unused 5865bd8deadSopenharmony_ci 4 CARD32 screen 5875bd8deadSopenharmony_ci 4 GLX_FBCONFIG fbconfig 5885bd8deadSopenharmony_ci 4 CARD32 pixmap 5895bd8deadSopenharmony_ci 4 GLX_PIXMAP glxpixmap 5905bd8deadSopenharmony_ci 5915bd8deadSopenharmony_ci 5925bd8deadSopenharmony_ciDependencies on SGIS_multisample 5935bd8deadSopenharmony_ci 5945bd8deadSopenharmony_ci If SGIS_multisample is not supported, references to 5955bd8deadSopenharmony_ci GLX_SAMPLE_BUFFERS_SGIS and GLX_SAMPLES_SGIS in this document are 5965bd8deadSopenharmony_ci invalid and should be ignored. 5975bd8deadSopenharmony_ci 5985bd8deadSopenharmony_ciDependencies on EXT_visual_info 5995bd8deadSopenharmony_ci 6005bd8deadSopenharmony_ci If EXT_visual_info is not supported, references to 6015bd8deadSopenharmony_ci GLX_X_VISUAL_TYPE_EXT, GLX_TRANSPARENT_TYPE_EXT, 6025bd8deadSopenharmony_ci GLX_TRANSPARENT_INDEX_VALUE_EXT, GLX_TRANSPARENT_RED_VALUE_EXT, 6035bd8deadSopenharmony_ci GLX_TRANSPARENT_GREEN_VALUE_EXT, GLX_TRANSPARENT_BLUE_VALUE_EXT, 6045bd8deadSopenharmony_ci GLX_TRANSPARENT_ALPHA_VALUE_EXT, GLX_TRUE_COLOR_EXT, 6055bd8deadSopenharmony_ci GLX_DIRECT_COLOR_EXT, GLX_PSEUDO_COLOR_EXT, GLX_STATIC_COLOR_EXT, 6065bd8deadSopenharmony_ci GLX_GRAY_SCALE_EXT, and GLX_STATIC_GRAY_EXT, in this document 6075bd8deadSopenharmony_ci are invalid and should be ignored. 6085bd8deadSopenharmony_ci 6095bd8deadSopenharmony_ciDependencies on EXT_visual_rating 6105bd8deadSopenharmony_ci 6115bd8deadSopenharmony_ci If EXT_visual_rating is not supported, references to GLX_VISUAL_CAVEAT_EXT 6125bd8deadSopenharmony_ci and GLX_SLOW_VISUAL_EXT, in this document are invalid and should be ignored. 6135bd8deadSopenharmony_ci 6145bd8deadSopenharmony_ciDependencies on EXT_import_context 6155bd8deadSopenharmony_ci 6165bd8deadSopenharmony_ci If EXT_import_context is not supported, references to glXQueryContextInfoEXT 6175bd8deadSopenharmony_ci in this document should be ignored. 6185bd8deadSopenharmony_ci 6195bd8deadSopenharmony_ciDependencies on SGIX_pbuffer 6205bd8deadSopenharmony_ci 6215bd8deadSopenharmony_ci If SGIX_pbuffer is not supported, references to glXQueryGLXPbufferSGIX 6225bd8deadSopenharmony_ci and GLXPbuffer in this document should be ignored. 6235bd8deadSopenharmony_ci 6245bd8deadSopenharmony_ci 6255bd8deadSopenharmony_ciErrors 6265bd8deadSopenharmony_ci 6275bd8deadSopenharmony_ci One new GLX error is introduced: 6285bd8deadSopenharmony_ci 6295bd8deadSopenharmony_ci GLXBadFBConfigSGIX 6305bd8deadSopenharmony_ci 6315bd8deadSopenharmony_ciNew State 6325bd8deadSopenharmony_ci 6335bd8deadSopenharmony_ci None 6345bd8deadSopenharmony_ci 6355bd8deadSopenharmony_ciNew Implementation Dependent State 6365bd8deadSopenharmony_ci 6375bd8deadSopenharmony_ci None 638