[Mesa-dev] [PATCH 30/30] mesa/st: require linear interpolation for ARB_texture_float

Erik Faye-Lund erik.faye-lund at collabora.com
Tue Nov 20 09:08:43 UTC 2018


On Tue, 2018-11-20 at 01:21 -0500, Marek Olšák wrote:
> I'd like to keep ARB_texture_float enabled on drivers that don't
> support linear interpolation. ARB_texture_float is required by DX9,
> which doesn't require linear interpolation.

This logic sounds circular. Since ARB_texture_float *does* require
linear interpolation, are you sure DX9 requires ARB_texture_float? How
would DirectX even require a GL extension?

Are you talking about Gallium Nine or something like that? If so, it
should probably require some combination of OES_texture_half_float and
OES_texture_float instead, no?

FWIW, I can't find any refreences to ARB_texture_float in Gallium
Nine...

What exactly are you talking about?

> If you pushed this, you would break DX9 games for r300, which is de-
> facto reference DX9 hardware.

Yeah, as noted elsewhere, I'll drop this patch for now. I'd still like
to know what you're referring to, though.

> On Mon, Nov 19, 2018 at 7:15 AM Erik Faye-Lund <
> erik.faye-lund at collabora.com> wrote:
> > There's nothing in the ARB_texture_float specification that limits
> > filterability for floating-point textures, so we need to ensure
> > that
> > this is required to enable this extension. Luckily, we have just
> > the
> > right bits ready.
> > 
> > Signed-off-by: Erik Faye-Lund <erik.faye-lund at collabora.com>
> > ---
> >  src/mesa/state_tracker/st_extensions.c | 4 +++-
> >  1 file changed, 3 insertions(+), 1 deletion(-)
> > 
> > diff --git a/src/mesa/state_tracker/st_extensions.c
> > b/src/mesa/state_tracker/st_extensions.c
> > index b0fc824e30c..244934f7588 100644
> > --- a/src/mesa/state_tracker/st_extensions.c
> > +++ b/src/mesa/state_tracker/st_extensions.c
> > @@ -1459,7 +1459,9 @@ void st_init_extensions(struct pipe_screen
> > *screen,
> > 
> >     extensions->ARB_texture_float =
> >        extensions->OES_texture_half_float &&
> > -      extensions->OES_texture_float;
> > +      extensions->OES_texture_half_float_linear &&
> > +      extensions->OES_texture_float &&
> > +      extensions->OES_texture_float_linear;
> > 
> >     if (extensions->EXT_texture_filter_anisotropic &&
> >         screen->get_paramf(screen,
> > PIPE_CAPF_MAX_TEXTURE_ANISOTROPY) >= 16.0)
> > _______________________________________________
> > 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