1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
/*
* Copyright © 2025 Lucas Francisco Fryzek
* SPDX-License-Identifier: MIT
*/
#include "fgvk_image_view.h"
#include "fgvk_device.h"
VKAPI_ATTR VkResult VKAPI_CALL
fgvk_CreateImageView(VkDevice _device,
const VkImageViewCreateInfo *pCreateInfo,
const VkAllocationCallbacks *pAllocator,
VkImageView *pView)
{
VK_FROM_HANDLE(fgvk_device, dev, _device);
struct fgvk_image_view *view;
view = vk_alloc2(&dev->vk.alloc, pAllocator, sizeof(*view), 8,
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
if (!view)
return vk_error(dev, VK_ERROR_OUT_OF_HOST_MEMORY);
vk_image_view_init(&dev->vk, &view->vk, pCreateInfo);
*pView = fgvk_image_view_to_handle(view);
return VK_SUCCESS;
}
VKAPI_ATTR void VKAPI_CALL
fgvk_DestroyImageView(VkDevice _device,
VkImageView imageView,
const VkAllocationCallbacks *pAllocator)
{
VK_FROM_HANDLE(fgvk_device, dev, _device);
VK_FROM_HANDLE(fgvk_image_view, view, imageView);
if (!view)
return;
vk_free2(&dev->vk.alloc, pAllocator, view);
}
|