radv/meta: split copyimage api into api and meta function
authorDave Airlie <airlied@redhat.com>
Wed, 30 Nov 2016 02:03:33 +0000 (02:03 +0000)
committerDave Airlie <airlied@redhat.com>
Thu, 8 Dec 2016 23:06:02 +0000 (23:06 +0000)
This make it easier to add multiple queues later.

Reviewed by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/amd/vulkan/radv_meta_copy.c

index 4c01eb7acbb0f8cb80a5c8f48affda4f8058e952..6333e5c08306d6b42aa1043167d5b63704f45a42 100644 (file)
@@ -306,18 +306,13 @@ void radv_CmdCopyImageToBuffer(
                                  regionCount, pRegions);
 }
 
-void radv_CmdCopyImage(
-       VkCommandBuffer                             commandBuffer,
-       VkImage                                     srcImage,
-       VkImageLayout                               srcImageLayout,
-       VkImage                                     destImage,
-       VkImageLayout                               destImageLayout,
-       uint32_t                                    regionCount,
-       const VkImageCopy*                          pRegions)
+static void
+meta_copy_image(struct radv_cmd_buffer *cmd_buffer,
+               struct radv_image *src_image,
+               struct radv_image *dest_image,
+               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, dest_image, destImage);
        struct radv_meta_saved_state saved_state;
 
        /* From the Vulkan 1.0 spec:
@@ -397,3 +392,20 @@ void radv_CmdCopyImage(
 
        radv_meta_restore(&saved_state, cmd_buffer);
 }
+
+void radv_CmdCopyImage(
+       VkCommandBuffer                             commandBuffer,
+       VkImage                                     srcImage,
+       VkImageLayout                               srcImageLayout,
+       VkImage                                     destImage,
+       VkImageLayout                               destImageLayout,
+       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, dest_image, destImage);
+
+       meta_copy_image(cmd_buffer, src_image, dest_image,
+                       regionCount, pRegions);
+}