diff --git a/.pick_status.json b/.pick_status.json index 0b9c7d08d23..75d7fd720d6 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1484,7 +1484,7 @@ "description": "radv: do not fallback to compute for image->buffer copies with emulated formats", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "3d803d7a2e0e7d46c04381896168c344d59d88e4", "notes": null diff --git a/src/amd/ci/radv-renoir-fails.txt b/src/amd/ci/radv-renoir-fails.txt index 97c13912c96..d9e06c1fd0d 100644 --- a/src/amd/ci/radv-renoir-fails.txt +++ b/src/amd/ci/radv-renoir-fails.txt @@ -1,68 +1,3 @@ -# RADV_PERFTEST=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 - # https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/6256 dEQP-VK.sparse_resources.image_sparse_residency.2d.r10x6_unorm_pack16.1024_128_1,Crash dEQP-VK.sparse_resources.image_sparse_residency.2d.r10x6_unorm_pack16.11_137_1,Crash diff --git a/src/amd/vulkan/meta/radv_meta_copy.c b/src/amd/vulkan/meta/radv_meta_copy.c index 0f3b85a3044..4ca7494a0bb 100644 --- a/src/amd/vulkan/meta/radv_meta_copy.c +++ b/src/amd/vulkan/meta/radv_meta_copy.c @@ -90,7 +90,7 @@ transfer_copy_memory_image(struct radv_cmd_buffer *cmd_buffer, uint64_t buffer_v 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; @@ -474,7 +474,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 8ee12b4db78..a6d145915f3 100644 --- a/src/amd/vulkan/radv_sdma.c +++ b/src/amd/vulkan/radv_sdma.c @@ -718,12 +718,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 65470eba816..d0ab03d7650 100644 --- a/src/amd/vulkan/radv_sdma.h +++ b/src/amd/vulkan/radv_sdma.h @@ -83,7 +83,7 @@ void radv_sdma_copy_memory(const struct radv_device *device, struct radv_cmd_str uint64_t dst_va, uint64_t size); 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);