Commit Graph

1005 Commits

Author SHA1 Message Date
Andreas Süßenbach 2b35399a73
Remove unnecessary static_casts on vk::Results. (#1822) 2024-03-06 08:54:20 +01:00
github-actions[bot] 6fb8def272
Update Vulkan-Headers to v1.3.279 (#1819)
Co-authored-by: GitHub <noreply@github.com>
2024-03-04 13:52:45 +01:00
Andreas Süßenbach 29723f90a1
Update Vulkan-Headers to v1.3.278 (#1810) 2024-02-19 22:00:57 +01:00
Nikolai Siukosev f1a38ff729
Disabled `vk::raii::exchange()` implementation for C++14 or newer (#1803)
* Disabled `vk::raii::exchange()` implementation for C++14 or newer. Replaced with `using std::exchange`

* Regenerated raii headers
2024-02-15 08:35:02 +01:00
Andreas Süßenbach 982afd2929
Special handling for command vkGetDeviceFaultInfoEXT: changed return type from ResultValue to ResultValueType (#1800) 2024-02-08 15:30:36 +01:00
Andreas Süßenbach 7a048a0cc7
Fix issue with vk::StructureChain::assign: use auto, instead of void *, to also support structures with const void * as type for pNext. (#1799) 2024-02-08 12:32:57 +01:00
Andreas Süßenbach c74c22fb77
Use some special handling for struct vk::DeviceFaultInfoEXT (#1796) 2024-02-08 11:40:27 +01:00
Andreas Süßenbach 9a8dda30d5
add missing include files in vulkan_video.hpp (#1795) 2024-02-06 21:10:30 +01:00
Andreas Süßenbach a3ecb02131
Downgrade missing attribute "type" in enums in video.xml from error to warning (#1792) 2024-02-06 13:17:39 +01:00
Andreas Süßenbach 9fa4459c50
Add special handling for call sequence in commands for vkGetDeviceFaultInfoEXT (#1790) 2024-02-05 15:44:40 +01:00
github-actions[bot] c5c1994f79
Update Vulkan-Headers to v1.3.277 (#1778)
Co-authored-by: GitHub <noreply@github.com>
2024-02-05 12:15:13 +01:00
github-actions[bot] d4b36b8223
Update Vulkan-Headers to v1.3.276 (#1776)
Co-authored-by: GitHub <noreply@github.com>
2024-01-29 14:01:04 +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 e4ea505027
Simplified typename checks on allocator template types (#1770) 2024-01-10 13:30:04 +01:00
Andreas Süßenbach 9eab68eb5d
Add function pointer check when using DispatchLoaderDynamic. (#1769) 2024-01-08 12:19:28 +01:00
github-actions[bot] 1a24b01583
Update Vulkan-Headers to v1.3.275 (#1768)
Co-authored-by: GitHub <noreply@github.com>
2024-01-08 10:21:39 +01:00
Andreas Süßenbach d2f13e2f7f
Include <memory> in vulkan_raii.hpp to have std::unique_ptr available. (#1762) 2024-01-03 11:49:10 +01:00
Juan Ramos d684b72b3e
Check for libvulkan.1.dylib (#1755) 2024-01-02 13:56:05 +01:00
Andreas Süßenbach 197017ef20
Add support of noexcept-path for vk::raii classes (#1742) 2024-01-02 13:47:01 +01:00
github-actions[bot] 2cc4dbdbca
Update Vulkan-Headers to v1.3.274 (#1754)
Co-authored-by: GitHub <noreply@github.com>
2024-01-02 13:10:46 +01:00
github-actions[bot] 170a000750
Update Vulkan-Headers to v1.3.273 (#1748)
Co-authored-by: GitHub <noreply@github.com>
2023-12-13 13:32:34 +01:00
github-actions[bot] e621db0771
Update Vulkan-Headers to v1.3.272 (#1743)
Co-authored-by: GitHub <noreply@github.com>
2023-12-04 12:31:47 +01:00
GitHub f28803081e Update Vulkan-Headers to v1.3.271 2023-11-28 05:51:00 -08:00
Patrick O'Connell 6453966415
Add missing includes (#1730) 2023-11-16 08:55:30 +01:00
Andreas Süßenbach e86419f738
Include headers holding feature-test macros in vulkan_hpp_macros.hpp. (#1727) 2023-11-14 16:50:21 +01:00
Andreas Süßenbach 9bece47d4c
Fix ArrayWrapper1D::operator std::string() and ArrayWrapper1D::operator std::string_view() to return a string/string_view of the correct length. (#1725) 2023-11-14 16:49:01 +01:00
github-actions[bot] 4cb522cc51
Update Vulkan-Headers to v1.3.270 (#1724)
Co-authored-by: GitHub <noreply@github.com>
2023-11-13 15:03:17 +01:00
Andreas Süßenbach 1620b8b0bf
Add missing include guard to vulkan_video.hpp (#1723) 2023-11-09 11:29:46 +01:00
Andreas Süßenbach 2e5e845bb9
Add C++23 to the workflow. (#1713) 2023-11-02 08:54:14 +01:00
Sharadh Rajaraman 26664a38a4
Add extension macros as constexpr (#1710)
* Initial implementation

* Reordered prefixes, added SPEC_VERSION macro

- And added using statements to module file

* Actually add changes to .hpp and .cppm files

* Fixes for extension constexpr macros

- renamed some vars
- simplified logic and control flow

* Grouped by extension name rather than macro guards

- And added titles to all extension constexprs

* Syntax changes

- Removed the structured binding and fixed asserts
- Used C++20 functions
- Added another assert to check that extension and specversion macros exist

* Remove `std::ranges` usage
2023-10-26 14:59:13 +02:00
github-actions[bot] 9c15a1e1ef
Update Vulkan-Headers to v1.3.269 (#1707)
Co-authored-by: GitHub <noreply@github.com>
2023-10-23 13:58:24 +02:00
Andreas Süßenbach 33ea43b53f
Update submodule glslang to version 13.0.0 (#1700) 2023-10-17 12:41:14 +02:00
Andreas Süßenbach bab0e249f2
Improve implicit conversion operators of vk::ArrayWrapper1D on char type; added constructors from std::string and std::string_view (#1698) 2023-10-17 08:52:54 +02:00
Andreas Süßenbach 962979c679
Identify delete commands starting with "vkRelease" (#1697) 2023-10-16 16:01:35 +02:00
github-actions[bot] d2134fefe2
Update Vulkan-Headers to v1.3.268 (#1696)
Co-authored-by: GitHub <noreply@github.com>
2023-10-16 12:10:45 +02:00
Andreas Süßenbach c8cf030fe9
Add FlagBits type as required if it is not listed where the corresponding Flags type is required (#1689) 2023-10-10 21:54:36 +02:00
Anton Shangareev b961a1a4c2
Fix C++20 module build with -DVULKAN_HPP_NO_SMART_HANDLE (#1678)
* Move SharedHandle and UniqueHandle under correct preprocessor guard in .cppm

* Fix VulkanHppGenerator
2023-10-09 12:25:01 +02:00
github-actions[bot] d8d8b53a31
Update Vulkan-Headers to v1.3.267 (#1681)
Co-authored-by: GitHub <noreply@github.com>
2023-10-09 10:15:08 +02:00
Andreas Süßenbach f76ce52df5
Introduce using CppType type-trait for raii-classes, add two helper functions to filter the cpp-types out of a vector of raii-types. (#1672) 2023-10-05 15:19:16 +02:00
Andreas Süßenbach f97633a220
Extend command generation to support not returning some return stuff and not templatizing a void pointer. (#1666) 2023-10-02 14:57:52 +02:00
Andreas Süßenbach eccf541cd4
Add support of hex numbers for enum values (#1671) 2023-10-02 14:56:27 +02:00
github-actions[bot] 7b70ce4831
Update Vulkan-Headers to v1.3.266 (#1670)
Co-authored-by: GitHub <noreply@github.com>
2023-10-02 10:43:10 +02:00
Andreas Süßenbach f3cdc24a13
Remove clang++12 from the Ubuntu CI. (#1669) 2023-09-28 10:32:26 +02:00
github-actions[bot] c0fa16710b
Update Vulkan-Headers to v1.3.265 (#1665)
Co-authored-by: GitHub <noreply@github.com>
2023-09-27 09:30:15 +02:00
Andreas Süßenbach f1b8af1157
Reduced listing of unused VkStructureType value from error to warning. (#1664) 2023-09-26 15:05:54 +02:00
Andreas Süßenbach 37b50fa9ef
Revert "Update Vulkan-Headers to v1.3.265 (#1661)" (#1662)
This reverts commit 205758299b.
2023-09-25 15:28:32 +02:00
Andreas Süßenbach 205758299b
Update Vulkan-Headers to v1.3.265 (#1661) 2023-09-25 11:56:48 +02:00
Andreas Süßenbach 128261aa45
Add missing header in vulkan.cppm. (#1659) 2023-09-19 17:40:35 +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 d60453f6ea
Introduce hard-coded default values for some structure members. (#1658) 2023-09-19 12:05:06 +02:00
Andreas Süßenbach 39c8c02de0
Make the tag on constants uppercase. (#1657) 2023-09-18 18:03:18 +02:00
Andreas Süßenbach 9004069b9b
Move Flags<> and FlagTraits<> from vulkan.hpp to vulkan_enums.hpp (#1654) 2023-09-07 18:42:46 +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
Mike Gorchak f51dac9f18
Switch __QNXNTO__ macro check to __QNX__ (#1646)
During last 23 years the QNX Neutrino microkernel was active,
__QNXNTO__ macro belongs to it. Now QNX Muon microkernel is
under development, so __QNX__ macro covers both versions:
Neutrino and Muon.

First public announce of QNX Muon was here: https://blogs.blackberry.com/en/2023/04/get-in-the-sdv-podcast-from-blackberry-season-2-episode-3
2023-08-30 12:26:18 +02:00
Andreas Süßenbach 23606b20f7
Guard vk::raii names in vulkan.cppm just as in vulkan_raii.hpp. (#1650) 2023-08-28 13:30:00 +02:00
github-actions[bot] ed0b00e095
Update Vulkan-Headers to v1.3.262 (#1647)
Co-authored-by: GitHub <noreply@github.com>
2023-08-28 11:05:58 +02:00
Andreas Süßenbach ef0dbd602b
Correct includes in vulkansc-headers. (#1645) 2023-08-28 10:21:34 +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 57d54a0ba6
Introduce a helper function to dynamically map from vk::ObjectType to vk::DebugReportObjectTypeEXT. (#1639) 2023-08-16 08:37:43 +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
github-actions[bot] 3d27c1736a
Update Vulkan-Headers to v1.3.261 (#1633)
Co-authored-by: GitHub <noreply@github.com>
2023-08-07 10:44:04 +02:00
github-actions[bot] 68052d9343
Update Vulkan-Headers to v1.3.260 (#1629)
Co-authored-by: GitHub <noreply@github.com>
2023-07-31 13:37:47 +02:00
Andreas Süßenbach b988e54dad
Sort constants by feature and extension. (#1628) 2023-07-26 22:12:40 +02:00
github-actions[bot] 48b4b6f985
Update Vulkan-Headers to v1.3.259 (#1626)
Co-authored-by: GitHub <noreply@github.com>
2023-07-24 10:39:52 +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 069c3b875e
Introduce VideoHppGenerator. (#1618) 2023-07-11 15:39:17 +02:00
github-actions[bot] 23d6bf01e2
Update Vulkan-Headers to v1.3.257 (#1617)
Co-authored-by: GitHub <noreply@github.com>
2023-07-10 11:45:53 +02:00
Sharadh Rajaraman f4abba455e
Bug fixes for `vulkan.cppm` (#1616)
* Bug fixes for C++20 module

- Removed nested `export` keyword for `vk::raii` namespace in C++ module file
- Fixed macro in `vulkan.cppm` for `vk::DynamicLoader`: changed from `VULKAN_HPP_DYNAMIC_LOADER_TOOL` to `VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL`  
- Moved VulkanHppModule declaration before generator
- Fixed `CMakeLists.txt` for `Cpp20Modules` executable target

* Use `VULKAN_HPP_CONSTEXPR_INLINE` for constants in `vulkan.hpp`

- Added VULKAN_HPP_CONSTEXPR_INLINE macro definition
- Allow external linkage for these constants in C++17 and later
2023-07-10 08:46:50 +02:00
Andreas Süßenbach d748663707
Undef True/False in case they are defined and introduce some constexpr True/False to replace them. (#1610) 2023-07-03 14:34:21 +02:00
github-actions[bot] c115fd1ec6
Update Vulkan-Headers to v1.3.256 (#1609)
Co-authored-by: GitHub <noreply@github.com>
2023-07-03 12:07:37 +02:00
Andreas Süßenbach 2613539ff4
Change move assignment operators of vk::raii handles from using std::exchange to using std::swap (#1607) 2023-06-28 17:03:08 +02:00
Sharadh Rajaraman 6c1996f068
Add C++20 module interface file and tests (#1582)
* feat: exported vk::raii types in vulkan.ixx, with a small test

* feat: *almost* complete vulkan.ixx; missing functions in vulkan_funcs.hpp and constexpr auto defines

* Exported free functions in `vulkan_funcs.hpp` in `vulkan.ixx`

* Completed vulkan.ixx

Exported all types, structs, functions; need to handle anonymous namespace and getDispatchLoaderStatic()

* Moved `vk::anon-namespace::throwResultException` to `vk::detail::throwResultException` to solve linking errors

* Made `vk::getDispatchLoaderStatic` not `static`

`static`in namespace/global scope has to do with internal/external linkage, and not lifetime

* Fixed debug assert fail in `generateCppModuleStructUsings`

* Removed references to `.cppm`

* Formatting and versioning changes

- CMake version handling simplified
- vulkan.ixx includes new structs from new versions
- vulkan.hpp and vulkan_raii.hpp reformatted with clang-format 14

* Removed extraneous includes

- std::optional -> std::string::empty
- std::filesystem was unused

* Fixed constexpr function and value generation
- 'c' prefix removed
- Constants casing fixed
- Types for constants fixed
- Constants assigned to macros
- Ordering of constants and consteval functions fixed

* Moved constexprs to `vulkan.hpp`

- Added corresponding `using` statements to `vulkan.ixx`
- Changed `consteval auto(auto)` functions into templated SFINAE `constexpr` functions

* Formatting, signposting, misc fixes

- Added newlines around macro guards
- Added signposting comments for relevant groups of `using`-statements in `vulkan.ixx`
- Guarded createInstanceUnique with macro guard
- Use m_handles.at("").commands for Funcs

* Changed module file extension to `.cppm`

- It follows the rest of the project convention; `ixx` looks really weird next to `.hpp` and `.cpp`
- CMake transparently handles any extension anyway

* Added `VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE` to `vulkan.cppm`

* Added format traits and extension inspections

- Straightforward, since everything is hard-coded

* Added documentation about Vulkan-Hpp C++ module

- Compiler requirements
- CMake compilation
- Command-line examples

* Added vulkan_hash.hpp

- No need for `using`, since all declarations are template specialisations of existing `std` objects

* Documentation and comment fixes

- Removed extraneous CMake version comments
- Documentation about default dynamic dispatcher with the module
- Comment updates in the source code

* Moved constexpr defines and using statements 

- Moved to after resultUsings in both vulkan.hpp and vulkan.cppm
- Also split up constexprDefinesAndUsings
- Used const_cast for constexprDefines()

* Used std::string instead of std::stringstream

- Some changes also in previous commit
- Also removed overly-clever ranges algorithms

* Simplified protection generation

- Removed `generateNotProtection`
- Added optional `bool` parameter to `generateProtection` for `#if !defined( ... )`

* Simplified Cpp20Modules CMakeLists

- Made C++ standard and libraries into parameters
- Removed FindVulkan call; already done

* `constexpr` generation fixed

- Made all generating functions `const`
- Removed typos and extra comments
- Extracted out filtering functionality into separate functions

* Simplified defines partition generation

- Added `DefinesPartition` struct as a member variable
- Added non-const function to write to the above in `readTypeDefines`
- Removed previous implementation that made many copies

* Added `generateUsingsAndProtection` lambda to RAII name generation

* Moved around `partitionDefines` to make more sense

- called once at the end of the constructor
- edited comments

* Updated headers to 1.3.255

* Removed std::ranges and ranges view adaptors

- CI isn't passing with them

* Fixed constexpr functions for C++11 and C++14

- Removed `enable_if_t` and `is_integral_v` 
- Changed `auto` return type into `uint32_t`

---------

Co-authored-by: Sharadh Rajaraman <r.sharadh@yahoo.com.sg>
2023-06-28 14:10:51 +02:00
Andreas Süßenbach 5d8c550b0d
Mark vk::ResultValue::asTuple() & as deprecated, introduce vk::ResultValue::asTuple() && (#1605) 2023-06-27 11:31:29 +02:00
github-actions[bot] 3d95b910da
Update Vulkan-Headers to v1.3.255 (#1604)
Co-authored-by: GitHub <noreply@github.com>
2023-06-26 14:12:49 +02:00
Andreas Süßenbach 389d1250cd
Add specializations of std::tuple_element and std::tuple_size for vk::StructureChain. (#1602) 2023-06-22 14:02:39 +02:00
Andreas Süßenbach 13808e5875
Introduce operator==() and operator!=() to compare vk-handles with nullptr. (#1600) 2023-06-22 09:07:26 +02:00
Andreas Süßenbach 98d2b53258
Fix some formatting. (#1599) 2023-06-21 13:33:29 +02:00
Andreas Süßenbach 397ffad84a
Fix defines in workflow files to enable compilation of tests and samples in CI. (#1595) 2023-06-20 14:43:35 +02:00
Andreas Süßenbach 9f89f760a6
Update Vulkan-Headers to v1.3.254 (#1596) 2023-06-19 15:02:19 +02:00
Andreas Süßenbach c55cf16397
Fix wrong usage of 'structureChains' in generating functions returning a StructureChain and a vector of data. (#1594) 2023-06-19 12:46:04 +02:00
Andreas Süßenbach bc19e479f9
Fix determination of StructureChainAllocater usage for returned parameters. (#1591) 2023-06-13 14:24:10 +02:00
GitHub 0ab2f4a18a Update Vulkan-Headers to v1.3.253 2023-06-11 16:53:55 +02:00
GitHub 18bce4a642 Update Vulkan-Headers to v1.3.252 2023-06-03 05:57:43 -07:00
GitHub 9c3fb4f8df Update Vulkan-Headers to v1.3.251 2023-05-30 02:36:42 -07:00
Andreas Süßenbach 523491a7df
Extent extension dependency inspection to allow multiple sets of dependencies per version. (#1578) 2023-05-17 10:23:27 +02:00
github-actions[bot] d4d0ac4859
Update Vulkan-Headers to v1.3.250 (#1574)
Co-authored-by: GitHub <noreply@github.com>
2023-05-08 11:07:25 +02:00
Andreas Süßenbach f618b6bd5d
Cleanup work on enum value handling. (#1573) 2023-05-04 13:35:50 +02:00
github-actions[bot] 4e3e3e026d
Update Vulkan-Headers to v1.3.249 (#1571)
Co-authored-by: GitHub <noreply@github.com>
2023-05-02 13:31:35 +02:00
Andreas Süßenbach 6bf5c311b2
Add support for a new class of functions (#1570)
plus refactor returnType generation
2023-04-26 10:56:57 +02:00
Andreas Süßenbach 95c622a64f
Extend support of some special type of functions. (#1567) 2023-04-24 18:06:06 +02:00
github-actions[bot] f06c4aa1d3
Update Vulkan-Headers to v1.3.248 (#1565)
Co-authored-by: GitHub <noreply@github.com>
2023-04-24 11:04:14 +02:00
github-actions[bot] 3bcbb39802
Update Vulkan-Headers to v1.3.247 (#1560)
Co-authored-by: GitHub <noreply@github.com>
2023-04-17 11:55:11 +02:00
Andreas Süßenbach 3427b0039b
Introduce overload of getExtensionDepends to get availability and dependencies by vulkan version. (#1559) 2023-04-12 11:48:59 +02:00
Andreas Süßenbach 9de0959474
Introduce extension inspection function vk::getExtensionDepends. (#1558) 2023-04-11 17:49:02 +02:00
Andreas Süßenbach d1d80ae723
Introduce extension inspection functions get[Device|Instance|Deprecated|Promoted|Obsoleted]Extension; renamed some of the previous extension inspection functions (#1556) 2023-04-11 09:14:50 +02:00
Andreas Süßenbach a4841bc2f0
Add new extension inspection functions getExtensionObsoletedBy() and isExtensionObsoleted() (#1555) 2023-04-05 13:37:34 +02:00
Andreas Süßenbach be1bb7645f
Add new extension inspection functions getExtensionPromotedTo() and isExtensionPromoted() (#1553) 2023-04-04 10:45:15 +02:00
Andreas Süßenbach 678295aa75
Update Vulkan-Headers to v1.3.246 (#1551) 2023-04-03 13:29:44 +02:00
Andreas Süßenbach 91a92c6c5f
Add functions isExtensionDeprecated() and getExtensionDeprecatedBy() to extension_inspection. (#1547) 2023-03-30 13:25:09 +02:00
Andreas Süßenbach 2175530fd0
Improved tokenizing of extension attribute "depends" (#1546) 2023-03-29 13:33:42 +02:00
Andreas Süßenbach 4420e1f91e
First set of extension inspection helper functions: isDeviceExtension and isInstanceExtension (#1545) 2023-03-28 17:33:11 +02:00
Andreas Süßenbach 9d5220db12
Extend default case in throwResultException to also get the actual message. (#1544) 2023-03-27 12:31:14 +02:00
github-actions[bot] beb3f6f35e
Update Vulkan-Headers to v1.3.245 (#1540)
Co-authored-by: GitHub <noreply@github.com>
2023-03-27 09:46:47 +02:00
Andreas Süßenbach a11116394a
Simplified and corrected structure alias handling. (#1538) 2023-03-21 11:22:48 +01:00
github-actions[bot] 1bd3877dcc
Update Vulkan-Headers to v1.3.244 (#1535)
Co-authored-by: GitHub <noreply@github.com>
2023-03-20 10:03:08 +01:00
github-actions[bot] 2acce33951
Update Vulkan-Headers to v1.3.243 (#1531)
Co-authored-by: GitHub <noreply@github.com>
2023-03-13 10:38:56 +01:00
Andreas Süßenbach f4b679c7e7
First step in generalizing handling of attribute "altLen". (#1528) 2023-03-09 10:04:33 +01:00
Andreas Süßenbach 9bee68b723
Adjust name of included vulkan header. (#1527) 2023-03-08 10:10:54 +01:00
Andreas Süßenbach da4ab05a14
Adjust include snippet of vulkan[sc].hpp to actually use vulkan[sc]. (#1526) 2023-03-07 17:32:10 +01:00
Andreas Süßenbach ae07aa7254
First version to support both, "vulkan" and "vulkansc". (#1524)
The files set generated is controlled by command line argument -api [vulkan|vulkansc]
2023-03-07 08:23:14 +01:00
Andreas Süßenbach 31554d2aca
Simplify enum value alias handling. (#1523)
* Simplify enum value handling.

* Simplified enum value generation
2023-03-06 08:37:40 +01:00
Andreas Süßenbach 9e66a8886a
Refactor reading procedures (#1521) 2023-03-01 10:17:02 +01:00
github-actions[bot] c499dd0f79
Update Vulkan-Headers to v1.3.242 (#1520)
Co-authored-by: GitHub <noreply@github.com>
2023-02-27 13:35:15 +01:00
github-actions[bot] 3853394ffa
Update Vulkan-Headers to v1.3.241 (#1516)
Co-authored-by: GitHub <noreply@github.com>
2023-02-21 11:20:28 +01:00
Andreas Süßenbach 71acf3515b
Change requiredIn in TypeData from std::string to std::set<std::string> (#1514)
+ some member data renaming
2023-02-20 20:01:34 +01:00
Andreas Süßenbach 00eee2ef0f
Change referencedIn in CommandData from std::string to std::set<std::string> (#1512) 2023-02-20 15:58:14 +01:00
Andreas Süßenbach ab08f20c01
Sort handle classes by feature and extension. (#1500) 2023-02-08 17:21:03 +01:00
github-actions[bot] 83adc3fa57
Update Vulkan-Headers to v1.3.240 (#1497)
Co-authored-by: GitHub <noreply@github.com>
2023-01-30 09:40:19 +01:00
Andreas Süßenbach e40e6b641e
Update Vulkan-Headers to v1.3.239 (#1489) 2023-01-23 10:37:51 +01:00
Andreas Süßenbach 68512e6702
Add options for clang-format 15. (#1480) 2023-01-16 17:38:34 +01:00
Andreas Süßenbach 5e8166e284
Handle potential shadowing of function parameter name "objectType" with class member. (#1476) 2023-01-09 11:32:23 +01:00
github-actions[bot] e4b8afe005
Update Vulkan-Headers to v1.3.238 (#1472)
Co-authored-by: GitHub <noreply@github.com>
2022-12-20 17:48:45 +01:00
Andreas Süßenbach 49a288231b
Add missing braces in union constructors on array members. (#1469) 2022-12-13 10:03:05 +01:00
Andreas Süßenbach 23a13e4707
Add support of clang_format version 13 and 14. (#1468) 2022-12-12 17:30:35 +01:00
github-actions[bot] d3728e63a1
Update Vulkan-Headers to v1.3.237 (#1466)
Co-authored-by: GitHub <noreply@github.com>
Co-authored-by: Andreas Süßenbach <asuessenbach@nvidia.com>
2022-12-12 10:13:44 +01:00
GitHub fb561d8092 Update Vulkan-Headers to v1.3.236 2022-12-06 00:11:19 +00:00
asuessenbach 561354a79b Unify command set handling. 2022-11-29 13:38:36 +01:00
asuessenbach 556c0d3434 Introduce additional constructor for unions holding a fixed size array of data. 2022-11-24 08:59:50 +01:00
asuessenbach 9eab4b61e1 Add format trait function compatibilityClass() 2022-11-23 10:51:18 +01:00
GitHub aed619647c Update Vulkan-Headers to v1.3.235 2022-11-18 00:12:31 +00:00
asuessenbach 1b61fc6cf7 Use std::equal to compare array of null-terminated strings in structs. 2022-11-17 14:05:55 +01:00
asuessenbach 412471771a Fix include guard of vulkan_static_assertions.hpp 2022-11-16 08:38:00 +01:00
asuessenbach 73276f2c26 Remove outdated conditions around two init functions of the DispatchLoaderDynamic. 2022-11-14 12:28:20 +01:00
asuessenbach 196978705e Extent support of functions returning some typed value 2022-11-14 10:06:49 +01:00
GitHub c873ad307d Update Vulkan-Headers to v1.3.234 2022-11-11 00:12:48 +00:00
Andreas Süßenbach d6493eae1d
Merge pull request #1438 from asuessenbach/flags
Fix Flags<T>::operator~()
2022-11-07 14:27:38 +01:00
asuessenbach 040686faae Fix Flags<T>::operator~() 2022-11-07 11:28:15 +01:00
GitHub 92c36643f1 Update Vulkan-Headers to v1.3.233 2022-11-07 00:12:52 +00:00
GitHub dcc1d9562f Update Vulkan-Headers to v1.3.232 2022-10-28 00:12:55 +00:00
asuessenbach 2382684a69 Move explicitly defaulted copy assignment operators of structs into !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS) section
To explicitly default the copy assignment operator is only needed, if there are other constructors. Otherwise, some compilers warn about it.
2022-10-26 08:56:25 +02:00
asuessenbach d5ad2e1883 Introduce function release() to all vk::raii::HandleTypes. 2022-10-25 12:11:29 +02:00
asuessenbach 1ab5fa6550 Support structs holding arrays of data, where the data size is given by a pointer-type.
In that case, no improved constructor and no improved setters are generated.

Plus some minor cleanup.
2022-10-24 10:39:19 +02:00
asuessenbach 4bf02b2588 Reorganized generating bitmasks in vulkan_enums.hpp. 2022-10-17 16:10:36 +02:00
GitHub 738e7c1423 Update Vulkan-Headers to v1.3.231 2022-10-14 00:16:32 +00:00
asuessenbach 302389d550 Templatized bitwise operators on FlagBits. 2022-10-10 11:04:27 +02:00
asuessenbach a49fd51629 Minor cleanup on bitmask generation. 2022-10-05 16:58:40 +02:00
asuessenbach a55e3eb2a0 Cleanup on protection handling
+ some other minor cleanup
2022-10-05 09:28:37 +02:00
asuessenbach f5be57e498 Corrected handling of mutual exclusive arrays in constructors of structures VkAccelerationStructureTrianglesOpacityMicromapEXT and VkMicromapBuildInfoEXT 2022-10-04 11:34:04 +02:00
GitHub 3b5961d5ce Update Vulkan-Headers to v1.3.230 2022-09-30 00:20:29 +00:00
GitHub 917ba7cbb0 Update Vulkan-Headers to v1.3.229 2022-09-23 00:12:32 +00:00
asuessenbach 6fe966c6d9 Fix inconsistency with return type of vk::raii::SwapchainKHR::getImages()
+ some minor cleanup
2022-09-21 10:08:07 +02:00
GitHub 27b37765e7 Update Vulkan-Headers to v1.3.228 2022-09-16 00:13:32 +00:00
asuessenbach d0317af5a9 [raii] Add missing handling of successCode in move-construction and move-assignment of multi-successCode handles. 2022-09-14 12:21:26 +02:00
Andreas Süßenbach 984ab4e846
Merge pull request #1407 from asuessenbach/algorithm
Unconditionally include <algorithm> in vulkan.hpp.
2022-09-13 08:29:20 +02:00
asuessenbach ac1eda539c Unconditionally include <algorithm> in vulkan.hpp. 2022-09-12 17:10:56 +02:00
asuessenbach 34725b3192 Introduce helper class vk::StridedArrayProxy; use it on functions with parameters having the 'stride' attribute. 2022-09-12 16:53:44 +02:00
GitHub 6fd5e6dd72 Update Vulkan-Headers to v1.3.227 2022-09-09 00:11:55 +00:00
GitHub 5c406ec531 Update Vulkan-Headers to v1.3.226 2022-09-02 00:12:10 +00:00
Stephan Seitz 1e67e5aba4 fix: use feature test macros for usage of <format>
Fixes #1394
2022-08-29 23:12:25 +02:00
Stephan Seitz 8afaf0e2d0 fix: include <utility> in vulkan_raii.hpp for std::exchange 2022-08-29 23:12:25 +02:00
GitHub 33dad92cec Update Vulkan-Headers to v1.3.225 2022-08-24 08:40:49 +02: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 6e5824e21a Update to Vulkan-Headers v1.3.224 2022-08-08 09:47:30 +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 a8a2c5f910 Refactor top-level file generation function. 2022-08-02 10:00:16 +02:00
Andreas Süßenbach f50243e683
Merge pull request #1372 from asuessenbach/refactor
Refactor top-level function to generate vulkan.hpp
2022-08-01 17:40:22 +02:00
asuessenbach 893d6847bb Refactor top-level function to generate vulkan.hpp 2022-08-01 16:40:15 +02:00
asuessenbach cb4a573b42 Combine two types of commands into one generation function 2022-08-01 14:53:06 +02:00
Andreas Süßenbach b95c02b89d
Merge pull request #1370 from asuessenbach/function
Combine two types of commands into one generation function
2022-08-01 13:54:24 +02:00
asuessenbach e8179c8f49 Combine two types of commands into one generation function 2022-08-01 11:32:05 +02:00
asuessenbach 9c4a906d07 Add "videocoding" as an optional attribute for commands. 2022-08-01 10:11:45 +02:00
GitHub e31e673550 Update Vulkan-Headers to v1.3.223 2022-07-29 00:09:57 +00: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
GitHub 3e449ebc53 Update Vulkan-Headers to v1.3.222 2022-07-22 00:12:13 +00:00
asuessenbach 75f02617cb Revert struct conversion operators to be implicit. 2022-07-19 08:18:22 +02:00
GitHub e6ea601adb Update Vulkan-Headers to v1.3.221 2022-07-15 00:12:11 +00:00
asuessenbach bc6d481a5b Remove some dead code. 2022-07-11 13:54:33 +02:00
github-actions[bot] 85fba669da
Update Vulkan-Headers to v1.3.220 (#1349)
Co-authored-by: GitHub <noreply@github.com>
2022-07-11 10:35:37 +02:00
asuessenbach 0d9ca30378 Removed some dead code. 2022-07-04 10:59:55 +02:00
GitHub 93f8b6b541 Update Vulkan-Headers to v1.3.219 2022-07-01 00:11:04 +00:00
asuessenbach 2ddd380a23 Combine two types of commands into one generation function 2022-06-29 08:13:42 +02:00
asuessenbach 39be44dc65 Combine two types of commands into one generation function 2022-06-28 13:33:36 +02:00
asuessenbach 429e610f7e Combine two types of commands into one generation function 2022-06-28 08:41:36 +02:00
asuessenbach 448efe9edb Combine two types of commands into one generation function 2022-06-27 10:03:03 +02:00
asuessenbach 5075c94b8a Combine two types of commands into one generation function 2022-06-23 11:42:03 +02:00
asuessenbach b7146538a5 Combine two types of commands into one generation function 2022-06-21 09:22:03 +02:00
asuessenbach 2c536b75b9 Combine two types of commands into one generation function 2022-06-20 12:26:30 +02:00
Andreas Süßenbach 94244d51d5
Merge pull request #1329 from asuessenbach/spaceship
Change used check for using spaceship operator from "impl" to "lib".
2022-06-20 11:28:48 +02:00
Andreas Süßenbach aac15a2790
Merge pull request #1328 from asuessenbach/function
Combine two types of commands into one generation function
2022-06-20 11:27:10 +02:00
asuessenbach cbb02bf5ab Change used check for using spaceship operator from "impl" to "lib". 2022-06-20 09:32:27 +02:00
GitHub 2b55b3382d Update Vulkan-Headers to v1.3.218 2022-06-17 00:09:45 +00:00
asuessenbach de7127a963 Combine two types of commands into one generation function 2022-06-15 11:57:25 +02:00
asuessenbach 66fc081783 Combine two types of commands into one generation function 2022-06-14 10:53:50 +02:00
asuessenbach 4630feb760 Combine two types of commands into one generation function 2022-06-14 09:08:56 +02:00
Andreas Süßenbach 15788c576c
Merge pull request #1322 from asuessenbach/spaceship
Remove spaceship operator for structures containing function pointers
2022-06-13 12:05:51 +02:00
Andreas Süßenbach 3c80f9a60b
Merge pull request #1321 from asuessenbach/function
Combine two types of commands into one generation function
2022-06-13 11:08:13 +02:00
asuessenbach 67f9357bb8 Remove spaceship operator for structures containing function pointers 2022-06-13 10:54:04 +02:00
GitHub 1dc2a0eeaf Update Vulkan-Headers to v1.3.217 2022-06-10 00:09:44 +00:00
asuessenbach a7d6e1be5d Combine two types of commands into one generation function 2022-06-08 16:39:15 +02:00
asuessenbach 484373a54a Combine two types of commands into one generation function 2022-06-08 08:53:11 +02:00
asuessenbach d691f5f0e8 Combine two types of commands into one generation function 2022-06-07 18:02:52 +02:00
GitHub dd45c179bb Update Vulkan-Headers to v1.3.216 2022-06-03 00:09:17 +00:00
asuessenbach 5c571c1b9a Combine two types of commands into one generation function 2022-05-25 20:21:21 +02:00
GitHub e777f1d1d2 Update Vulkan-Headers to v1.3.215 2022-05-25 00:11:11 +00:00
asuessenbach b35993287e Combine two types of commands into one generation function 2022-05-24 09:01:00 +02:00
asuessenbach d7a1a254d4 Combine two types of commands into one generation function 2022-05-23 10:31:40 +02:00
asuessenbach e3e124e5e2 Combine two types of commands into one generation function 2022-05-19 08:34:26 +02:00
asuessenbach 3f240ea665 Combine two types of commands into one generation function 2022-05-18 09:24:39 +02:00
GitHub 21e1f09d49 Update Vulkan-Headers to v1.3.214 2022-05-18 00:10:20 +00:00
asuessenbach 66c3c89d8e Combine two types of commands into one generation function 2022-05-17 10:35:57 +02:00
asuessenbach 66953f4039 Combine two types of commands into one generation function 2022-05-11 10:00:53 +02:00
GitHub 21448e0ace Update Vulkan-Headers to v1.3.213 2022-05-11 00:09:28 +00:00
asuessenbach a591ef69e3 (re-)add support of commands enumerating a chained structure type. 2022-05-04 09:55:27 +02:00
asuessenbach f9ad86aef8 Remove deprecated implicit-cast operators on vk::ResultValue. 2022-05-03 09:47:58 +02:00
asuessenbach 145c10e945 Combine two types of commands into one generation function 2022-05-02 17:01:38 +02:00
asuessenbach b45a44b479 Combine two types of commands into one generation function 2022-04-28 16:32:33 +02:00
asuessenbach 74fd07216e Combine two types of commands into one generation function 2022-04-27 13:37:28 +02:00
asuessenbach e5921db439 Combine two types of commands into one generation function 2022-04-26 12:35:15 +02:00
GitHub 0495d69c6d Update Vulkan-Headers to v1.3.212 2022-04-22 00:10:35 +00:00
asuessenbach 90afc89e66 Combine two types of commands into one generation function 2022-04-21 11:27:39 +02:00
Andreas Süßenbach 828ac8e246
Merge pull request #1288 from phantom10111/array-proxy-with-raw-arrays
Add ArrayProxy constructors with support for raw array with size
2022-04-19 17:38:31 +02:00
Andreas Süßenbach e9c343c402
Merge pull request #1289 from asuessenbach/function
Combine two types of commands into one generation function
2022-04-19 13:34:44 +02:00
asuessenbach 769827ed3d Combine two types of commands into one generation function 2022-04-19 11:59:33 +02:00
phantom10111 5df998c0d6 Add ArrayProxy constructors with support for raw array with size
There's a little known C language family feature, which makes it
possible to take a pointer or reference to an array with size. Use this
feature to add constructors to ArrayProxy and ArrayProxyNoTemporaries
which can wrap raw arrays and deduce their size automatically.
2022-04-19 11:49:09 +02:00
phantom10111 9e95c0072d Make type conversions implicit for dispatchable handles
Vulkan handles are not typesafe on 32-bit platforms, but only for
non-dispachable handles. Dispatchable handles are opaque struct pointers
on all platforms, and thus typesafe.

This commit makes all conversions for dispatchable handles implicit,
regardless of VULKAN_HPP_TYPESAFE_CONVERSION setting.
2022-04-15 11:24:30 +02:00
asuessenbach 9c99d1b2ce Combine two types of commands into one generation function 2022-04-14 08:03:15 +02:00
asuessenbach 4ba01be8d1 Combine two types of commands into one generation function. 2022-04-13 09:45:31 +02:00
asuessenbach 956cda998b Combine two types of commands into one generation function. 2022-04-12 13:56:21 +02:00
asuessenbach 26e2fc42c8 Combine two types of commands into one generation function. 2022-04-07 16:04:26 +02:00
asuessenbach d50485c5c7 Combine two types of commands into one generation function. 2022-04-07 08:48:55 +02:00
GitHub da42600e06 Update Vulkan-Headers to v1.3.211 2022-04-06 00:09:05 +00:00
asuessenbach dd6deccf52 Add missing allocator template argument in createResultValue helper functions working on std::vector<UniqueHandle> types. 2022-04-04 10:00:13 +02:00
asuessenbach 333083e44e Combine two types of commands into one generation function. 2022-03-31 09:52:06 +02:00
asuessenbach 5190cd09ff Update Vulkan-Headers to v1.3.210 2022-03-30 11:52:35 +02:00
asuessenbach 16a44bb94f Re-add accidentally removed version of createResultValue
+ add test project for UniqueHandles.
2022-03-30 09:45:51 +02:00
asuessenbach a8d47f4694 Combine two types of commands into one generation function. 2022-03-28 17:52:45 +02:00
asuessenbach 439ac7fe26 Update Vulkan-Headers to v1.3.209 2022-03-24 09:51:10 +01:00
asuessenbach d90c6cbbfc Add pNext as optional last argument to constructors of structs that hold a pNext. 2022-03-23 17:08:19 +01:00
asuessenbach 23c11fe38d Introduce copy constructor and assignment operator for vk::raii classes that hold handles without a destructor. 2022-03-22 13:53:21 +01:00
asuessenbach a104fd65d3 Combine two types of commands into one generation function. 2022-03-16 13:51:43 +01:00
asuessenbach dfffc95731 Update Vulkan-Headers to v1.3.208 2022-03-16 12:19:09 +01:00
asuessenbach c761497d36 Update Vulkan-Headers to v1.3.207 2022-03-16 09:09:01 +01:00
asuessenbach ae11e13e0b Combine two types of commands into one generation function.
Generation of functions that return a VkResult and either get some data or not are combined into one function.

+ some minor cleanup
2022-03-15 11:58:55 +01:00
Andreas Süßenbach 582bade14d
Merge pull request #1242 from asuessenbach/deprecated
Remove deprecated cpp_type.
2022-03-15 08:52:49 +01:00
asuessenbach cf5ecd7cc6 Remove deprecated cpp_type. 2022-03-14 15:13:33 +01:00
asuessenbach f58ffe385f Combine two types of commands into one generation function.
Generation of functions that get a StructureChain or some value are combined into one function.
2022-03-14 14:54:56 +01:00
asuessenbach 611365b986 Updated clang_format options 2022-03-09 12:28:52 +01:00
asuessenbach 4fd8ad4baa Minor cleanup work in command generation. 2022-03-09 10:13:51 +01:00