Mesa (master): turnip: minify image_view extent

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Feb 28 14:28:09 UTC 2020


Module: Mesa
Branch: master
Commit: de33c23370bf37b2a2fdf5be1daab6007d054c08
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=de33c23370bf37b2a2fdf5be1daab6007d054c08

Author: Jonathan Marek <jonathan at marek.ca>
Date:   Tue Feb 11 22:16:22 2020 -0500

turnip: minify image_view extent

Signed-off-by: Jonathan Marek <jonathan at marek.ca>
Reviewed-by: Eric Anholt <eric at anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3979>

---

 src/freedreno/vulkan/tu_image.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/freedreno/vulkan/tu_image.c b/src/freedreno/vulkan/tu_image.c
index 9f22c93e0ed..d77f3c8df43 100644
--- a/src/freedreno/vulkan/tu_image.c
+++ b/src/freedreno/vulkan/tu_image.c
@@ -265,14 +265,15 @@ tu_image_view_init(struct tu_image_view *iview,
    iview->vk_format = pCreateInfo->format;
    iview->aspect_mask = pCreateInfo->subresourceRange.aspectMask;
 
-   // should we minify?
-   iview->extent = image->extent;
-
    iview->base_layer = range->baseArrayLayer;
    iview->layer_count = tu_get_layerCount(image, range);
    iview->base_mip = range->baseMipLevel;
    iview->level_count = tu_get_levelCount(image, range);
 
+   iview->extent.width = u_minify(image->extent.width, iview->base_mip);
+   iview->extent.height = u_minify(image->extent.height, iview->base_mip);
+   iview->extent.depth = u_minify(image->extent.depth, iview->base_mip);
+
    memset(iview->descriptor, 0, sizeof(iview->descriptor));
 
    struct tu_native_format fmt =
@@ -282,10 +283,10 @@ tu_image_view_init(struct tu_image_view *iview,
 
    uint32_t pitch = tu_image_stride(image, iview->base_mip) / vk_format_get_blockwidth(iview->vk_format);
    enum a6xx_tile_mode tile_mode = tu6_get_image_tile_mode(image, iview->base_mip);
-   uint32_t width = u_minify(image->extent.width, iview->base_mip);
-   uint32_t height = u_minify(image->extent.height, iview->base_mip);
+   uint32_t width = iview->extent.width;
+   uint32_t height = iview->extent.height;
    uint32_t depth = pCreateInfo->viewType == VK_IMAGE_VIEW_TYPE_3D ?
-      u_minify(image->extent.depth, iview->base_mip) : iview->layer_count;
+      iview->extent.depth : iview->layer_count;
 
    unsigned fmt_tex = fmt.fmt;
    if (iview->aspect_mask == VK_IMAGE_ASPECT_STENCIL_BIT &&



More information about the mesa-commit mailing list