nv50: use the no-mipmap texture type for 2d ms views
authorIlia Mirkin <imirkin@alum.mit.edu>
Thu, 10 Jun 2021 04:20:04 +0000 (00:20 -0400)
committerMarge Bot <eric+marge@anholt.net>
Sat, 12 Jun 2021 04:35:59 +0000 (04:35 +0000)
There are size restrictions on 2D images which can't accommodate the
*full* 2D MSAA image. There's no way to make it work for 2D MSAA Array
images, but at least for the non-array variants, we can use the
no-mipmap variant which has a larger maximum size.

Fixes dEQP-GLES31.functional.shaders.builtin_functions.texture_size.*2d

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11285>

src/gallium/drivers/nouveau/nv50/nv50_tex.c

index abeb916..67c4750 100644 (file)
@@ -161,7 +161,10 @@ nv50_create_texture_view(struct pipe_context *pipe,
       tic[2] |= G80_TIC_2_TEXTURE_TYPE_ONE_D;
       break;
    case PIPE_TEXTURE_2D:
-      tic[2] |= G80_TIC_2_TEXTURE_TYPE_TWO_D;
+      if (mt->ms_x)
+         tic[2] |= G80_TIC_2_TEXTURE_TYPE_TWO_D_NO_MIPMAP;
+      else
+         tic[2] |= G80_TIC_2_TEXTURE_TYPE_TWO_D;
       break;
    case PIPE_TEXTURE_RECT:
       tic[2] |= G80_TIC_2_TEXTURE_TYPE_TWO_D_NO_MIPMAP;