Commit Graph

2134 Commits

Author SHA1 Message Date
Piers Daniell bcc014018b Minor fixes 2025-02-21 14:27:15 -07:00
Piers Daniell 041a276730 Add type conversion operators to the structs
This improves compatibility with the Vulkan C API so applications can
easily use the vulkan_structs.hpp classes with the C API seamlessly.
2025-02-21 14:15:12 -07:00
Jan Kuhlmann 4c8fe92a96
CI: Attempt to fix build failure on windows (#2084)
* explicit flush before clangd-format execution

* scoped ofs attempt

* retrigger ci
2025-02-20 17:15:30 +01:00
Andreas Süßenbach 8ab6cb5d8b
Add some temporary debug output in CMakeLists.txt. (#2081) 2025-02-19 13:18:44 +01:00
Andreas Süßenbach 5f4583c500
Cleanup work on correctness checks (#2079) 2025-02-19 09:11:19 +01:00
Jan Kuhlmann 03f07338be
Suppress clang warning `-Wcast-function-type` for shared destroy (#2078)
* supress clang warning for shared destroy

* ignore demoted to -Wcast-function-type

* ignore warning only for clang13 and up

* only pop warning if previously pushed
2025-02-19 09:05:30 +01:00
Andreas Süßenbach ed5993af83
Revert MR #2075 (#2080) 2025-02-18 13:32:34 +01:00
Jan Kuhlmann 85036c964c
C++20 module: Hide to_string behind VULKAN_HPP_NO_TO_STRING (#2077)
* hide to_string behind VULKAN_HPP_NO_TO_STRING

* adjusted generated cppm
2025-02-18 08:20:17 +01:00
Jan Kuhlmann 74a2ce1e91
CMake: Offer multiple choices for Vulkan C headers (#2075)
* offer multiple choices for Vulkan C headers

* replaced redundant link
2025-02-18 08:15:37 +01:00
Yilong Li 9dbf676cdb
vulkan_handles: Remove the redundant semicolon after ctor definition (#2073)
Semicolons after in-class function definitions are redundant, and may
trigger the "-Wextra-semi" warning of compilers, for example:

* gcc: https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html#index-Wextra-semi
* clang: https://clang.llvm.org/docs/DiagnosticsReference.html#wextra-semi

This change removes the redundant semicolon in the code generator and
the generated hpp file.

Bug: https://fxbug.dev/378964821
2025-02-17 14:36:07 +01:00
Andreas Süßenbach 4dc27d82a4
Move lengthy template texts into snippet files. (#2072) 2025-02-13 10:56:11 +01:00
Jan Kuhlmann 7d7c25f9be
CMake: Added unified options for `VulkanHpp` and `VulkanHppModule` compile definitions (#2066)
* added compile definitions as cmake options

* use VulkanHpp dynamic dispatch setting for module

* adjusted comments

* adjusted dynamic loader tool option

* remove dynamic loader tool option

* removed non-boolean flags

* make VULKAN_HPP_DISPATCH_LOADER_DYNAMIC depend on VK_NO_PROTOTYPES

* added descriptions to options

* adjusted formatting

* fixed typo

* deprecated module-specific cmake flag VULKAN_HPP_CPP20_MODULE_DYNAMIC_DISPATCHER

* link to vulkan-1 on static dispatch loader

* typo fix

* only optionally find vulkan, warn in case it is missing
2025-02-13 07:56:23 +01:00
Andreas Süßenbach 0ff63e9dc6
Throw on clang_format failure; fix comment (#2070) 2025-02-11 09:35:35 +01:00
Jan Kuhlmann a854add3d8
README: Fixed sorting order for *_NO_TO_STRING (#2069) 2025-02-11 09:34:04 +01:00
Andreas Süßenbach c5c8642d2a
Make BreakBeforeConceptDeclarations a boolean for clang-format 14. (#2068) 2025-02-10 16:08:40 +01:00
Andreas Süßenbach 3e53a5804a
Add support for clang_format options version 18 (#2064) 2025-02-06 17:14:29 +01:00
Andreas Süßenbach 3ec3e1c8d1
Add support for clang_format options version 17 (#2063) 2025-02-06 13:20:09 +01:00
Andreas Süßenbach 3f2fe22281
Add support for clang_format options version 16. (#2062) 2025-02-05 13:44:36 +01:00
LEE KYOUNGHEON 8672aa4aaa
Export std::{tuple_size,tuple_element} for vk::StructureChain. (#2060)
* Export std::{tuple_size,tuple_element} for vk::StructureChain.

* Add separator
2025-02-05 08:47:13 +01:00
Andreas Süßenbach d9c7a3b836
Add links into https://registry.khronos.org/vulkan/specs/latest/man/html for relevant data types (#2061) 2025-02-04 11:13:58 +01:00
Andreas Süßenbach ad9104d2b4
Add an error check for struct members with their array size at the wrong position. (#2059) 2025-02-03 17:29:23 +01:00
github-actions[bot] 6b05ffe121
Update Vulkan-Headers to v1.4.307 (#2058)
Co-authored-by: GitHub <noreply@github.com>
2025-02-03 11:44:22 +01:00
Andreas Süßenbach 1bfa987bf4
Update namespace usage of DispatchLoaderDynamic, DispatchLoaderStatic, and DynamicLoader in the readme. (#2057) 2025-01-27 14:28:32 +01:00
github-actions[bot] bc11a75f32
Update Vulkan-Headers to v1.4.306 (#2055)
Co-authored-by: GitHub <noreply@github.com>
2025-01-27 10:21:23 +01:00
Jan Kuhlmann 4ff2cb7c95
CMake: Adding generator dependency to `VulkanHpp` interface target for propagation and linking it to other targets (#2054)
* moved generator-related setup into the generator build section

* move generators and VulkanHpp* targets in front of setup functions

* make VulkanHpp potentially dependant on the generators, propagating to targets linking to it

* add local vulkan dep to VulkanHpp and propagate this and generator deps to VulkanHppModule

* link against local Vulkan::Hpp for include setup

* fix generator dep target

* fixed VULKAN_HPP_GENERATOR_BUILD option

* move warning level func in front of generators

* added build_video_hpp as a dependency for VulkanHpp
2025-01-23 13:52:14 +01:00
Jan Kuhlmann 16bfa65a59
README: Fixing extension inspection typo and RAII-classes title format (#2052)
* Fixed README typo in extension inspection

* Bring RAII-classes title format in line with other titles
2025-01-22 08:39:26 +01:00
Jan Kuhlmann f8704c9a4e
CMake: Alias for c++20 modules target (#2048)
* created alias for cxx module target

* renamed Vulkan-Hpp to VulkanHpp akin to VulkanHppModule

* provide vk-hpp include dir to module target via interface target

* fixed indent
2025-01-22 08:26:32 +01:00
Andreas Süßenbach 8703963422
Adjust update-header-pr.yml to run with an arbitrary compiler on ubuntu-latest (#2051) 2025-01-21 22:46:52 +01:00
Andreas Süßenbach 2a19ddd7e4
Switch windows workflow from looping over C++ standards to one standard per job (#2050) 2025-01-21 12:21:07 +01:00
Andreas Süßenbach 6578bfcc88
Update Vulkan-Headers to v1.4.305 (#2049) 2025-01-21 10:53:23 +01:00
Jan Kuhlmann e7a8252006
CMake: Moving options below project declaration (#2047)
* move options below project declaration

* expand cmake version dep for c++20 modules

* default VULKAN_HPP_GENERATOR_BUILD to PROJECT_IS_TOP_LEVEL

* fixed format

* moved CMAKE_CXX_STANDARD

* only set cxx standard if top-level
2025-01-21 08:21:10 +01:00
Jan Kuhlmann ce439adae2
Isolating generator targets and creating header-only interface target (#2042)
* VULKAN_HPP_GENERATOR_BUILD option for cmake targets

* Vulkan-Hpp target aliased as Vulkan::Hpp
2025-01-20 08:45:29 +01:00
Andreas Süßenbach 9790cf00ed
Add support for one more value for attribute <bits> in format component. (#2044) 2025-01-15 08:29:52 +01:00
Andreas Süßenbach 03c775461b
Use VULKAN_HPP_NO_CONSTRUCTORS and VULKAN_HPP_NO_SETTERS as documented in the readme. (#2041) 2025-01-09 15:45:43 +01:00
Andreas Süßenbach 8ca59e086c
Update Vulkan-Headers to v1.4.304 (#2039) 2025-01-09 12:33:24 +01:00
Andreas Süßenbach ed47b1d9ad
Remove special assertion on eFreeDescriptorSet in function Device::createDescriptorPool (#2038) 2025-01-08 19:47:53 +01:00
Andreas Süßenbach 752778463e
Parallelize the generation of the files. (#2035) 2025-01-08 11:53:08 +01:00
Andreas Süßenbach 264d35b58c
Introduce vk::PFN_VoidFunction as a replacement of PFN_vkVoidFunction (#2033) 2025-01-06 18:04:33 +01:00
Andreas Süßenbach d5f49e5a7b
Change using WIN32 to _WIN32 (#2032) 2025-01-06 14:20:22 +01:00
Andreas Süßenbach 0d89df69b3
Export the C-type VkGeometryInstanceFlagsKHR in vulkan.cppm. (#2023) 2025-01-06 10:16:51 +01:00
Andreas Süßenbach 1055cb5e78
Add funcpointer types to vulkan.cppm. (#2022) 2024-12-12 15:20:37 +01:00
Andreas Süßenbach d5a18dc87e
Introduce vk-version of the funcpointers (#2020) 2024-12-12 09:46:53 +01:00
Andreas Süßenbach 07cdcb909d
Adjust namespace of compare operators on vk-handles. (#2013) 2024-12-11 09:33:07 +01:00
Andreas Süßenbach 22a2be853c
Export detail::getDispatchLoaderStatic in vulkan.cppm (#2008) 2024-12-11 09:28:49 +01:00
Andreas Süßenbach bdd57b78fa
Include vulkan_to_string.hpp in vulkan.cppm (#2017) 2024-12-10 17:46:29 +01:00
Andreas Süßenbach a29adc0147
Include vulkan.hpp, instead of vulkan_enums.hpp in vulkan_to_string.hpp. (#2016) 2024-12-10 17:44:47 +01:00
Andreas Süßenbach 3e09217b97
Add some comment on windows workflow (#2014) 2024-12-09 12:17:11 +01:00
Andreas Süßenbach c2c49478e9
Re-add compare operators of vk-handles, needed for 32bit builds. (#2010) 2024-12-06 09:56:10 +01:00
github-actions[bot] 20ecea9574
Update Vulkan-Headers to v1.4.303 (#2006)
Co-authored-by: GitHub <noreply@github.com>
2024-12-04 10:30:35 +01:00
Andreas Süßenbach ab53607248
Remove building for vulkansc from VULKAN_HPP_RUN_GENERATOR (#2005) 2024-12-03 11:38:27 +01:00