About Social Code
aboutsummaryrefslogtreecommitdiff
path: root/src/frygon/vulkan/fgvk_image_view.c
diff options
context:
space:
mode:
authorLucas Fryzek <lucas.fryzek@fryzekconcepts.com>2025-11-24 19:39:30 -0500
committerLucas Fryzek <lucas.fryzek@fryzekconcepts.com>2025-11-24 19:39:30 -0500
commitb5f3587df4048d2ba807721ff2faea8c8a43a93f (patch)
tree6913f730a41822b98fecd5e82b7cae46164fd9c0 /src/frygon/vulkan/fgvk_image_view.c
parent41c700fdbf1d79dfb571105ee93bfa46da6c8428 (diff)
Diffstat (limited to 'src/frygon/vulkan/fgvk_image_view.c')
-rw-r--r--src/frygon/vulkan/fgvk_image_view.c42
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);
+}