[Mesa-dev] [PATCH 7/8] Float fbconfigs frontend patch [1/2] Float configs extension strings.

Ian Romanick idr at freedesktop.org
Mon Jul 15 13:33:12 PDT 2013


On 07/15/2013 07:28 AM, Tomasz Lis wrote:
> From: Tomasz Lis <tomasz.lis at intel.com>
>
> The patch defines fbconfig_float in tables of extensions and enables
> reporting the extension availability.

Since this patch enables the functionality, it should come after the 
patch that implements the functionality.

> Signed-off-by: Tomasz Lis <listom at gmail.com>
> ---
>   src/glx/glxextensions.c |    4 ++++
>   src/glx/glxextensions.h |    6 +++++-
>   2 files changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/src/glx/glxextensions.c b/src/glx/glxextensions.c
> index caa6d99..27c6017 100644
> --- a/src/glx/glxextensions.c
> +++ b/src/glx/glxextensions.c
> @@ -74,6 +74,7 @@ static const struct extension_info known_glx_extensions[] = {
>      { GLX(ARB_create_context),          VER(0,0), Y, N, N, N },
>      { GLX(ARB_create_context_profile),  VER(0,0), Y, N, N, N },
>      { GLX(ARB_create_context_robustness), VER(0,0), Y, N, N, N },
> +   { GLX(ARB_fbconfig_float),          VER(1,3), Y, N, Y, N },

None of these extensions are required for GLX 1.3.  This should be VER(0,0).

>      { GLX(ARB_framebuffer_sRGB),        VER(0,0), Y, Y, N, N },
>      { GLX(ARB_get_proc_address),        VER(1,4), Y, N, Y, N },
>      { GLX(ARB_multisample),             VER(1,4), Y, Y, N, N },
> @@ -82,6 +83,7 @@ static const struct extension_info known_glx_extensions[] = {
>      { GLX(EXT_visual_info),             VER(0,0), Y, Y, N, N },
>      { GLX(EXT_visual_rating),           VER(0,0), Y, Y, N, N },
>      { GLX(EXT_framebuffer_sRGB),        VER(0,0), Y, Y, N, N },
> +   { GLX(EXT_fbconfig_packed_float),   VER(1,3), Y, N, Y, N },
>      { GLX(EXT_create_context_es2_profile), VER(0,0), Y, N, N, Y },
>      { GLX(MESA_copy_sub_buffer),        VER(0,0), Y, N, N, N },
>      { GLX(MESA_multithread_makecurrent),VER(0,0), Y, N, Y, N },
> @@ -132,6 +134,7 @@ static const struct extension_info known_gl_extensions[] = {
>      { GL(ARB_vertex_buffer_object),       VER(1,5), N, N, N, N },
>      { GL(ARB_vertex_program),             VER(0,0), Y, N, N, N },
>      { GL(ARB_window_pos),                 VER(1,4), Y, N, N, N },
> +   { GL(ARB_color_buffer_float),         VER(3,0), Y, Y, Y, N },

Even though this is part of OpenGL 3.0, there is nothing else in libGL 
to support indirect rendering for OpenGL 3.0.  I would leave this as 
VER(0,0).

It's also not alphabetized in the list.

Is there any code needed to support this functionality for indirect 
rendering?

>      { GL(EXT_abgr),                       VER(0,0), Y, N, N, N },
>      { GL(EXT_bgra),                       VER(1,2), Y, N, N, N },
>      { GL(EXT_blend_color),                VER(1,4), Y, N, N, N },
> @@ -155,6 +158,7 @@ static const struct extension_info known_gl_extensions[] = {
>      { 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 },
> +   { GL(EXT_packed_float),               VER(1,1), Y, N, N, N },

The VER here is wrong too.

Same question about implementation.

Have you tested either one of these for indirect rendering?

>      { GL(EXT_paletted_texture),           VER(0,0), Y, N, N, N },
>      { GL(EXT_pixel_buffer_object),        VER(0,0), N, N, N, N },
>      { GL(EXT_point_parameters),           VER(1,4), Y, N, N, N },
> diff --git a/src/glx/glxextensions.h b/src/glx/glxextensions.h
> index 3c5d407..7d2bf96 100644
> --- a/src/glx/glxextensions.h
> +++ b/src/glx/glxextensions.h
> @@ -36,6 +36,7 @@ enum
>      ARB_create_context_bit = 0,
>      ARB_create_context_profile_bit,
>      ARB_create_context_robustness_bit,
> +   ARB_fbconfig_float_bit,
>      ARB_get_proc_address_bit,
>      ARB_multisample_bit,
>      ATI_pixel_format_float_bit,
> @@ -43,6 +44,7 @@ enum
>      EXT_visual_rating_bit,
>      EXT_import_context_bit,
>      EXT_framebuffer_sRGB_bit,
> +   EXT_fbconfig_packed_float_bit,
>      EXT_create_context_es2_profile_bit,
>      MESA_copy_sub_buffer_bit,
>      MESA_depth_float_bit,
> @@ -72,7 +74,8 @@ enum
>
>   enum
>   {
> -   GL_ARB_depth_texture_bit = 0,
> +   GL_ARB_color_buffer_float_bit = 0,
> +   GL_ARB_depth_texture_bit,
>      GL_ARB_draw_buffers_bit,
>      GL_ARB_fragment_program_bit,
>      GL_ARB_fragment_program_shadow_bit,
> @@ -122,6 +125,7 @@ enum
>      GL_EXT_framebuffer_sRGB_bit,
>      GL_EXT_multi_draw_arrays_bit,
>      GL_EXT_packed_depth_stencil_bit,
> +   GL_EXT_packed_float_bit,
>      GL_EXT_packed_pixels_bit,
>      GL_EXT_paletted_texture_bit,
>      GL_EXT_pixel_buffer_object_bit,
>



More information about the mesa-dev mailing list