anv: use shadow surface for stencil input attachment on gfx7

This fixes a number of tests like :
  dEQP-VK.renderpass*.suballocation.multisample.s8_uint.*
  dEQP-VK.renderpass*.suballocation.multisample.separate_stencil_usage.d24_unorm_s8_uint.*.test_stencil
  dEQP-VK.renderpass*.suballocation.multisample.d24_unorm_s8_uint.*
  dEQP-VK.renderpass*.suballocation.multisample.d32_sfloat_s8_uint.*

Because the driver asserts when generating RENDER_SURFACE_STATE with a
8 Valign value for stencil buffer (only 2 & 4 are supported).

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12670>
This commit is contained in:
Lionel Landwerlin 2021-09-01 13:01:11 +03:00
parent f049b1c085
commit 7be6632f7d
1 changed files with 2 additions and 1 deletions

View File

@ -360,7 +360,8 @@ anv_image_plane_needs_shadow_surface(const struct intel_device_info *devinfo,
if (devinfo->ver <= 7 &&
plane_format.aspect == VK_IMAGE_ASPECT_STENCIL_BIT &&
(vk_plane_usage & VK_IMAGE_USAGE_SAMPLED_BIT)) {
(vk_plane_usage & (VK_IMAGE_USAGE_SAMPLED_BIT |
VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT))) {
/* gfx7 can't sample from W-tiled surfaces. */
return true;
}