diff options
-rw-r--r-- | src/glx/glxconfig.c | 5 | ||||
-rw-r--r-- | src/glx/glxconfig.h | 3 | ||||
-rw-r--r-- | src/glx/glxext.c | 4 | ||||
-rw-r--r-- | src/glx/glxextensions.c | 2 | ||||
-rw-r--r-- | src/glx/glxextensions.h | 2 |
5 files changed, 16 insertions, 0 deletions
diff --git a/src/glx/glxconfig.c b/src/glx/glxconfig.c index 1d9678f48cd..805c301efb4 100644 --- a/src/glx/glxconfig.c +++ b/src/glx/glxconfig.c @@ -188,6 +188,10 @@ glx_config_get(struct glx_config * mode, int attribute, int *value_return) *value_return = mode->yInverted; return 0; + case GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT: + *value_return = mode->framebuffer_srgb_capable; + return 0; + /* Applications are NOT allowed to query GLX_VISUAL_SELECT_GROUP_SGIX. * It is ONLY for communication between the GLX client and the GLX * server. @@ -251,6 +255,7 @@ glx_config_create_list(unsigned count) (*next)->bindToMipmapTexture = GLX_DONT_CARE; (*next)->bindToTextureTargets = GLX_DONT_CARE; (*next)->yInverted = GLX_DONT_CARE; + (*next)->framebuffer_srgb_capable = GLX_DONT_CARE; next = &((*next)->next); } diff --git a/src/glx/glxconfig.h b/src/glx/glxconfig.h index f7ee958e4be..a587612cc45 100644 --- a/src/glx/glxconfig.h +++ b/src/glx/glxconfig.h @@ -100,6 +100,9 @@ struct glx_config { GLint bindToMipmapTexture; GLint bindToTextureTargets; GLint yInverted; + + /* EXT_framebuffer_sRGB */ + GLint framebuffer_srgb_capable; }; #define __GLX_MIN_CONFIG_PROPS 18 diff --git a/src/glx/glxext.c b/src/glx/glxext.c index 25d266e18e1..38622f38264 100644 --- a/src/glx/glxext.c +++ b/src/glx/glxext.c @@ -546,6 +546,10 @@ __glXInitializeVisualConfigFromTags(struct glx_config * config, int count, config->yInverted = *bp++; break; #endif + case GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT: + config->framebuffer_srgb_capable = *bp++; + break; + case GLX_USE_GL: if (fbconfig_style_tags) bp++; diff --git a/src/glx/glxextensions.c b/src/glx/glxextensions.c index ffd466479b4..d6eb408309c 100644 --- a/src/glx/glxextensions.c +++ b/src/glx/glxextensions.c @@ -83,6 +83,7 @@ static const struct extension_info known_glx_extensions[] = { { GLX(EXT_visual_info), VER(0,0), Y, Y, N, N }, #endif { GLX(EXT_visual_rating), VER(0,0), Y, Y, N, N }, + { GLX(EXT_framebuffer_sRGB), VER(0,0), Y, Y, N, N }, #ifdef GLX_USE_APPLEGL { GLX(MESA_agp_offset), VER(0,0), N, N, N, N }, /* Deprecated */ { GLX(MESA_copy_sub_buffer), VER(0,0), N, N, N, N }, @@ -190,6 +191,7 @@ static const struct extension_info known_gl_extensions[] = { { GL(EXT_framebuffer_blit), VER(0,0), Y, N, N, N }, { GL(EXT_framebuffer_multisample), VER(0,0), Y, N, N, N }, { GL(EXT_framebuffer_object), VER(0,0), Y, N, N, N }, + { GL(EXT_framebuffer_sRGB), VER(0,0), Y, N, N, N }, { GL(EXT_multi_draw_arrays), VER(1,4), Y, N, Y, N }, { GL(EXT_packed_depth_stencil), VER(0,0), Y, N, N, N }, { GL(EXT_packed_pixels), VER(1,2), Y, N, N, N }, diff --git a/src/glx/glxextensions.h b/src/glx/glxextensions.h index 333b3f9adbd..4fa7a61d338 100644 --- a/src/glx/glxextensions.h +++ b/src/glx/glxextensions.h @@ -40,6 +40,7 @@ enum EXT_visual_info_bit, EXT_visual_rating_bit, EXT_import_context_bit, + EXT_framebuffer_sRGB_bit, MESA_agp_offset_bit, MESA_copy_sub_buffer_bit, MESA_depth_float_bit, @@ -118,6 +119,7 @@ enum GL_EXT_framebuffer_blit_bit, GL_EXT_framebuffer_multisample_bit, GL_EXT_framebuffer_object_bit, + GL_EXT_framebuffer_sRGB_bit, GL_EXT_multi_draw_arrays_bit, GL_EXT_packed_depth_stencil_bit, GL_EXT_packed_pixels_bit, |