Reviewed-by: Marek Olšák <marek.ol...@amd.com> Marek
On Fri, Jul 8, 2016 at 8:48 AM, Ilia Mirkin <imir...@alum.mit.edu> wrote: > Even when the backend driver does not support ETC formats, we handle the > decoding into an uncompressed backing texture. However as far as core > mesa is concerned, it's an ETC texture and we should return the relevant > ETC mesa format. This condition can get hit when using glTexStorage to > create the texture object. > > Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu> > --- > src/mesa/state_tracker/st_format.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/src/mesa/state_tracker/st_format.c > b/src/mesa/state_tracker/st_format.c > index acb7725..99527b7 100644 > --- a/src/mesa/state_tracker/st_format.c > +++ b/src/mesa/state_tracker/st_format.c > @@ -37,6 +37,7 @@ > #include "main/enums.h" > #include "main/formats.h" > #include "main/glformats.h" > +#include "main/texcompress.h" > #include "main/texgetimage.h" > #include "main/teximage.h" > #include "main/texstore.h" > @@ -2284,6 +2285,12 @@ st_ChooseTextureFormat(struct gl_context *ctx, GLenum > target, > } > > if (pFormat == PIPE_FORMAT_NONE) { > + /* lie about using etc1/etc2 natively if we do decoding tricks */ > + mFormat = _mesa_glenum_to_compressed_format(internalFormat); > + if ((mFormat == MESA_FORMAT_ETC1_RGB8 && !st->has_etc1) || > + (_mesa_is_format_etc2(mFormat) && !st->has_etc2)) > + return mFormat; > + > /* no luck at all */ > return MESA_FORMAT_NONE; > } > -- > 2.7.3 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev