diff options
| author | Lucas Fryzek <lucas.fryzek@fryzekconcepts.com> | 2025-11-24 19:39:30 -0500 |
|---|---|---|
| committer | Lucas Fryzek <lucas.fryzek@fryzekconcepts.com> | 2025-11-24 19:39:30 -0500 |
| commit | b5f3587df4048d2ba807721ff2faea8c8a43a93f (patch) | |
| tree | 6913f730a41822b98fecd5e82b7cae46164fd9c0 /src/frygon/vulkan/fgvk_image_view.c | |
| parent | 41c700fdbf1d79dfb571105ee93bfa46da6c8428 (diff) | |
WIPfrygon
Diffstat (limited to 'src/frygon/vulkan/fgvk_image_view.c')
| -rw-r--r-- | src/frygon/vulkan/fgvk_image_view.c | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/frygon/vulkan/fgvk_image_view.c b/src/frygon/vulkan/fgvk_image_view.c new file mode 100644 index 00000000000..2a029265c33 --- /dev/null +++ b/src/frygon/vulkan/fgvk_image_view.c @@ -0,0 +1,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); +} |