It looks like the _mesa_generate_mipmap fallback has a similar problem (which would happen for glGenerateMipmap with e.g. a s3tc format).
I think this could all use some piglit tests that iterate through all or at least many different formats, including both renderable and non-renderable ones. Cheers, -ilia On Fri, Nov 1, 2019 at 3:08 PM Paul Gofman <gofm...@gmail.com> wrote: > > Signed-off-by: Paul Gofman <gofm...@gmail.com> > --- > src/mesa/state_tracker/st_gen_mipmap.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/src/mesa/state_tracker/st_gen_mipmap.c > b/src/mesa/state_tracker/st_gen_mipmap.c > index b71a8ee57bb..c5cf7063836 100644 > --- a/src/mesa/state_tracker/st_gen_mipmap.c > +++ b/src/mesa/state_tracker/st_gen_mipmap.c > @@ -56,13 +56,16 @@ st_generate_mipmap(struct gl_context *ctx, GLenum target, > struct st_context *st = st_context(ctx); > struct st_texture_object *stObj = st_texture_object(texObj); > struct pipe_resource *pt = st_get_texobj_resource(texObj); > - const uint baseLevel = texObj->BaseLevel; > + uint baseLevel = texObj->BaseLevel; > enum pipe_format format; > uint lastLevel, first_layer, last_layer; > > if (!pt) > return; > > + if (texObj->Immutable) > + baseLevel += texObj->MinLevel; > + > /* not sure if this ultimately actually should work, > but we're not supporting multisampled textures yet. */ > assert(pt->nr_samples < 2); > -- > 2.23.0 > > _______________________________________________ > 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