From 921d1811ece439086aa238a6356a54d00f179e27 Mon Sep 17 00:00:00 2001 From: Steven Le Rouzic Date: Tue, 8 Apr 2025 23:18:47 +0200 Subject: [PATCH] Move the Vulkan loader --- hk21/game/BUILD.bazel | 2 +- hk21/game/gpu.cpp | 2 +- hk21/vulkan/BUILD.bazel | 16 ++++++++++++++++ .../{vulkan_loader => vulkan/loader}/BUILD.bazel | 6 +++--- hk21/{vulkan_loader => vulkan/loader}/fns.hpp | 0 hk21/{vulkan_loader => vulkan/loader}/loader.cpp | 2 +- .../api.hpp => vulkan/loader/loader.hpp} | 8 ++------ hk21/vulkan/vulkan.hpp | 12 ++++++++++++ 8 files changed, 36 insertions(+), 12 deletions(-) create mode 100644 hk21/vulkan/BUILD.bazel rename hk21/{vulkan_loader => vulkan/loader}/BUILD.bazel (77%) rename hk21/{vulkan_loader => vulkan/loader}/fns.hpp (100%) rename hk21/{vulkan_loader => vulkan/loader}/loader.cpp (93%) rename hk21/{vulkan_loader/api.hpp => vulkan/loader/loader.hpp} (76%) create mode 100644 hk21/vulkan/vulkan.hpp diff --git a/hk21/game/BUILD.bazel b/hk21/game/BUILD.bazel index d784b70..0a571f3 100644 --- a/hk21/game/BUILD.bazel +++ b/hk21/game/BUILD.bazel @@ -17,7 +17,7 @@ cc_binary( "@asl//asl/types:option", "@asl//asl/containers:buffer", "@sdl3_windows//:sdl3", - "//hk21/vulkan_loader", + "//hk21/vulkan/loader", ], applicable_licenses = ["//:license"], ) diff --git a/hk21/game/gpu.cpp b/hk21/game/gpu.cpp index 3ea0da1..b9971fe 100644 --- a/hk21/game/gpu.cpp +++ b/hk21/game/gpu.cpp @@ -13,7 +13,7 @@ #include -#include "hk21/vulkan_loader/api.hpp" +#include "hk21/vulkan/loader/loader.hpp" // @Todo Make fences recyclable // @Todo Make command pool recyclable diff --git a/hk21/vulkan/BUILD.bazel b/hk21/vulkan/BUILD.bazel new file mode 100644 index 0000000..25cc0d6 --- /dev/null +++ b/hk21/vulkan/BUILD.bazel @@ -0,0 +1,16 @@ +# Copyright 2025 Steven Le Rouzic +# +# SPDX-License-Identifier: BSD-3-Clause + +cc_library( + name = "vulkan", + hdrs = [ + "vulkan.hpp", + ], + deps = [ + "//vendor/vulkan", + "@asl//asl/base", + ], + visibility = ["//:__subpackages__"], + applicable_licenses = ["//:license"], +) diff --git a/hk21/vulkan_loader/BUILD.bazel b/hk21/vulkan/loader/BUILD.bazel similarity index 77% rename from hk21/vulkan_loader/BUILD.bazel rename to hk21/vulkan/loader/BUILD.bazel index 30a8770..32e8f03 100644 --- a/hk21/vulkan_loader/BUILD.bazel +++ b/hk21/vulkan/loader/BUILD.bazel @@ -3,16 +3,16 @@ # SPDX-License-Identifier: BSD-3-Clause cc_library( - name = "vulkan_loader", + name = "loader", hdrs = [ - "api.hpp", + "loader.hpp", ], srcs = [ "loader.cpp", "fns.hpp", ], deps = [ - "//vendor/vulkan", + "//hk21/vulkan", "@asl//asl/base", "@asl//asl/types:status", ], diff --git a/hk21/vulkan_loader/fns.hpp b/hk21/vulkan/loader/fns.hpp similarity index 100% rename from hk21/vulkan_loader/fns.hpp rename to hk21/vulkan/loader/fns.hpp diff --git a/hk21/vulkan_loader/loader.cpp b/hk21/vulkan/loader/loader.cpp similarity index 93% rename from hk21/vulkan_loader/loader.cpp rename to hk21/vulkan/loader/loader.cpp index 7b24979..e5e73d0 100644 --- a/hk21/vulkan_loader/loader.cpp +++ b/hk21/vulkan/loader/loader.cpp @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: BSD-3-Clause -#include "hk21/vulkan_loader/api.hpp" +#include "hk21/vulkan/loader/loader.hpp" #define FN(NAME) PFN_##NAME NAME; VULKAN_GLOBAL_FNS diff --git a/hk21/vulkan_loader/api.hpp b/hk21/vulkan/loader/loader.hpp similarity index 76% rename from hk21/vulkan_loader/api.hpp rename to hk21/vulkan/loader/loader.hpp index 00382e4..e1147f4 100644 --- a/hk21/vulkan_loader/api.hpp +++ b/hk21/vulkan/loader/loader.hpp @@ -7,12 +7,8 @@ #include #include -#define VK_NO_STDDEF_H -#define VK_NO_STDINT_H -#define VK_NO_PROTOTYPES -#include - -#include "hk21/vulkan_loader/fns.hpp" +#include "hk21/vulkan/vulkan.hpp" +#include "hk21/vulkan/loader/fns.hpp" #define FN(NAME) extern PFN_##NAME NAME; VULKAN_GLOBAL_FNS diff --git a/hk21/vulkan/vulkan.hpp b/hk21/vulkan/vulkan.hpp new file mode 100644 index 0000000..0e3242b --- /dev/null +++ b/hk21/vulkan/vulkan.hpp @@ -0,0 +1,12 @@ +// Copyright 2025 Steven Le Rouzic +// +// SPDX-License-Identifier: BSD-3-Clause + +#pragma once + +#include + +#define VK_NO_STDDEF_H +#define VK_NO_STDINT_H +#define VK_NO_PROTOTYPES +#include