diff --git a/src/amd/ci/radv-renoir-fails.txt b/src/amd/ci/radv-renoir-fails.txt index 71c55998088..5610913a8ff 100644 --- a/src/amd/ci/radv-renoir-fails.txt +++ b/src/amd/ci/radv-renoir-fails.txt @@ -1,68 +1,3 @@ -# RADV_EXPERIMENTAL=transfer_queue+vk_require_etc2=true regressions since 3d803d7a2e0e7d46c04381896168c344d59d88e4 -dEQP-VK.api.copy_and_blit.copy_commands2.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11_snorm_block_64x192,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11_snorm_block_64x192_2_layers,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11_snorm_block_64x192_5_layers,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11_unorm_block_64x192,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11_unorm_block_64x192_2_layers,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11_unorm_block_64x192_5_layers,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11g11_snorm_block_64x192,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11g11_snorm_block_64x192_2_layers,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11g11_snorm_block_64x192_5_layers,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11g11_unorm_block_64x192,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11g11_unorm_block_64x192_2_layers,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11g11_unorm_block_64x192_5_layers,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.image_to_buffer_transfer_queue.2d_images.mip_copies_etc2_r8g8b8_unorm_block_64x192,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.image_to_buffer_transfer_queue.2d_images.mip_copies_etc2_r8g8b8_unorm_block_64x192_2_layers,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.image_to_buffer_transfer_queue.2d_images.mip_copies_etc2_r8g8b8_unorm_block_64x192_5_layers,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.image_to_buffer_transfer_queue.2d_images.mip_copies_etc2_r8g8b8a1_unorm_block_64x192,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.image_to_buffer_transfer_queue.2d_images.mip_copies_etc2_r8g8b8a1_unorm_block_64x192_2_layers,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.image_to_buffer_transfer_queue.2d_images.mip_copies_etc2_r8g8b8a1_unorm_block_64x192_5_layers,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.image_to_buffer_transfer_queue.2d_images.mip_copies_etc2_r8g8b8a8_unorm_block_64x192,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.image_to_buffer_transfer_queue.2d_images.mip_copies_etc2_r8g8b8a8_unorm_block_64x192_2_layers,Fail -dEQP-VK.api.copy_and_blit.copy_commands2.image_to_buffer_transfer_queue.2d_images.mip_copies_etc2_r8g8b8a8_unorm_block_64x192_5_layers,Fail -dEQP-VK.api.copy_and_blit.core.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11_snorm_block_64x192,Fail -dEQP-VK.api.copy_and_blit.core.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11_snorm_block_64x192_2_layers,Fail -dEQP-VK.api.copy_and_blit.core.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11_snorm_block_64x192_5_layers,Fail -dEQP-VK.api.copy_and_blit.core.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11_unorm_block_64x192,Fail -dEQP-VK.api.copy_and_blit.core.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11_unorm_block_64x192_2_layers,Fail -dEQP-VK.api.copy_and_blit.core.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11_unorm_block_64x192_5_layers,Fail -dEQP-VK.api.copy_and_blit.core.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11g11_snorm_block_64x192,Fail -dEQP-VK.api.copy_and_blit.core.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11g11_snorm_block_64x192_2_layers,Fail -dEQP-VK.api.copy_and_blit.core.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11g11_snorm_block_64x192_5_layers,Fail -dEQP-VK.api.copy_and_blit.core.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11g11_unorm_block_64x192,Fail -dEQP-VK.api.copy_and_blit.core.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11g11_unorm_block_64x192_2_layers,Fail -dEQP-VK.api.copy_and_blit.core.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11g11_unorm_block_64x192_5_layers,Fail -dEQP-VK.api.copy_and_blit.core.image_to_buffer_transfer_queue.2d_images.mip_copies_etc2_r8g8b8_unorm_block_64x192,Fail -dEQP-VK.api.copy_and_blit.core.image_to_buffer_transfer_queue.2d_images.mip_copies_etc2_r8g8b8_unorm_block_64x192_2_layers,Fail -dEQP-VK.api.copy_and_blit.core.image_to_buffer_transfer_queue.2d_images.mip_copies_etc2_r8g8b8_unorm_block_64x192_5_layers,Fail -dEQP-VK.api.copy_and_blit.core.image_to_buffer_transfer_queue.2d_images.mip_copies_etc2_r8g8b8a1_unorm_block_64x192,Fail -dEQP-VK.api.copy_and_blit.core.image_to_buffer_transfer_queue.2d_images.mip_copies_etc2_r8g8b8a1_unorm_block_64x192_2_layers,Fail -dEQP-VK.api.copy_and_blit.core.image_to_buffer_transfer_queue.2d_images.mip_copies_etc2_r8g8b8a1_unorm_block_64x192_5_layers,Fail -dEQP-VK.api.copy_and_blit.core.image_to_buffer_transfer_queue.2d_images.mip_copies_etc2_r8g8b8a8_unorm_block_64x192,Fail -dEQP-VK.api.copy_and_blit.core.image_to_buffer_transfer_queue.2d_images.mip_copies_etc2_r8g8b8a8_unorm_block_64x192_2_layers,Fail -dEQP-VK.api.copy_and_blit.core.image_to_buffer_transfer_queue.2d_images.mip_copies_etc2_r8g8b8a8_unorm_block_64x192_5_layers,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11_snorm_block_64x192,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11_snorm_block_64x192_2_layers,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11_snorm_block_64x192_5_layers,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11_unorm_block_64x192,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11_unorm_block_64x192_2_layers,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11_unorm_block_64x192_5_layers,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11g11_snorm_block_64x192,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11g11_snorm_block_64x192_2_layers,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11g11_snorm_block_64x192_5_layers,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11g11_unorm_block_64x192,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11g11_unorm_block_64x192_2_layers,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_buffer_transfer_queue.2d_images.mip_copies_eac_r11g11_unorm_block_64x192_5_layers,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_buffer_transfer_queue.2d_images.mip_copies_etc2_r8g8b8_unorm_block_64x192,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_buffer_transfer_queue.2d_images.mip_copies_etc2_r8g8b8_unorm_block_64x192_2_layers,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_buffer_transfer_queue.2d_images.mip_copies_etc2_r8g8b8_unorm_block_64x192_5_layers,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_buffer_transfer_queue.2d_images.mip_copies_etc2_r8g8b8a1_unorm_block_64x192,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_buffer_transfer_queue.2d_images.mip_copies_etc2_r8g8b8a1_unorm_block_64x192_2_layers,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_buffer_transfer_queue.2d_images.mip_copies_etc2_r8g8b8a1_unorm_block_64x192_5_layers,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_buffer_transfer_queue.2d_images.mip_copies_etc2_r8g8b8a8_unorm_block_64x192,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_buffer_transfer_queue.2d_images.mip_copies_etc2_r8g8b8a8_unorm_block_64x192_2_layers,Fail -dEQP-VK.api.copy_and_blit.dedicated_allocation.image_to_buffer_transfer_queue.2d_images.mip_copies_etc2_r8g8b8a8_unorm_block_64x192_5_layers,Fail - dEQP-VK.wsi.direct.colorspace.basic,Fail dEQP-VK.wsi.direct.colorspace.hdr,Fail dEQP-VK.wsi.direct.present_timing.time_domain.calibration.present_stage_local,Fail diff --git a/src/amd/vulkan/meta/radv_meta_copy.c b/src/amd/vulkan/meta/radv_meta_copy.c index d8349cdf5e9..b48ad04b163 100644 --- a/src/amd/vulkan/meta/radv_meta_copy.c +++ b/src/amd/vulkan/meta/radv_meta_copy.c @@ -88,7 +88,7 @@ transfer_copy_memory_image(struct radv_cmd_buffer *cmd_buffer, VkAddressCopyFlag const struct radv_device *device = radv_cmd_buffer_device(cmd_buffer); struct radv_cmd_stream *cs = cmd_buffer->cs; - if (!radv_sdma_supports_image(device, image)) { + if (!radv_sdma_supports_image(device, image, to_image)) { if (!radv_gang_init(cmd_buffer)) return; @@ -598,7 +598,7 @@ transfer_copy_image(struct radv_cmd_buffer *cmd_buffer, struct radv_image *src_i struct radv_cmd_stream *cs = cmd_buffer->cs; unsigned int dst_aspect_mask_remaining = region->dstSubresource.aspectMask; - if (!radv_sdma_supports_image(device, src_image) || !radv_sdma_supports_image(device, dst_image)) { + if (!radv_sdma_supports_image(device, src_image, false) || !radv_sdma_supports_image(device, dst_image, true)) { if (!radv_gang_init(cmd_buffer)) return; diff --git a/src/amd/vulkan/radv_sdma.c b/src/amd/vulkan/radv_sdma.c index 3c41be48c7e..8b9f9e2a32e 100644 --- a/src/amd/vulkan/radv_sdma.c +++ b/src/amd/vulkan/radv_sdma.c @@ -524,12 +524,12 @@ radv_sdma_copy_image_t2t_scanline(const struct radv_device *device, struct radv_ } bool -radv_sdma_supports_image(const struct radv_device *device, const struct radv_image *image) +radv_sdma_supports_image(const struct radv_device *device, const struct radv_image *image, bool to_image) { const struct radv_physical_device *pdev = radv_device_physical(device); if (radv_is_format_emulated(pdev, image->vk.format)) - return false; + return to_image ? false : true; if (!pdev->info.sdma_supports_sparse && (image->vk.create_flags & VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT)) diff --git a/src/amd/vulkan/radv_sdma.h b/src/amd/vulkan/radv_sdma.h index b4a37990ddf..96ba8a72045 100644 --- a/src/amd/vulkan/radv_sdma.h +++ b/src/amd/vulkan/radv_sdma.h @@ -68,7 +68,7 @@ void radv_sdma_copy_memory(const struct radv_device *device, struct radv_cmd_str uint64_t dst_va, uint64_t size, bool tmz); void radv_sdma_fill_memory(const struct radv_device *device, struct radv_cmd_stream *cs, const uint64_t va, const uint64_t size, const uint32_t value); -bool radv_sdma_supports_image(const struct radv_device *device, const struct radv_image *image); +bool radv_sdma_supports_image(const struct radv_device *device, const struct radv_image *image, bool to_image); void radv_sdma_emit_nop(const struct radv_device *device, struct radv_cmd_stream *cs);