From 921d1811ece439086aa238a6356a54d00f179e27 Mon Sep 17 00:00:00 2001 From: Steven Le Rouzic Date: Tue, 8 Apr 2025 23:18:47 +0200 Subject: Move the Vulkan loader --- hk21/vulkan_loader/BUILD.bazel | 21 ------------- hk21/vulkan_loader/api.hpp | 31 ------------------- hk21/vulkan_loader/fns.hpp | 47 ----------------------------- hk21/vulkan_loader/loader.cpp | 67 ------------------------------------------ 4 files changed, 166 deletions(-) delete mode 100644 hk21/vulkan_loader/BUILD.bazel delete mode 100644 hk21/vulkan_loader/api.hpp delete mode 100644 hk21/vulkan_loader/fns.hpp delete mode 100644 hk21/vulkan_loader/loader.cpp (limited to 'hk21/vulkan_loader') diff --git a/hk21/vulkan_loader/BUILD.bazel b/hk21/vulkan_loader/BUILD.bazel deleted file mode 100644 index 30a8770..0000000 --- a/hk21/vulkan_loader/BUILD.bazel +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright 2025 Steven Le Rouzic -# -# SPDX-License-Identifier: BSD-3-Clause - -cc_library( - name = "vulkan_loader", - hdrs = [ - "api.hpp", - ], - srcs = [ - "loader.cpp", - "fns.hpp", - ], - deps = [ - "//vendor/vulkan", - "@asl//asl/base", - "@asl//asl/types:status", - ], - visibility = ["//:__subpackages__"], - applicable_licenses = ["//:license"], -) diff --git a/hk21/vulkan_loader/api.hpp b/hk21/vulkan_loader/api.hpp deleted file mode 100644 index 00382e4..0000000 --- a/hk21/vulkan_loader/api.hpp +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright 2025 Steven Le Rouzic -// -// SPDX-License-Identifier: BSD-3-Clause - -#pragma once - -#include -#include - -#define VK_NO_STDDEF_H -#define VK_NO_STDINT_H -#define VK_NO_PROTOTYPES -#include - -#include "hk21/vulkan_loader/fns.hpp" - -#define FN(NAME) extern PFN_##NAME NAME; -VULKAN_GLOBAL_FNS -VULKAN_INSTANCE_FNS -VULKAN_DEVICE_FNS -#undef FN - -namespace vulkan_loader -{ - -asl::status load_global(PFN_vkGetInstanceProcAddr load_fn); -asl::status load_instance(PFN_vkGetInstanceProcAddr load_fn, VkInstance instance); -asl::status load_device(VkDevice device); - -} // namespace vulkan_loader - diff --git a/hk21/vulkan_loader/fns.hpp b/hk21/vulkan_loader/fns.hpp deleted file mode 100644 index 377b103..0000000 --- a/hk21/vulkan_loader/fns.hpp +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2025 Steven Le Rouzic -// -// SPDX-License-Identifier: BSD-3-Clause - -#define VULKAN_GLOBAL_FNS \ - FN(vkEnumerateInstanceVersion) \ - FN(vkCreateInstance) - -#define VULKAN_INSTANCE_FNS \ - FN(vkDestroyInstance) \ - FN(vkDestroySurfaceKHR) \ - FN(vkEnumeratePhysicalDevices) \ - FN(vkGetPhysicalDeviceProperties) \ - FN(vkGetPhysicalDeviceQueueFamilyProperties) \ - FN(vkCreateDevice) \ - FN(vkGetDeviceProcAddr) \ - FN(vkGetPhysicalDeviceSurfaceCapabilitiesKHR) \ - FN(vkGetPhysicalDeviceSurfaceFormatsKHR) \ - FN(vkGetPhysicalDeviceSurfacePresentModesKHR) \ - FN(vkGetPhysicalDeviceFeatures2) - -#define VULKAN_DEVICE_FNS \ - FN(vkDestroyDevice) \ - FN(vkGetDeviceQueue) \ - FN(vkCreateSwapchainKHR) \ - FN(vkDestroySwapchainKHR) \ - FN(vkGetSwapchainImagesKHR) \ - FN(vkAcquireNextImageKHR) \ - FN(vkQueuePresentKHR) \ - FN(vkCreateCommandPool) \ - FN(vkDestroyCommandPool) \ - FN(vkResetCommandPool) \ - FN(vkDeviceWaitIdle) \ - FN(vkAllocateCommandBuffers) \ - FN(vkResetCommandBuffer) \ - FN(vkFreeCommandBuffers) \ - FN(vkBeginCommandBuffer) \ - FN(vkEndCommandBuffer) \ - FN(vkQueueSubmit2) \ - FN(vkCreateSemaphore) \ - FN(vkDestroySemaphore) \ - FN(vkCmdPipelineBarrier2) \ - FN(vkCmdClearColorImage) \ - FN(vkCreateFence) \ - FN(vkDestroyFence) \ - FN(vkGetFenceStatus) - diff --git a/hk21/vulkan_loader/loader.cpp b/hk21/vulkan_loader/loader.cpp deleted file mode 100644 index 7b24979..0000000 --- a/hk21/vulkan_loader/loader.cpp +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2025 Steven Le Rouzic -// -// SPDX-License-Identifier: BSD-3-Clause - -#include "hk21/vulkan_loader/api.hpp" - -#define FN(NAME) PFN_##NAME NAME; -VULKAN_GLOBAL_FNS -VULKAN_INSTANCE_FNS -VULKAN_DEVICE_FNS -#undef FN - -asl::status vulkan_loader::load_global(PFN_vkGetInstanceProcAddr load_fn) -{ - (void)load_fn; - - bool has_errors = false; - -#define FN(NAME) \ - NAME = asl::bit_cast(load_fn(VK_NULL_HANDLE, #NAME)); \ - if (NAME == nullptr) \ - { \ - ASL_ASSERT(NAME != nullptr); \ - has_errors = true; \ - } -VULKAN_GLOBAL_FNS -#undef FN - - return has_errors ? asl::runtime_error("Couldn't load Vulkan global functions") : asl::ok(); -} - -asl::status vulkan_loader::load_instance(PFN_vkGetInstanceProcAddr load_fn, VkInstance instance) -{ - (void)load_fn; - - bool has_errors = false; - -#define FN(NAME) \ - NAME = asl::bit_cast(load_fn(instance, #NAME)); \ - if (NAME == nullptr) \ - { \ - ASL_ASSERT(NAME != nullptr); \ - has_errors = true; \ - } -VULKAN_INSTANCE_FNS -#undef FN - - return has_errors ? asl::runtime_error("Couldn't load Vulkan instance functions") : asl::ok(); -} - -asl::status vulkan_loader::load_device(VkDevice device) -{ - bool has_errors = false; - -#define FN(NAME) \ - NAME = asl::bit_cast(vkGetDeviceProcAddr(device, #NAME)); \ - if (NAME == nullptr) \ - { \ - ASL_ASSERT(NAME != nullptr); \ - has_errors = true; \ - } -VULKAN_DEVICE_FNS -#undef FN - - return has_errors ? asl::runtime_error("Couldn't load Vulkan device functions") : asl::ok(); -} - -- cgit