Fix leaky abstractions

This commit is contained in:
2026-07-11 01:43:34 +01:00
parent 7bd1d9f701
commit 1c7a7f6c46
8 changed files with 543 additions and 425 deletions
+20 -4
View File
@@ -9,13 +9,29 @@ BUILDDIR := "build"
# Resolve VULKAN_SDK once via backtick
VK_SDK := `echo $VULKAN_SDK`
VENDOR_LIB := "/home/abdelrahman/Sources/programming/how-to-vulkan/vendor/lib"
VENDOR_INC := "vendor/include"
VENDOR_LIB := "vendor/lib"
VK_FLAGS := "-DVK_NO_PROTOTYPES -I" + VK_SDK + "/include -I" + VK_SDK + "/include/vma"
APP_INC := "-I" + VK_SDK + "/include -I" + VK_SDK + "/include/vma -I" + VK_SDK + "/include/slang -I/home/abdelrahman/Sources/programming/how-to-vulkan/vendor/include -Isrc"
VK_FLAGS := "-DVK_NO_PROTOTYPES -I" + VK_SDK + "/include -I" + VK_SDK + "/include/vma -I" + VENDOR_INC
APP_INC := "-I" + VK_SDK + "/include -I" + VK_SDK + "/include/vma -I" + VK_SDK + "/include/slang -I" + VENDOR_INC + " -Isrc"
# Build KTX from source
vendor:
mkdir -p vendor/ktx/build
cmake vendor/ktx -B vendor/ktx/build \
-D KTX_FEATURE_LOADTEST_APPS=OFF \
-D KTX_FEATURE_DOC=OFF \
-D CMAKE_EXPORT_COMPILE_COMMANDS=1 \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_INSTALL_PREFIX=$(pwd)/vendor \
-D CMAKE_CXX_STANDARD=17 \
-D CMAKE_CXX_FLAGS="-msse4.1" \
-G Ninja
cmake --build vendor/ktx/build --config Release
cmake --install vendor/ktx/build
# Build all objects, then link
build:
build: vendor
mkdir -p {{BUILDDIR}}
bear -- {{CXX}} -g -c -Wno-nullability-completeness {{VK_FLAGS}} \
src/prism/rhi/vulkan/profiles/vulkan_profiles.cpp \