Re: [Mesa-dev] [PATCH] radv/wsi: don't use a helper for blit, just call copy image.
Reviewed-by: Samuel PitoisetOn 11/15/2017 11:55 PM, Dave Airlie wrote: From: Dave Airlie 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 --- 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, _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, _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, _copy); radv_EndCommandBuffer(cmd_buffer_h); @@ -370,6 +382,7 @@ radv_wsi_image_create(VkDevice device_h, q, >blit_cmd_pools[q], >blit_cmd_buffers[q], +pCreateInfo, pAllocator); if (result != VK_SUCCESS) goto fail; ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH] radv/wsi: don't use a helper for blit, just call copy image.
From: Dave AirlieWe 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 --- 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, _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, _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, _copy); radv_EndCommandBuffer(cmd_buffer_h); @@ -370,6 +382,7 @@ radv_wsi_image_create(VkDevice device_h, q, >blit_cmd_pools[q], >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