[Mesa-dev] [PATCH 2/3] st/mesa: enable GL_EXT_float_blend when possible

Jason Ekstrand jason at jlekstrand.net
Wed Feb 13 04:13:27 UTC 2019


On February 12, 2019 21:40:49 Ilia Mirkin <imirkin at alum.mit.edu> wrote:

> If the driver supports PIPE_BIND_BLENABLE on RGBA32F, flip
> EXT_float_blend on (which will affect ES3 contexts).
>
> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
> ---
> src/mesa/state_tracker/st_extensions.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/src/mesa/state_tracker/st_extensions.c 
> b/src/mesa/state_tracker/st_extensions.c
> index d2660099fc1..528e6b74a54 100644
> --- a/src/mesa/state_tracker/st_extensions.c
> +++ b/src/mesa/state_tracker/st_extensions.c
> @@ -820,6 +820,12 @@ void st_init_extensions(struct pipe_screen *screen,
>           PIPE_FORMAT_R16G16B16A16_SNORM } },
>    };
>
> +   /* Required: render target, sampler, and blending */
> +   static const struct st_extension_format_mapping rt_blendable[] = {
> +      { { o(EXT_float_blend) },
> +        { PIPE_FORMAT_R32G32B32A32_FLOAT } },

Any particular reason you're only checking the one format? Seems like it 
should check R and RG too.

With that resolved, the series is

Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

But take that with a huge grain of salt. I haven't implemented an OpenGL 
extension in 4 years so it'd be good to get another sanity check. 😀

--Jason

> +   };
> +
>    /* Required: depth stencil and sampler support */
>    static const struct st_extension_format_mapping depthstencil_mapping[] = {
>       { { o(ARB_depth_buffer_float) },
> @@ -1025,6 +1031,10 @@ void st_init_extensions(struct pipe_screen *screen,
>    init_format_extensions(screen, extensions, rendertarget_mapping,
>                           ARRAY_SIZE(rendertarget_mapping), PIPE_TEXTURE_2D,
>                           PIPE_BIND_RENDER_TARGET | PIPE_BIND_SAMPLER_VIEW);
> +   init_format_extensions(screen, extensions, rt_blendable,
> +                          ARRAY_SIZE(rt_blendable), PIPE_TEXTURE_2D,
> +                          PIPE_BIND_RENDER_TARGET | PIPE_BIND_SAMPLER_VIEW |
> +                          PIPE_BIND_BLENDABLE);
>    init_format_extensions(screen, extensions, depthstencil_mapping,
>                           ARRAY_SIZE(depthstencil_mapping), PIPE_TEXTURE_2D,
>                           PIPE_BIND_DEPTH_STENCIL | PIPE_BIND_SAMPLER_VIEW);
> --
> 2.19.2
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev





More information about the mesa-dev mailing list