mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 04:30:10 +01:00
vulkan: add init/finish helpers for vk_buffer_view
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24416>
This commit is contained in:
parent
9acbb197fb
commit
fc14988082
2 changed files with 33 additions and 10 deletions
|
|
@ -23,22 +23,19 @@
|
|||
|
||||
#include "vk_buffer_view.h"
|
||||
|
||||
#include "vk_alloc.h"
|
||||
#include "vk_buffer.h"
|
||||
#include "vk_device.h"
|
||||
#include "vk_format.h"
|
||||
|
||||
void *
|
||||
vk_buffer_view_create(struct vk_device *device,
|
||||
const VkBufferViewCreateInfo *pCreateInfo,
|
||||
const VkAllocationCallbacks *alloc,
|
||||
size_t size)
|
||||
void
|
||||
vk_buffer_view_init(struct vk_device *device,
|
||||
struct vk_buffer_view *buffer_view,
|
||||
const VkBufferViewCreateInfo *pCreateInfo)
|
||||
{
|
||||
VK_FROM_HANDLE(vk_buffer, buffer, pCreateInfo->buffer);
|
||||
struct vk_buffer_view *buffer_view;
|
||||
|
||||
buffer_view = vk_object_zalloc(device, alloc, size,
|
||||
VK_OBJECT_TYPE_BUFFER_VIEW);
|
||||
if (!buffer_view)
|
||||
return NULL;
|
||||
vk_object_base_init(device, &buffer_view->base, VK_OBJECT_TYPE_BUFFER_VIEW);
|
||||
|
||||
assert(pCreateInfo->sType == VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO);
|
||||
assert(pCreateInfo->flags == 0);
|
||||
|
|
@ -51,10 +48,32 @@ vk_buffer_view_create(struct vk_device *device,
|
|||
pCreateInfo->range);
|
||||
buffer_view->elements = buffer_view->range /
|
||||
vk_format_get_blocksize(buffer_view->format);
|
||||
}
|
||||
|
||||
void *
|
||||
vk_buffer_view_create(struct vk_device *device,
|
||||
const VkBufferViewCreateInfo *pCreateInfo,
|
||||
const VkAllocationCallbacks *alloc,
|
||||
size_t size)
|
||||
{
|
||||
struct vk_buffer_view *buffer_view;
|
||||
|
||||
buffer_view = vk_zalloc2(&device->alloc, alloc, size, 8,
|
||||
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
|
||||
if (!buffer_view)
|
||||
return NULL;
|
||||
|
||||
vk_buffer_view_init(device, buffer_view, pCreateInfo);
|
||||
|
||||
return buffer_view;
|
||||
}
|
||||
|
||||
void
|
||||
vk_buffer_view_finish(struct vk_buffer_view *buffer_view)
|
||||
{
|
||||
vk_object_base_finish(&buffer_view->base);
|
||||
}
|
||||
|
||||
void
|
||||
vk_buffer_view_destroy(struct vk_device *device,
|
||||
const VkAllocationCallbacks *alloc,
|
||||
|
|
|
|||
|
|
@ -56,6 +56,10 @@ struct vk_buffer_view {
|
|||
VK_DEFINE_NONDISP_HANDLE_CASTS(vk_buffer_view, base, VkBufferView,
|
||||
VK_OBJECT_TYPE_BUFFER_VIEW);
|
||||
|
||||
void vk_buffer_view_init(struct vk_device *device,
|
||||
struct vk_buffer_view *buffer_view,
|
||||
const VkBufferViewCreateInfo *pCreateInfo);
|
||||
void vk_buffer_view_finish(struct vk_buffer_view *buffer_view);
|
||||
void *vk_buffer_view_create(struct vk_device *device,
|
||||
const VkBufferViewCreateInfo *pCreateInfo,
|
||||
const VkAllocationCallbacks *alloc,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue