anv: ensure null-rt bit in compiler isn't used when there is ds attachment

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 15987f49bb ("anv: avoid setting up a null RT unless needed")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12396
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32867>
This commit is contained in:
Lionel Landwerlin
2025-01-03 16:36:16 +02:00
committed by Marge Bot
parent 6968794c50
commit 98cdb9349a

View File

@@ -531,6 +531,15 @@ rp_color_mask(const struct vk_render_pass_state *rp)
color_mask |= BITFIELD_BIT(i);
}
/* If there is depth/stencil attachment, even if the fragment shader
* doesn't write the depth/stencil output, we need a valid render target so
* that the compiler doesn't use the null-rt which would cull the
* depth/stencil output.
*/
if (rp->depth_attachment_format != VK_FORMAT_UNDEFINED ||
rp->stencil_attachment_format != VK_FORMAT_UNDEFINED)
color_mask |= 1;
return color_mask;
}