panvk: We don't support resolve operations yet

Make sure we crash when resolveMode != VK_RESOLVE_MODE_NONE in the
vkCmdBeginRendering() path instead of silently ignoring resolve
arguments.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28417>
This commit is contained in:
Boris Brezillon
2024-03-29 10:28:22 +01:00
committed by Marge Bot
parent 3b6c2cf0f0
commit feffe7fd2a
2 changed files with 12 additions and 5 deletions

View File

@@ -386,11 +386,12 @@ spec@!opengl es 3.0@gles-3.0-transform-feedback-uniform-buffer-object,Fail
dEQP-GLES31.functional.texture.border_clamp.range_clamp.linear_float_color,Fail
# The following tests started to fail after CI fix, see
# https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16325
dEQP-VK.rasterization.interpolation_multisample_4_bit.lines_wide,Fail
dEQP-VK.rasterization.interpolation_multisample_4_bit.non_strict_lines_wide,Fail
dEQP-VK.rasterization.interpolation_multisample_4_bit.triangles,Fail
# Resolve operations not supported
dEQP-VK.rasterization.interpolation_multisample_4_bit.lines,Crash
dEQP-VK.rasterization.interpolation_multisample_4_bit.lines_wide,Crash
dEQP-VK.rasterization.interpolation_multisample_4_bit.non_strict_lines,Crash
dEQP-VK.rasterization.interpolation_multisample_4_bit.non_strict_lines_wide,Crash
dEQP-VK.rasterization.interpolation_multisample_4_bit.triangles,Crash
dEQP-VK.api.copy_and_blit.core.image_to_image.all_formats.color.1d_to_1d.r16g16_snorm.r16g16_snorm.general_optimal,Fail
dEQP-VK.api.copy_and_blit.core.image_to_image.all_formats.color.1d_to_1d.r16g16b16a16_uint.r16g16b16a16_uint.optimal_general,Fail

View File

@@ -1782,6 +1782,8 @@ panvk_cmd_begin_rendering_init_fbinfo(struct panvk_cmd_buffer *cmdbuf,
att_width = MAX2(iview_size.width, att_width);
att_height = MAX2(iview_size.height, att_height);
assert(att->resolveMode == VK_RESOLVE_MODE_NONE);
cmdbuf->state.fb.bos[cmdbuf->state.fb.bo_count++] = img->bo;
fbinfo->rts[i].view = &iview->pview;
fbinfo->rts[i].crc_valid = &cmdbuf->state.fb.crc_valid[i];
@@ -1814,6 +1816,8 @@ panvk_cmd_begin_rendering_init_fbinfo(struct panvk_cmd_buffer *cmdbuf,
att_width = MAX2(iview_size.width, att_width);
att_height = MAX2(iview_size.height, att_height);
assert(att->resolveMode == VK_RESOLVE_MODE_NONE);
cmdbuf->state.fb.bos[cmdbuf->state.fb.bo_count++] = img->bo;
fbinfo->zs.view.zs = &iview->pview;
@@ -1838,6 +1842,8 @@ panvk_cmd_begin_rendering_init_fbinfo(struct panvk_cmd_buffer *cmdbuf,
att_width = MAX2(iview_size.width, att_width);
att_height = MAX2(iview_size.height, att_height);
assert(att->resolveMode == VK_RESOLVE_MODE_NONE);
cmdbuf->state.fb.bos[cmdbuf->state.fb.bo_count++] = img->bo;
fbinfo->zs.view.s =
iview && &iview->pview != fbinfo->zs.view.zs ? &iview->pview : NULL;