Reviewed-by: Erik Faye-Lund <erik.faye-l...@collabora.com> And just for the record, I think this is the right "compromise" between checking all possible formats and facilitating fallbacks.
On Tue, 2019-02-12 at 22:40 -0500, Ilia Mirkin 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 <imir...@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 } }, > + }; > + > /* 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); _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev