diff options
author | Jason Ekstrand <[email protected]> | 2020-03-06 11:56:59 -0600 |
---|---|---|
committer | Marge Bot <[email protected]> | 2020-04-24 16:17:44 +0000 |
commit | d2f3576d335c09313216ee052bf7570da8a61ff1 (patch) | |
tree | dcc1b9bd4766d856e1af28dc11f13e21ae672c4b /src/intel | |
parent | 5de9f4409a6d885755fc9885403423f4ff0650dd (diff) |
anv: Move vk_image_layout_is_read_only higher
While we're at it, we drop some _KHR suffixes
Reviewed-by: Rafael Antognolli <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4100>
Diffstat (limited to 'src/intel')
-rw-r--r-- | src/intel/vulkan/anv_image.c | 88 |
1 files changed, 44 insertions, 44 deletions
diff --git a/src/intel/vulkan/anv_image.c b/src/intel/vulkan/anv_image.c index fcb8def9564..2baf93a6220 100644 --- a/src/intel/vulkan/anv_image.c +++ b/src/intel/vulkan/anv_image.c @@ -1237,6 +1237,50 @@ vk_image_layout_to_usage_flags(VkImageLayout layout, unreachable("Invalid image layout."); } +ASSERTED static bool +vk_image_layout_is_read_only(VkImageLayout layout, + VkImageAspectFlagBits aspect) +{ + assert(util_bitcount(aspect) == 1); + + switch (layout) { + case VK_IMAGE_LAYOUT_UNDEFINED: + case VK_IMAGE_LAYOUT_PREINITIALIZED: + return true; /* These are only used for layout transitions */ + + case VK_IMAGE_LAYOUT_GENERAL: + case VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL: + case VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL: + case VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL: + case VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR: + case VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL: + case VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL: + return false; + + case VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL: + case VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL: + case VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL: + case VK_IMAGE_LAYOUT_PRESENT_SRC_KHR: + case VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV: + case VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT: + case VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL: + case VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL: + return true; + + case VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL: + return aspect == VK_IMAGE_ASPECT_DEPTH_BIT; + + case VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL: + return aspect == VK_IMAGE_ASPECT_STENCIL_BIT; + + case VK_IMAGE_LAYOUT_RANGE_SIZE: + case VK_IMAGE_LAYOUT_MAX_ENUM: + unreachable("Invalid image layout."); + } + + unreachable("Invalid image layout."); +} + /** * This function returns the assumed isl_aux_state for a given VkImageLayout. * Because Vulkan image layouts don't map directly to isl_aux_state enums, the @@ -1403,50 +1447,6 @@ anv_layout_to_aux_state(const struct gen_device_info * const devinfo, unreachable("layout is not a VkImageLayout enumeration member."); } -ASSERTED static bool -vk_image_layout_is_read_only(VkImageLayout layout, - VkImageAspectFlagBits aspect) -{ - assert(util_bitcount(aspect) == 1); - - switch (layout) { - case VK_IMAGE_LAYOUT_UNDEFINED: - case VK_IMAGE_LAYOUT_PREINITIALIZED: - return true; /* These are only used for layout transitions */ - - case VK_IMAGE_LAYOUT_GENERAL: - case VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL: - case VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL: - case VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL: - case VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR: - case VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR: - case VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR: - return false; - - case VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL: - case VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL: - case VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL: - case VK_IMAGE_LAYOUT_PRESENT_SRC_KHR: - case VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV: - case VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT: - case VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR: - case VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR: - return true; - - case VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL: - return aspect == VK_IMAGE_ASPECT_DEPTH_BIT; - - case VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL: - return aspect == VK_IMAGE_ASPECT_STENCIL_BIT; - - case VK_IMAGE_LAYOUT_RANGE_SIZE: - case VK_IMAGE_LAYOUT_MAX_ENUM: - unreachable("Invalid image layout."); - } - - unreachable("Invalid image layout."); -} - /** * This function determines the optimal buffer to use for a given * VkImageLayout and other pieces of information needed to make that |