asahi: Set layout->mipmapped_z for 3D textures
authorAlyssa Rosenzweig <alyssa@rosenzweig.io>
Fri, 3 Feb 2023 23:42:29 +0000 (18:42 -0500)
committerMarge Bot <emma+marge@anholt.net>
Sat, 4 Feb 2023 07:04:49 +0000 (07:04 +0000)
There's a corner case where 3D textures have extra padding compared to 2D
arrays. We need to communicate that to ail.

Fixes
dEQP-GLES3.functional.texture.specification.texstorage3d.size.3d_32x16x64_4_levels.
That test now uses the same layout as Metal.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21114>

src/gallium/drivers/asahi/agx_pipe.c

index acdc36b..5b39955 100644 (file)
@@ -124,6 +124,7 @@ agx_resource_setup(struct agx_device *dev, struct agx_resource *nresource)
 
    nresource->layout = (struct ail_layout){
       .tiling = ail_modifier_to_tiling(nresource->modifier),
+      .mipmapped_z = templ->target == PIPE_TEXTURE_3D,
       .format = templ->format,
       .width_px = templ->width0,
       .height_px = templ->height0,