OSDN Git Service

anv: Refactor anv_GetImageSubresourceLayout()
authorChad Versace <chadversary@chromium.org>
Tue, 7 Nov 2017 03:35:43 +0000 (19:35 -0800)
committerChad Versace <chadversary@chromium.org>
Fri, 10 Nov 2017 00:01:59 +0000 (16:01 -0800)
Its helper function, anv_surface_get_subresource_layout(), was not very
helpful. So fold it into the main function.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
src/intel/vulkan/anv_image.c

index 34df2a3..ba932ba 100644 (file)
@@ -677,12 +677,18 @@ VkResult anv_BindImageMemory2KHR(
    return VK_SUCCESS;
 }
 
-static void
-anv_surface_get_subresource_layout(struct anv_image *image,
-                                   struct anv_surface *surface,
-                                   const VkImageSubresource *subresource,
-                                   VkSubresourceLayout *layout)
+void anv_GetImageSubresourceLayout(
+    VkDevice                                    device,
+    VkImage                                     _image,
+    const VkImageSubresource*                   subresource,
+    VkSubresourceLayout*                        layout)
 {
+   ANV_FROM_HANDLE(anv_image, image, _image);
+   const struct anv_surface *surface =
+      get_surface(image, subresource->aspectMask);
+
+   assert(__builtin_popcount(subresource->aspectMask) == 1);
+
    /* If we are on a non-zero mip level or array slice, we need to
     * calculate a real offset.
     */
@@ -696,22 +702,6 @@ anv_surface_get_subresource_layout(struct anv_image *image,
    layout->size = surface->isl.size;
 }
 
-void anv_GetImageSubresourceLayout(
-    VkDevice                                    device,
-    VkImage                                     _image,
-    const VkImageSubresource*                   pSubresource,
-    VkSubresourceLayout*                        pLayout)
-{
-   ANV_FROM_HANDLE(anv_image, image, _image);
-
-   assert(__builtin_popcount(pSubresource->aspectMask) == 1);
-
-   anv_surface_get_subresource_layout(image,
-                                      get_surface(image,
-                                                  pSubresource->aspectMask),
-                                      pSubresource, pLayout);
-}
-
 /**
  * This function determines the optimal buffer to use for a given
  * VkImageLayout and other pieces of information needed to make that