From 8bf021cf3dfdb50b709b7bba65dec8fd9495c74f Mon Sep 17 00:00:00 2001 From: Chad Versace Date: Mon, 5 Oct 2015 13:22:44 -0700 Subject: [PATCH] vk: Return anv_image_view_info by value The struct is only 2 bytes. Returning it on the stack is better than returning a reference into the ELF .data segment. --- src/vulkan/anv_image.c | 4 ++-- src/vulkan/anv_private.h | 2 +- src/vulkan/gen7_state.c | 4 ++-- src/vulkan/gen8_state.c | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/vulkan/anv_image.c b/src/vulkan/anv_image.c index 43245297f0e..248df3d9b42 100644 --- a/src/vulkan/anv_image.c +++ b/src/vulkan/anv_image.c @@ -61,10 +61,10 @@ anv_image_view_info_table[] = { #undef INFO }; -const struct anv_image_view_info * +struct anv_image_view_info anv_image_view_info_for_vk_image_view_type(VkImageViewType type) { - return &anv_image_view_info_table[type]; + return anv_image_view_info_table[type]; } static const struct anv_surf_type_limits { diff --git a/src/vulkan/anv_private.h b/src/vulkan/anv_private.h index 15e5124d857..bc747fcd27c 100644 --- a/src/vulkan/anv_private.h +++ b/src/vulkan/anv_private.h @@ -1154,7 +1154,7 @@ struct anv_image_view_info { bool is_cube:1; /**< RENDER_SURFACE_STATE.CubeFaceEnable* */ }; -const struct anv_image_view_info * +struct anv_image_view_info anv_image_view_info_for_vk_image_view_type(VkImageViewType type); /** diff --git a/src/vulkan/gen7_state.c b/src/vulkan/gen7_state.c index f93349da0b0..7445bf02042 100644 --- a/src/vulkan/gen7_state.c +++ b/src/vulkan/gen7_state.c @@ -279,7 +279,7 @@ gen7_image_view_init(struct anv_image_view *iview, const struct anv_format *format = anv_format_for_vk_format(pCreateInfo->format); - const struct anv_image_view_info *view_type_info = + const struct anv_image_view_info view_type_info = anv_image_view_info_for_vk_image_view_type(pCreateInfo->viewType); if (pCreateInfo->viewType != VK_IMAGE_VIEW_TYPE_2D) @@ -303,7 +303,7 @@ gen7_image_view_init(struct anv_image_view *iview, } struct GEN7_RENDER_SURFACE_STATE surface_state = { - .SurfaceType = view_type_info->surface_type, + .SurfaceType = view_type_info.surface_type, .SurfaceArray = image->array_size > 1, .SurfaceFormat = format->surface_format, .SurfaceVerticalAlignment = anv_valign[surface->v_align], diff --git a/src/vulkan/gen8_state.c b/src/vulkan/gen8_state.c index 3709a50005d..0ef44d03c44 100644 --- a/src/vulkan/gen8_state.c +++ b/src/vulkan/gen8_state.c @@ -158,7 +158,7 @@ gen8_image_view_init(struct anv_image_view *iview, const struct anv_format *format_info = anv_format_for_vk_format(pCreateInfo->format); - const struct anv_image_view_info *view_type_info = + const struct anv_image_view_info view_type_info = anv_image_view_info_for_vk_image_view_type(pCreateInfo->viewType); view->bo = image->bo; @@ -220,7 +220,7 @@ gen8_image_view_init(struct anv_image_view *iview, }; struct GEN8_RENDER_SURFACE_STATE surface_state = { - .SurfaceType = view_type_info->surface_type, + .SurfaceType = view_type_info.surface_type, .SurfaceArray = image->array_size > 1, .SurfaceFormat = format_info->surface_format, .SurfaceVerticalAlignment = anv_valign[surface->v_align], -- 2.30.2