diff --git a/src/broadcom/vulkan/v3dv_image.c b/src/broadcom/vulkan/v3dv_image.c index cb0880370ff..5cb0237b5b5 100644 --- a/src/broadcom/vulkan/v3dv_image.c +++ b/src/broadcom/vulkan/v3dv_image.c @@ -491,13 +491,12 @@ v3dv_image_type_to_view_type(VkImageType type) } } -VKAPI_ATTR VkResult VKAPI_CALL -v3dv_CreateImageView(VkDevice _device, - const VkImageViewCreateInfo *pCreateInfo, - const VkAllocationCallbacks *pAllocator, - VkImageView *pView) +static VkResult +create_image_view(struct v3dv_device *device, + const VkImageViewCreateInfo *pCreateInfo, + const VkAllocationCallbacks *pAllocator, + VkImageView *pView) { - V3DV_FROM_HANDLE(v3dv_device, device, _device); V3DV_FROM_HANDLE(v3dv_image, image, pCreateInfo->image); struct v3dv_image_view *iview; @@ -562,6 +561,25 @@ v3dv_CreateImageView(VkDevice _device, return VK_SUCCESS; } +VkResult +v3dv_create_image_view(struct v3dv_device *device, + const VkImageViewCreateInfo *pCreateInfo, + VkImageView *pView) +{ + return create_image_view(device, pCreateInfo, NULL, pView); +} + +VKAPI_ATTR VkResult VKAPI_CALL +v3dv_CreateImageView(VkDevice _device, + const VkImageViewCreateInfo *pCreateInfo, + const VkAllocationCallbacks *pAllocator, + VkImageView *pView) +{ + V3DV_FROM_HANDLE(v3dv_device, device, _device); + + return create_image_view(device, pCreateInfo, pAllocator, pView); +} + VKAPI_ATTR void VKAPI_CALL v3dv_DestroyImageView(VkDevice _device, VkImageView imageView, diff --git a/src/broadcom/vulkan/v3dv_meta_copy.c b/src/broadcom/vulkan/v3dv_meta_copy.c index a3a0eb47cde..37377aa741a 100644 --- a/src/broadcom/vulkan/v3dv_meta_copy.c +++ b/src/broadcom/vulkan/v3dv_meta_copy.c @@ -2114,8 +2114,8 @@ texel_buffer_shader_copy(struct v3dv_cmd_buffer *cmd_buffer, }, }; VkImageView image_view; - result = v3dv_CreateImageView(_device, &image_view_info, - &cmd_buffer->device->vk.alloc, &image_view); + result = v3dv_create_image_view(cmd_buffer->device, + &image_view_info, &image_view); if (result != VK_SUCCESS) goto fail; @@ -4071,8 +4071,8 @@ blit_shader(struct v3dv_cmd_buffer *cmd_buffer, }, }; VkImageView dst_image_view; - result = v3dv_CreateImageView(_device, &dst_image_view_info, - &device->vk.alloc, &dst_image_view); + result = v3dv_create_image_view(device, &dst_image_view_info, + &dst_image_view); if (result != VK_SUCCESS) goto fail; @@ -4131,8 +4131,8 @@ blit_shader(struct v3dv_cmd_buffer *cmd_buffer, }, }; VkImageView src_image_view; - result = v3dv_CreateImageView(_device, &src_image_view_info, - &device->vk.alloc, &src_image_view); + result = v3dv_create_image_view(device, &src_image_view_info, + &src_image_view); if (result != VK_SUCCESS) goto fail; diff --git a/src/broadcom/vulkan/v3dv_private.h b/src/broadcom/vulkan/v3dv_private.h index f3f7e4f2195..0e2a375c2ef 100644 --- a/src/broadcom/vulkan/v3dv_private.h +++ b/src/broadcom/vulkan/v3dv_private.h @@ -633,6 +633,10 @@ struct v3dv_image_view { uint8_t texture_shader_state[2][V3DV_TEXTURE_SHADER_STATE_LENGTH]; }; +VkResult v3dv_create_image_view(struct v3dv_device *device, + const VkImageViewCreateInfo *pCreateInfo, + VkImageView *pView); + uint32_t v3dv_layer_offset(const struct v3dv_image *image, uint32_t level, uint32_t layer); struct v3dv_buffer {