From ba351cea64d4b423888c400d28753b10580f8c51 Mon Sep 17 00:00:00 2001 From: Krishna Ayyalasomayajula Date: Thu, 1 Jan 2026 15:03:19 -0600 Subject: [PATCH] added vk-bootstrap --- .gitmodules | 3 +++ CMakeLists.txt | 24 ++++++++++++++---------- external/vk-bootstrap | 1 + src/sims/gradient_triangle.cpp | 1 + src/sims/gradient_triangle.hpp | 1 + 5 files changed, 20 insertions(+), 10 deletions(-) create mode 160000 external/vk-bootstrap create mode 100644 src/sims/gradient_triangle.cpp create mode 100644 src/sims/gradient_triangle.hpp diff --git a/.gitmodules b/.gitmodules index e5c2a0f..12ffe1a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -11,3 +11,6 @@ [submodule "external/VulkanMemoryAllocator"] path = external/VulkanMemoryAllocator url = https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator +[submodule "external/vk-bootstrap"] + path = external/vk-bootstrap + url = https://github.com/charles-lunarg/vk-bootstrap diff --git a/CMakeLists.txt b/CMakeLists.txt index 9ed7860..e89ff13 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,8 +1,8 @@ cmake_minimum_required(VERSION 3.20) -# ----------------------------- -# Compiler -# ----------------------------- +# ============================= +# Project / Compiler +# ============================= project(cube LANGUAGES C CXX) set(CMAKE_CXX_STANDARD 23) @@ -13,9 +13,9 @@ if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release) endif() -# ----------------------------- +# ============================= # Sources -# ----------------------------- +# ============================= file(GLOB_RECURSE CUBE_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/*.c @@ -27,9 +27,9 @@ target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) -# ----------------------------- +# ============================= # Compile definitions -# ----------------------------- +# ============================= target_compile_definitions(${PROJECT_NAME} PRIVATE VK_NO_PROTOTYPES VMA_STATIC_VULKAN_FUNCTIONS=0 @@ -37,9 +37,9 @@ target_compile_definitions(${PROJECT_NAME} PRIVATE VMA_VULKAN_VERSION=1003000 ) -# ----------------------------- +# ============================= # Warnings -# ----------------------------- +# ============================= if(CMAKE_CXX_COMPILER_ID MATCHES "Clang|GNU") target_compile_options(${PROJECT_NAME} PRIVATE -Wall @@ -65,6 +65,10 @@ target_link_libraries(${PROJECT_NAME} PRIVATE spdlog::spdlog_header_only) add_subdirectory(external/VulkanMemoryAllocator) target_link_libraries(${PROJECT_NAME} PRIVATE VulkanMemoryAllocator) +# ---- vk-bootstrap +add_subdirectory(external/vk-bootstrap) +target_link_libraries(${PROJECT_NAME} PRIVATE vk-bootstrap::vk-bootstrap) + # ---- SPIR-V stack (required by shaderc) add_subdirectory(external/spirv-headers) add_subdirectory(external/SPIRV-Tools) @@ -83,10 +87,10 @@ target_link_libraries(${PROJECT_NAME} PRIVATE shaderc_shared) # ============================= # System dependencies # ============================= - find_package(Vulkan REQUIRED) find_package(Threads REQUIRED) find_package(PkgConfig REQUIRED) + pkg_check_modules(LIBDRM REQUIRED libdrm) target_include_directories(${PROJECT_NAME} PRIVATE diff --git a/external/vk-bootstrap b/external/vk-bootstrap new file mode 160000 index 0000000..7028d6f --- /dev/null +++ b/external/vk-bootstrap @@ -0,0 +1 @@ +Subproject commit 7028d6f652fdca9da332b4b4df25860ae19302fb diff --git a/src/sims/gradient_triangle.cpp b/src/sims/gradient_triangle.cpp new file mode 100644 index 0000000..c2ab957 --- /dev/null +++ b/src/sims/gradient_triangle.cpp @@ -0,0 +1 @@ +#include "gradient_triangle.hpp" diff --git a/src/sims/gradient_triangle.hpp b/src/sims/gradient_triangle.hpp new file mode 100644 index 0000000..6f70f09 --- /dev/null +++ b/src/sims/gradient_triangle.hpp @@ -0,0 +1 @@ +#pragma once