Commit Graph

138 Commits

Author SHA1 Message Date
Andreas Süßenbach cb5783d49d
Add some explicit static_cast to the SharedHandles sample and the UniqueHandleDefaultArguments test. (#2370)
Set Version Tag / set-version-tag (push) Waiting to run Details
2025-11-25 17:05:24 +01:00
Andreas Süßenbach 36b276f0a2
Replace using free by using a std::vector (#2344) 2025-11-10 14:29:35 +01:00
Jan Kuhlmann b4d30a5fb5
CI: Added runner for Windows with Clang and Ninja (#2342)
* add windows ci testing clang and ninja

* attempt to use multi-config builds on msvc ci

* install deps for windows ci

* temporarily disable ci portions

* try clang-cl

* test x64 only

* try x64 for clang-cl

* specify clang-cl as C compiler

* attempt clang-cl with dep install

* ignore unused variable warning in sample02

* need to specify c compiler as glfw install is not being found

* try to ignore warning in standard clang fashion

* syntax fix

* cast procaddress to void* before final func type cast

* added more windows clang warning suppressions

* disable normal windows ci

* suppress warnings in raii samples

* suppress more warnings for tests

* more unused var suppressions for tests

* disable preinstall of deps in clang to prevent _ITERATOR_DEBUG_LEVEL mismatch

* suppress unused var warnings triggered in release mode

* add warning suppression to flags test

* fixed strided array proxy test

* fix structure chain test

* fix extension inspection test

* reenable all ci workflows
2025-11-10 14:29:09 +01:00
Andreas Süßenbach 878fb0d390
Add special command flavours for vkSetDebugUtilsObjectNameEXT and vkSetDebugUtilsObjectTagEXT (#2329) 2025-10-29 09:18:30 +01:00
Jan Kuhlmann aaf0cb61c4
CI: Reduce build times by reusing generated headers (#2254)
* reuse generated headers inbetween runs

* properly access env var

* fix windows compiler arg

* reintroduce ubuntu24 ci compilers

* fixed CXX_MODULES flag logic

* echoing build parameters, removing use of Ninja from windows CI

* fixed echo and temporarily disabled all but windows CI

* reenabled all ci

* compile glm, glfw and glslang once, fixed SPIRV include path

* remove usage of Ninja from windows ci (again)

* fixed glfw name to glfw3

* removed.. debug things

* remove dep install step from windows, enforce correct linking in utils

* compiling generators in debug mode without running them
2025-08-13 20:30:26 +02:00
Andreas Süßenbach c97b7ff82d
Minor code cleanup (#2253) 2025-08-12 09:06:23 +02:00
Jon Creighton c17f7f47cb
Fix for some drivers reporting maxImageCount as 0 (#2251) 2025-08-12 08:36:06 +02:00
Andreas Süßenbach cc01933661
Remove outdated flag VULKAN_HPP_SAMPLES_BUILD_ONLY_DYNAMIC (#2229) 2025-07-28 17:59:43 +02:00
Andreas Süßenbach a20b4d4438
Removed unused option INCLUDE_DIRS from makefiles. (#2204) 2025-07-01 15:59:53 +02:00
Andreas Süßenbach ce1ffedb70
Minor cleanup work on determining graphics and present queue family indices (#2129) 2025-04-08 09:35:52 +02:00
Andreas Süßenbach 053eb2d62c
Adjust build files to allow test builds without sample builds (#2107) 2025-03-18 13:47:01 +01:00
Ans 04727f6695
Fixed commenting (#2103)
* Fixed commenting

* Fixed commenting
2025-03-17 12:31:27 +01:00
Andreas Süßenbach 8f9db1bad6
Minor cleanup work (#2090) 2025-02-24 18:02:40 +01:00
Andreas Süßenbach d5f49e5a7b
Change using WIN32 to _WIN32 (#2032) 2025-01-06 14:20:22 +01:00
Andreas Süßenbach d5a18dc87e
Introduce vk-version of the funcpointers (#2020) 2024-12-12 09:46:53 +01:00
Andreas Süßenbach e80b3fae8a
Restrict commands taking an allocator as template argument to allocators of the correct data type (#1980) 2024-10-24 16:29:00 +02:00
Andreas Süßenbach 2af53173c8
Reshaped samples [RAII_]PhysicalDeviceProperties (#1961) 2024-09-26 09:14:35 +02:00
Bohdan Soproniuk dceddb7e31
Update the instance extensions list for WSI (#1875)
The VK_MVK_ios_surface and VK_MVK_macos_surface extensions have been
deprecated by the VK_EXT_metal_surface extension.
The VK_KHR_mir_surface extension has been removed from the Vulkan
specification and, therefore, should not be used.
2024-06-19 09:04:07 +02:00
Andreas Süßenbach 6604f5a1d9
Make generated headers resistant to missing definition of NOMINMAX for windows builds. (#1906) 2024-06-17 14:51:12 +02:00
Andreas Süßenbach 4557f02974
Extend vk::su::createInstance to also take a vk::InstanceCreateFlagBits. (#1888) 2024-06-04 16:35:52 +02:00
Andreas Süßenbach 2d42465f64
Minor cleanup on fence and event handling in two RAII-samples. (#1859) 2024-05-02 09:37:29 +02:00
Andrew H. Cox df42194eec
Fixed Validation Error for Zero MaxImageCount (#1844)
Correctly handle a zero max image count in VkSurfaceCapabilitiesKHR
which indicates no upper limit to the number of images in a swapchain.
Fixes validation error VUID-VkSwapchainCreateInfoKHR-minImageCount-01271
2024-04-11 08:44:50 +02:00
Shahbaz Youssefi d058397410
Add missing glslang headers (#1827) 2024-03-19 09:08:53 +01:00
Andreas Süßenbach 3e6fed9492
Introduce implicit cast operators for vk::UniqueHandles, vk::SharedHandles and vk::raii::Handles (#1771) 2024-01-16 13:48:53 +01:00
Andreas Süßenbach 33ea43b53f
Update submodule glslang to version 13.0.0 (#1700) 2023-10-17 12:41:14 +02:00
Ilya Doroshenko 5d0d3b7bd9
Shared Handles (#1619)
* stage 1: added shared handles and all traits

* moved deleter to the shared part, now Shared handle weights 2 pointers

* Fixed Destroy Function

* generated headers

* At least no errors.

TODO: get image overload of shared handle back
make an example

* fixed all SFINAE issues, moved image specialization

* Added a sample

* made better example, added specialization for swapchain, added shared handles to readme

* Major update:
Fixed all wishes
Made std::shared_ptr do heavy lifting
Reduced code complexity
Added ParentType to basic handles
Added put and put_native for cross-abi usage

* more readme

* safer release()
removed put() for now

* better synchronization
inspired by STL shared_ptr implementation

* removed test shared pointer

* added forward type for better interop with VMA
added parent checking

* fixed getParent()

* added non-deleting overloads for Queue, DisplayKHR and PhysicalDevice

* Shared non-destoyed type now have handles

* using constructors are made to comply standard

* fixed leak

* shared handles migrated to own header,
made module entries

* header is independent now

* rebased repo, updated the example

* fixed most of the stuff

* renamed parent of, added guide to make shared handles

* vulkansc

* moved destructor to shared handle traits

* resolved issues with CI

* more relaxed memory ordering for release operation

* trying to remove submodule

* renamed to destructorType

* suppressed function cast warning

* only GCC should be affected
2023-09-19 13:04:36 +02:00
Andreas Süßenbach d4704cce01
Make C++20 modules work with the defaultDispatchLoaderDynamic. (#1651)
* Make C++20 modules work with the defaultDispatchLoaderDynamic.

* Add vulkan_hpp_macros.hpp to list of installed files.

* Adjust the text on module in the readme.

* Rename module from vulkan to vulkan_hpp

* Adjust some comments.

* Add a little disclaimer to vulkan.cppm.
2023-09-07 15:20:10 +02:00
Andreas Süßenbach 17fa2b92f7
Resolve synchronization issue in [RAII_]Samples/InputAttachment. (#1644) 2023-08-24 08:32:15 +02:00
Andreas Süßenbach fee04df943
Resolve some more validation layer issues. (#1643) 2023-08-23 13:58:54 +02:00
Andreas Süßenbach d07d082af1
Resolve some validation layer warnings in some samples. (#1640) 2023-08-17 14:28:39 +02:00
Andreas Süßenbach a6b2199409
Change samples from resetting command buffers to resetting command pool (#1638) 2023-08-14 16:09:11 +02:00
Andreas Süßenbach 87936f9bc8
Resolve a validation layer warnings on destruction order of Image/Buffer and bound DeviceMemory. (#1636) 2023-08-08 13:40:56 +02:00
Andreas Süßenbach 4bc9d80d82
Fix validation layer warning on minImageCount of 2. (#1634) 2023-08-07 12:00:11 +02:00
Codotaku ce1aacec06
Update utils.cpp (#1625) 2023-07-19 15:33:22 +02:00
Andreas Süßenbach d8cd233010
Update in README.md (#1624) 2023-07-19 11:39:48 +02:00
Andreas Süßenbach 207031caa4
change calls to std::find, std::find_if, and std::find_if_not to functionally identical calls to std::any_of, std::all_of, and std::none_of, when appropriate (#1621) 2023-07-13 11:26:01 +02:00
Andreas Süßenbach 40e76b7c24
Cleanup in CMakeLists.txt (#1572) 2023-05-08 11:54:57 +02:00
Andreas Süßenbach e1d6ec8abf
Cleanup up on CMakeLists.txt (#1564) 2023-04-20 16:50:26 +02:00
Andreas Süßenbach bf8bee64e1
Mark all projects as C++-only. (#1554) 2023-04-05 09:50:26 +02:00
asuessenbach 556c0d3434 Introduce additional constructor for unions holding a fixed size array of data. 2022-11-24 08:59:50 +01:00
asuessenbach 5480d192f5 Refactor the CMakeLists for all the samples; use vulkan.hpp/vulkan_raii.hpp as precompiled header. 2022-08-10 15:29:28 +02:00
asuessenbach 06697b4442 Removed helper function createDebugUtilsMessengerEXT from utils.hpp as well. 2022-08-04 11:13:06 +02:00
asuessenbach 2611c34aa5 Minor cleanup in utils.cpp: remove helper function createDebugUtilsMessengerEXT. 2022-08-04 08:49:12 +02:00
asuessenbach e8bf9bed9a Move all the static_assertions from vulkan_handles.hpp and vulkan_structs.hpp into the new header vulkan_static_assertions.hpp 2022-08-03 11:53:57 +02:00
asuessenbach 056abda3e2 Reduce number of included headers 2022-07-27 16:39:37 +02:00
asuessenbach 3aae157e5b Move the vk::to_string functions into a separate header vulkan_to_string.hpp. 2022-07-26 11:19:42 +02:00
asuessenbach 527e52a1bd Introduce VULKAN_HPP_NO_TO_STRING to optionally remove the various vk::to_string functions.
Also extend the samples to hold some local version of the needed to_string functions in case VULKAN_HPP_NO_TO_STRING is defined.
2022-07-25 17:11:30 +02:00
Jinesi Yelizati 9748e47228
Speed up CI by using ninja and parallel build (#1347)
* chore(CI): speed up CI by using ninja and parallel build

* chore(CI): align compiler for c and cxx

* fix(samples): add dependency to generator

* fix(cmake): get rid of file glob

* chore(CI): use clang on mac

glfw don't support gcc on mac

* fix(sample): add depencency on build_vulkan_hpp

* fix(cmake): make sure every target in tests and samples link to utils
2022-07-07 10:22:21 +02:00
asuessenbach 9e4f6812fb Add CI on MacOS. 2022-06-21 14:48:56 +02:00
asuessenbach 0fb855a4a2 Resolve validation layer issues with some samples. 2022-05-02 11:36:36 +02:00