ac/surface: fix host image copies with stencil-only

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37748>
This commit is contained in:
Samuel Pitoiset
2025-10-07 21:41:38 +02:00
committed by Marge Bot
parent 9a7f1401d8
commit ef900e93fc
+6 -2
View File
@@ -4629,7 +4629,9 @@ gfx10_surface_copy_mem_surface(struct ac_addrlib *addrlib, const struct radeon_i
ADDR2_COPY_MEMSURFACE_INPUT input = {0};
input.size = sizeof(ADDR2_COPY_MEMSURFACE_INPUT);
input.swizzleMode = surf->u.gfx9.swizzle_mode;
input.swizzleMode = surf->has_stencil ?
surf->u.gfx9.zs.stencil_swizzle_mode :
surf->u.gfx9.swizzle_mode;
input.format = format;
input.flags.color = !(surf->flags & RADEON_SURF_Z_OR_SBUFFER);
input.flags.depth = (surf->flags & RADEON_SURF_ZBUFFER) != 0;
@@ -4694,7 +4696,9 @@ gfx12_surface_copy_mem_surface(struct ac_addrlib *addrlib, const struct radeon_i
ADDR3_COPY_MEMSURFACE_INPUT input = {0};
input.size = sizeof(ADDR3_COPY_MEMSURFACE_INPUT);
input.swizzleMode = surf->u.gfx9.swizzle_mode;
input.swizzleMode = surf->has_stencil ?
surf->u.gfx9.zs.stencil_swizzle_mode :
surf->u.gfx9.swizzle_mode;
input.format = format;
input.flags.depth = (surf->flags & RADEON_SURF_ZBUFFER) != 0;
input.resourceType = (AddrResourceType)surf->u.gfx9.resource_type;