From fb648634b0fc633028553e50b60e8261ece83c8a Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Mon, 15 Mar 2021 15:10:27 +0100 Subject: [PATCH] radv: use common entrypoints for VK_KHR_copy_commands2 Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen Part-of: --- src/amd/vulkan/layers/radv_sqtt_layer.c | 75 --------------------- src/amd/vulkan/radv_meta_blit.c | 37 ----------- src/amd/vulkan/radv_meta_buffer.c | 23 ------- src/amd/vulkan/radv_meta_copy.c | 86 ------------------------- src/amd/vulkan/radv_meta_resolve.c | 52 --------------- 5 files changed, 273 deletions(-) diff --git a/src/amd/vulkan/layers/radv_sqtt_layer.c b/src/amd/vulkan/layers/radv_sqtt_layer.c index d1a039281a2..251f7b5261d 100644 --- a/src/amd/vulkan/layers/radv_sqtt_layer.c +++ b/src/amd/vulkan/layers/radv_sqtt_layer.c @@ -531,17 +531,6 @@ void sqtt_CmdDispatchIndirect( EVENT_MARKER(DispatchIndirect, commandBuffer, buffer, offset); } -void sqtt_CmdCopyBuffer( - VkCommandBuffer commandBuffer, - VkBuffer srcBuffer, - VkBuffer destBuffer, - uint32_t regionCount, - const VkBufferCopy* pRegions) -{ - EVENT_MARKER(CopyBuffer, commandBuffer, srcBuffer, destBuffer, - regionCount, pRegions); -} - void sqtt_CmdCopyBuffer2KHR( VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo) @@ -572,19 +561,6 @@ void sqtt_CmdUpdateBuffer( dataSize, pData); } -void sqtt_CmdCopyImage( - VkCommandBuffer commandBuffer, - VkImage srcImage, - VkImageLayout srcImageLayout, - VkImage destImage, - VkImageLayout destImageLayout, - uint32_t regionCount, - const VkImageCopy* pRegions) -{ - EVENT_MARKER(CopyImage, commandBuffer, srcImage, srcImageLayout, - destImage, destImageLayout, regionCount, pRegions); -} - void sqtt_CmdCopyImage2KHR( VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo) @@ -593,18 +569,6 @@ void sqtt_CmdCopyImage2KHR( pCopyImageInfo); } -void sqtt_CmdCopyBufferToImage( - VkCommandBuffer commandBuffer, - VkBuffer srcBuffer, - VkImage destImage, - VkImageLayout destImageLayout, - uint32_t regionCount, - const VkBufferImageCopy* pRegions) -{ - EVENT_MARKER(CopyBufferToImage, commandBuffer, srcBuffer, destImage, - destImageLayout, regionCount, pRegions); -} - void sqtt_CmdCopyBufferToImage2KHR( VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo) @@ -613,18 +577,6 @@ void sqtt_CmdCopyBufferToImage2KHR( commandBuffer, pCopyBufferToImageInfo); } -void sqtt_CmdCopyImageToBuffer( - VkCommandBuffer commandBuffer, - VkImage srcImage, - VkImageLayout srcImageLayout, - VkBuffer destBuffer, - uint32_t regionCount, - const VkBufferImageCopy* pRegions) -{ - EVENT_MARKER(CopyImageToBuffer, commandBuffer, srcImage, srcImageLayout, - destBuffer, regionCount, pRegions); -} - void sqtt_CmdCopyImageToBuffer2KHR( VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo) @@ -633,20 +585,6 @@ void sqtt_CmdCopyImageToBuffer2KHR( commandBuffer, pCopyImageToBufferInfo); } -void sqtt_CmdBlitImage( - VkCommandBuffer commandBuffer, - VkImage srcImage, - VkImageLayout srcImageLayout, - VkImage destImage, - VkImageLayout destImageLayout, - uint32_t regionCount, - const VkImageBlit* pRegions, - VkFilter filter) -{ - EVENT_MARKER(BlitImage, commandBuffer, srcImage, srcImageLayout, - destImage, destImageLayout, regionCount, pRegions, filter); -} - void sqtt_CmdBlitImage2KHR( VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo) @@ -690,19 +628,6 @@ void sqtt_CmdClearAttachments( pAttachments, rectCount, pRects); } -void sqtt_CmdResolveImage( - VkCommandBuffer commandBuffer, - VkImage src_image_h, - VkImageLayout src_image_layout, - VkImage dest_image_h, - VkImageLayout dest_image_layout, - uint32_t region_count, - const VkImageResolve* regions) -{ - EVENT_MARKER(ResolveImage, commandBuffer, src_image_h, src_image_layout, - dest_image_h, dest_image_layout, region_count, regions); -} - void sqtt_CmdResolveImage2KHR( VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo) diff --git a/src/amd/vulkan/radv_meta_blit.c b/src/amd/vulkan/radv_meta_blit.c index e5c1b37c882..ff573ad7f04 100644 --- a/src/amd/vulkan/radv_meta_blit.c +++ b/src/amd/vulkan/radv_meta_blit.c @@ -659,43 +659,6 @@ blit_image(struct radv_cmd_buffer *cmd_buffer, &cmd_buffer->pool->alloc); } -void radv_CmdBlitImage( - VkCommandBuffer commandBuffer, - VkImage srcImage, - VkImageLayout srcImageLayout, - VkImage dstImage, - VkImageLayout dstImageLayout, - uint32_t regionCount, - const VkImageBlit* pRegions, - VkFilter filter) - -{ - RADV_FROM_HANDLE(radv_cmd_buffer, cmd_buffer, commandBuffer); - RADV_FROM_HANDLE(radv_image, src_image, srcImage); - RADV_FROM_HANDLE(radv_image, dst_image, dstImage); - - for (unsigned r = 0; r < regionCount; r++) { - VkImageBlit2KHR blit = { - .sType = VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR, - .srcSubresource = pRegions[r].srcSubresource, - .srcOffsets = { - pRegions[r].srcOffsets[0], - pRegions[r].srcOffsets[1], - }, - .dstSubresource = pRegions[r].dstSubresource, - .dstOffsets = { - pRegions[r].dstOffsets[0], - pRegions[r].dstOffsets[1], - }, - }; - - blit_image(cmd_buffer, - src_image, srcImageLayout, - dst_image, dstImageLayout, - &blit, filter); - } -} - void radv_CmdBlitImage2KHR( VkCommandBuffer commandBuffer, const VkBlitImageInfo2KHR* pBlitImageInfo) diff --git a/src/amd/vulkan/radv_meta_buffer.c b/src/amd/vulkan/radv_meta_buffer.c index 187251a35bf..1bfc15064f0 100644 --- a/src/amd/vulkan/radv_meta_buffer.c +++ b/src/amd/vulkan/radv_meta_buffer.c @@ -466,29 +466,6 @@ copy_buffer(struct radv_cmd_buffer *cmd_buffer, cmd_buffer->state.predicating = old_predicating; } -void radv_CmdCopyBuffer( - VkCommandBuffer commandBuffer, - VkBuffer srcBuffer, - VkBuffer destBuffer, - uint32_t regionCount, - const VkBufferCopy* pRegions) -{ - RADV_FROM_HANDLE(radv_cmd_buffer, cmd_buffer, commandBuffer); - RADV_FROM_HANDLE(radv_buffer, src_buffer, srcBuffer); - RADV_FROM_HANDLE(radv_buffer, dst_buffer, destBuffer); - - for (unsigned r = 0; r < regionCount; r++) { - VkBufferCopy2KHR copy = { - .sType = VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR, - .srcOffset = pRegions[r].srcOffset, - .dstOffset = pRegions[r].dstOffset, - .size = pRegions[r].size, - }; - - copy_buffer(cmd_buffer, src_buffer, dst_buffer, ©); - } -} - void radv_CmdCopyBuffer2KHR( VkCommandBuffer commandBuffer, const VkCopyBufferInfo2KHR* pCopyBufferInfo) diff --git a/src/amd/vulkan/radv_meta_copy.c b/src/amd/vulkan/radv_meta_copy.c index 7d743c9b130..44e61ca4b0a 100644 --- a/src/amd/vulkan/radv_meta_copy.c +++ b/src/amd/vulkan/radv_meta_copy.c @@ -253,34 +253,6 @@ copy_buffer_to_image(struct radv_cmd_buffer *cmd_buffer, radv_meta_restore(&saved_state, cmd_buffer); } -void radv_CmdCopyBufferToImage( - VkCommandBuffer commandBuffer, - VkBuffer srcBuffer, - VkImage dstImage, - VkImageLayout dstImageLayout, - uint32_t regionCount, - const VkBufferImageCopy* pRegions) -{ - RADV_FROM_HANDLE(radv_cmd_buffer, cmd_buffer, commandBuffer); - RADV_FROM_HANDLE(radv_image, dst_image, dstImage); - RADV_FROM_HANDLE(radv_buffer, src_buffer, srcBuffer); - - for (unsigned r = 0; r < regionCount; r++) { - VkBufferImageCopy2KHR copy = { - .sType = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR, - .bufferOffset = pRegions[r].bufferOffset, - .bufferRowLength = pRegions[r].bufferRowLength, - .bufferImageHeight = pRegions[r].bufferImageHeight, - .imageSubresource = pRegions[r].imageSubresource, - .imageOffset = pRegions[r].imageOffset, - .imageExtent = pRegions[r].imageExtent, - }; - - copy_buffer_to_image(cmd_buffer, src_buffer, dst_image, - dstImageLayout, ©); - } -} - void radv_CmdCopyBufferToImage2KHR( VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2KHR* pCopyBufferToImageInfo) @@ -410,34 +382,6 @@ copy_image_to_buffer(struct radv_cmd_buffer *cmd_buffer, radv_meta_restore(&saved_state, cmd_buffer); } -void radv_CmdCopyImageToBuffer( - VkCommandBuffer commandBuffer, - VkImage srcImage, - VkImageLayout srcImageLayout, - VkBuffer destBuffer, - uint32_t regionCount, - const VkBufferImageCopy* pRegions) -{ - RADV_FROM_HANDLE(radv_cmd_buffer, cmd_buffer, commandBuffer); - RADV_FROM_HANDLE(radv_image, src_image, srcImage); - RADV_FROM_HANDLE(radv_buffer, dst_buffer, destBuffer); - - for (unsigned r = 0; r < regionCount; r++) { - VkBufferImageCopy2KHR copy = { - .sType = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR, - .bufferOffset = pRegions[r].bufferOffset, - .bufferRowLength = pRegions[r].bufferRowLength, - .bufferImageHeight = pRegions[r].bufferImageHeight, - .imageSubresource = pRegions[r].imageSubresource, - .imageOffset = pRegions[r].imageOffset, - .imageExtent = pRegions[r].imageExtent, - }; - - copy_image_to_buffer(cmd_buffer, dst_buffer, src_image, - srcImageLayout, ©); - } -} - void radv_CmdCopyImageToBuffer2KHR( VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2KHR* pCopyImageToBufferInfo) @@ -608,36 +552,6 @@ copy_image(struct radv_cmd_buffer *cmd_buffer, radv_meta_restore(&saved_state, cmd_buffer); } -void radv_CmdCopyImage( - VkCommandBuffer commandBuffer, - VkImage srcImage, - VkImageLayout srcImageLayout, - VkImage dstImage, - VkImageLayout dstImageLayout, - uint32_t regionCount, - const VkImageCopy* pRegions) -{ - RADV_FROM_HANDLE(radv_cmd_buffer, cmd_buffer, commandBuffer); - RADV_FROM_HANDLE(radv_image, src_image, srcImage); - RADV_FROM_HANDLE(radv_image, dst_image, dstImage); - - for (unsigned r = 0; r < regionCount; r++) { - VkImageCopy2KHR copy = { - .sType = VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR, - .srcSubresource = pRegions[r].srcSubresource, - .srcOffset = pRegions[r].srcOffset, - .dstSubresource = pRegions[r].dstSubresource, - .dstOffset = pRegions[r].dstOffset, - .extent = pRegions[r].extent, - }; - - copy_image(cmd_buffer, - src_image, srcImageLayout, - dst_image, dstImageLayout, - ©); - } -} - void radv_CmdCopyImage2KHR( VkCommandBuffer commandBuffer, const VkCopyImageInfo2KHR* pCopyImageInfo) diff --git a/src/amd/vulkan/radv_meta_resolve.c b/src/amd/vulkan/radv_meta_resolve.c index 00e47f089af..5ca95ff2c2f 100644 --- a/src/amd/vulkan/radv_meta_resolve.c +++ b/src/amd/vulkan/radv_meta_resolve.c @@ -668,58 +668,6 @@ resolve_image(struct radv_cmd_buffer *cmd_buffer, } } -void radv_CmdResolveImage( - VkCommandBuffer cmd_buffer_h, - VkImage src_image_h, - VkImageLayout src_image_layout, - VkImage dest_image_h, - VkImageLayout dest_image_layout, - uint32_t region_count, - const VkImageResolve* regions) -{ - RADV_FROM_HANDLE(radv_cmd_buffer, cmd_buffer, cmd_buffer_h); - RADV_FROM_HANDLE(radv_image, src_image, src_image_h); - RADV_FROM_HANDLE(radv_image, dest_image, dest_image_h); - enum radv_resolve_method resolve_method = RESOLVE_HW; - /* we can use the hw resolve only for single full resolves */ - if (region_count == 1) { - if (regions[0].srcOffset.x || - regions[0].srcOffset.y || - regions[0].srcOffset.z) - resolve_method = RESOLVE_COMPUTE; - if (regions[0].dstOffset.x || - regions[0].dstOffset.y || - regions[0].dstOffset.z) - resolve_method = RESOLVE_COMPUTE; - - if (regions[0].extent.width != src_image->info.width || - regions[0].extent.height != src_image->info.height || - regions[0].extent.depth != src_image->info.depth) - resolve_method = RESOLVE_COMPUTE; - } else - resolve_method = RESOLVE_COMPUTE; - - radv_pick_resolve_method_images(cmd_buffer->device, src_image, - src_image->vk_format, dest_image, - dest_image_layout, false, cmd_buffer, - &resolve_method); - - for (uint32_t r = 0; r < region_count; r++) { - VkImageResolve2KHR region = { - .sType = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR, - .srcSubresource = regions[r].srcSubresource, - .srcOffset = regions[r].srcOffset, - .dstSubresource = regions[r].dstSubresource, - .dstOffset = regions[r].dstOffset, - .extent = regions[r].extent, - }; - - resolve_image(cmd_buffer, src_image, src_image_layout, - dest_image, dest_image_layout, - ®ion, resolve_method); - } -} - void radv_CmdResolveImage2KHR( VkCommandBuffer commandBuffer, const VkResolveImageInfo2KHR* pResolveImageInfo)