/* * 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); }