Commit 9fec6530 authored by Ilia Mirkin's avatar Ilia Mirkin

st/mesa: enable GL_EXT_float_blend when possible

If the driver supports PIPE_BIND_BLENABLE on RGBA32F, flip
EXT_float_blend on (which will affect ES3 contexts).
Signed-off-by: Ilia Mirkin's avatarIlia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Jason Ekstrand's avatarJason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Erik Faye-Lund 's avatarErik Faye-Lund <erik.faye-lund@collabora.com>
parent 070a5e5d
...@@ -820,6 +820,12 @@ void st_init_extensions(struct pipe_screen *screen, ...@@ -820,6 +820,12 @@ void st_init_extensions(struct pipe_screen *screen,
PIPE_FORMAT_R16G16B16A16_SNORM } }, 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 */ /* Required: depth stencil and sampler support */
static const struct st_extension_format_mapping depthstencil_mapping[] = { static const struct st_extension_format_mapping depthstencil_mapping[] = {
{ { o(ARB_depth_buffer_float) }, { { o(ARB_depth_buffer_float) },
...@@ -1025,6 +1031,10 @@ void st_init_extensions(struct pipe_screen *screen, ...@@ -1025,6 +1031,10 @@ void st_init_extensions(struct pipe_screen *screen,
init_format_extensions(screen, extensions, rendertarget_mapping, init_format_extensions(screen, extensions, rendertarget_mapping,
ARRAY_SIZE(rendertarget_mapping), PIPE_TEXTURE_2D, ARRAY_SIZE(rendertarget_mapping), PIPE_TEXTURE_2D,
PIPE_BIND_RENDER_TARGET | PIPE_BIND_SAMPLER_VIEW); 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, init_format_extensions(screen, extensions, depthstencil_mapping,
ARRAY_SIZE(depthstencil_mapping), PIPE_TEXTURE_2D, ARRAY_SIZE(depthstencil_mapping), PIPE_TEXTURE_2D,
PIPE_BIND_DEPTH_STENCIL | PIPE_BIND_SAMPLER_VIEW); PIPE_BIND_DEPTH_STENCIL | PIPE_BIND_SAMPLER_VIEW);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment