v3dv: Add a create_image_view helper for internal views
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16376>
This commit is contained in:
committed by
Marge Bot
parent
8510d5daa3
commit
f5e1b06622
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user