On Tue, Feb 12, 2019 at 11:13 PM Jason Ekstrand <ja...@jlekstrand.net> wrote:
>
> On February 12, 2019 21:40:49 Ilia Mirkin <imir...@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 <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 } },
>
> 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 <ja...@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.


Well, it's a bit tricky. I guess you could have a weird driver, but
it's hard to check for every possibility.

I don't want to just start checking for e.g. R32_FLOAT, since a driver
might not support that at all, in which case we'd fall back to
RGBA32_FLOAT. The assumption is that if you support blending for
RGBA32_FLOAT, then you either support both blending + rendering or
neither on the other 32_FLOAT variants.

These checks aren't designed to handle EVERY possible driver-reported
permutation -- I think this is a reasonable compromise.

  -ilia
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to