v3dv: check requirements for USAGE_INPUT_ATTACHMENT

If the format does not support COLOR_ATTACHMENT or DEPTH_STENCIL
features then it can't be used as an input attachment.

Fixes dEQP-VK.api.info.unsupported_image_usage.*.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32790>
This commit is contained in:
Juan A. Suarez Romero 2024-12-27 17:16:29 +01:00 committed by Marge Bot
parent db249f24a6
commit c5954c4329
3 changed files with 7 additions and 114 deletions

View file

@ -593,63 +593,6 @@ arm32-KHR-GL31.transform_feedback3.skip_components,Fail
arm32-KHR-GL31.transform_feedback3.skip_multiple_buffers,Fail
# New fails since uprev VK-CTS 1.3.10.0
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_a8b8g8r8_snorm_pack32,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_10x10_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_10x10_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_10x5_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_10x5_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_10x6_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_10x6_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_10x8_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_10x8_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_12x10_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_12x10_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_12x12_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_12x12_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_4x4_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_4x4_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_5x4_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_5x4_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_5x5_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_5x5_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_6x5_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_6x5_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_6x6_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_6x6_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_8x5_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_8x5_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_8x6_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_8x6_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_8x8_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_8x8_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_bc1_rgb_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_bc1_rgb_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_bc1_rgba_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_bc1_rgba_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_bc2_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_bc2_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_bc3_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_bc3_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_e5b9g9r9_ufloat_pack32,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_eac_r11_snorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_eac_r11_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_eac_r11g11_snorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_eac_r11g11_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_etc2_r8g8b8_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_etc2_r8g8b8_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_etc2_r8g8b8a1_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_etc2_r8g8b8a1_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_etc2_r8g8b8a8_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_etc2_r8g8b8a8_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_r16_snorm,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_r16_unorm,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_r16g16_snorm,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_r16g16_unorm,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_r16g16b16a16_snorm,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_r16g16b16a16_unorm,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_r8_snorm,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_r8g8_snorm,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_r8g8b8a8_snorm,Fail
dEQP-VK.draw.renderpass.non_line_with_params.vtx_lines_geom_points_mode_fill_line_raster_smooth,Fail
dEQP-VK.draw.renderpass.non_line_with_params.vtx_lines_geom_points_mode_line_line_raster_smooth,Fail
dEQP-VK.draw.renderpass.non_line_with_params.vtx_lines_geom_points_mode_point_line_raster_smooth,Fail

View file

@ -456,63 +456,6 @@ KHR-GL31.transform_feedback3.skip_components,Fail
KHR-GL31.transform_feedback3.skip_multiple_buffers,Fail
# New fails since uprev VK-CTS 1.3.10.0
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_a8b8g8r8_snorm_pack32,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_10x10_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_10x10_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_10x5_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_10x5_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_10x6_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_10x6_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_10x8_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_10x8_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_12x10_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_12x10_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_12x12_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_12x12_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_4x4_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_4x4_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_5x4_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_5x4_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_5x5_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_5x5_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_6x5_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_6x5_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_6x6_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_6x6_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_8x5_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_8x5_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_8x6_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_8x6_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_8x8_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_astc_8x8_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_bc1_rgb_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_bc1_rgb_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_bc1_rgba_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_bc1_rgba_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_bc2_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_bc2_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_bc3_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_bc3_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_e5b9g9r9_ufloat_pack32,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_eac_r11_snorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_eac_r11_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_eac_r11g11_snorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_eac_r11g11_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_etc2_r8g8b8_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_etc2_r8g8b8_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_etc2_r8g8b8a1_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_etc2_r8g8b8a1_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_etc2_r8g8b8a8_srgb_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_etc2_r8g8b8a8_unorm_block,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_r16_snorm,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_r16_unorm,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_r16g16_snorm,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_r16g16_unorm,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_r16g16b16a16_snorm,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_r16g16b16a16_unorm,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_r8_snorm,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_r8g8_snorm,Fail
dEQP-VK.api.info.unsupported_image_usage.optimal.input_attachment_r8g8b8a8_snorm,Fail
dEQP-VK.draw.renderpass.non_line_with_params.vtx_lines_geom_points_mode_fill_line_raster_smooth,Fail
dEQP-VK.draw.renderpass.non_line_with_params.vtx_lines_geom_points_mode_line_line_raster_smooth,Fail
dEQP-VK.draw.renderpass.non_line_with_params.vtx_lines_geom_points_mode_point_line_raster_smooth,Fail

View file

@ -511,6 +511,13 @@ get_image_format_properties(
}
}
if (view_usage & VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT) {
if (!(format_feature_flags & (VK_FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT |
VK_FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT))) {
goto unsupported;
}
}
switch (info->type) {
case VK_IMAGE_TYPE_1D:
pImageFormatProperties->maxExtent.width = V3D_MAX_IMAGE_DIMENSION;