From: Dave Airlie <airl...@redhat.com> We ignore layout currently, not sure what would be correct to pass.
(this is based on Jason's last wsi rfc) Signed-off-by: Dave Airlie <airl...@redhat.com> --- src/amd/vulkan/radv_meta.h | 4 ---- src/amd/vulkan/radv_meta_copy.c | 20 -------------------- src/amd/vulkan/radv_wsi.c | 19 ++++++++++++++++--- 3 files changed, 16 insertions(+), 27 deletions(-) diff --git a/src/amd/vulkan/radv_meta.h b/src/amd/vulkan/radv_meta.h index d10ec99..0974df0 100644 --- a/src/amd/vulkan/radv_meta.h +++ b/src/amd/vulkan/radv_meta.h @@ -187,10 +187,6 @@ void radv_meta_resolve_fragment_image(struct radv_cmd_buffer *cmd_buffer, uint32_t region_count, const VkImageResolve *regions); -void radv_blit_to_prime_linear(struct radv_cmd_buffer *cmd_buffer, - struct radv_image *image, - struct radv_image *linear_image); - /* common nir builder helpers */ #include "nir/nir_builder.h" diff --git a/src/amd/vulkan/radv_meta_copy.c b/src/amd/vulkan/radv_meta_copy.c index a42b15a..c3fe10e 100644 --- a/src/amd/vulkan/radv_meta_copy.c +++ b/src/amd/vulkan/radv_meta_copy.c @@ -432,23 +432,3 @@ void radv_CmdCopyImage( meta_copy_image(cmd_buffer, src_image, dest_image, regionCount, pRegions); } - -void radv_blit_to_prime_linear(struct radv_cmd_buffer *cmd_buffer, - struct radv_image *image, - struct radv_image *linear_image) -{ - struct VkImageCopy image_copy = { 0 }; - - image_copy.srcSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; - image_copy.srcSubresource.layerCount = 1; - - image_copy.dstSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; - image_copy.dstSubresource.layerCount = 1; - - image_copy.extent.width = image->info.width; - image_copy.extent.height = image->info.height; - image_copy.extent.depth = 1; - - meta_copy_image(cmd_buffer, image, linear_image, - 1, &image_copy); -} diff --git a/src/amd/vulkan/radv_wsi.c b/src/amd/vulkan/radv_wsi.c index 0145da6..7515284 100644 --- a/src/amd/vulkan/radv_wsi.c +++ b/src/amd/vulkan/radv_wsi.c @@ -233,6 +233,7 @@ radv_wsi_create_blit_cmd_buffer(VkDevice device_h, uint32_t queue_family_index, VkCommandPool *cmd_pool_p, VkCommandBuffer *cmd_buffer_p, + const VkSwapchainCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks* pAllocator) { VkResult result = VK_SUCCESS; @@ -272,9 +273,20 @@ radv_wsi_create_blit_cmd_buffer(VkDevice device_h, radv_BeginCommandBuffer(cmd_buffer_h, &begin_info); - radv_blit_to_prime_linear(radv_cmd_buffer_from_handle(cmd_buffer_h), - radv_image_from_handle(client_image_h), - radv_image_from_handle(wsi_image_h)); + struct VkImageCopy image_copy = { 0 }; + + image_copy.srcSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + image_copy.srcSubresource.layerCount = 1; + + image_copy.dstSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + image_copy.dstSubresource.layerCount = 1; + + image_copy.extent.width = pCreateInfo->imageExtent.width; + image_copy.extent.height = pCreateInfo->imageExtent.height; + image_copy.extent.depth = 1; + + radv_CmdCopyImage(cmd_buffer_h, client_image_h, 0, wsi_image_h, 0, + 1, &image_copy); radv_EndCommandBuffer(cmd_buffer_h); @@ -370,6 +382,7 @@ radv_wsi_image_create(VkDevice device_h, q, &private->blit_cmd_pools[q], &private->blit_cmd_buffers[q], + pCreateInfo, pAllocator); if (result != VK_SUCCESS) goto fail; -- 2.9.5 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev