Andreas Süßenbach
56fdc0b070
Generate only the standard version for commands that would require vector-operations inside a struct. ( #1970 )
2024-10-09 16:06:13 +02:00
GitHub
26cf5590cb
Update Vulkan-Headers to v1.3.297
2024-10-05 21:26:32 +02:00
Sharadh Rajaraman
6abd3f42a8
Use `import std;` guarded by macro ( #1932 )
...
* Initial build and tests setup
* Enable the `CppStdModule` test
* Snippets and generator changes
* Generated files changes
* Enable std module with macro
* Unconditionally use `import std` with C++23
* Add support for external `import std` control with `VULKAN_HPP_ENABLE_STD_MODULE`
- Rewrite `includes.hpp` and `macros.hpp`
- Unconditionally set `VULKAN_HPP_ENABLE_STD_MODULE` for `vulkan.cppm` to bug-fix
- Generated necessary files again
* Top-level CMake changes
* Reorganise logic, and propagate external macro correctly
* RAII: vulkan_hpp before ifdef
* Define `VK_USE_64_BIT_PTR_DEFINES` in `vulkan_hpp_macros.hpp`
* Generate the `VK_USE_64_BIT_PTR_DEFINES` clause from the XML instead of hardcoding it
* Refactored handling for `VK_USE_64_BIT_PTR_DEFINES`
- Updated condition to positive test for `#ifndef VK_USE_64_BIT_PTR_DEFINES` in `completeMacro`
* Added `#include <string.h>` to resolve `strnlen` missing in the module
* Use only `std.compat`
* FIx after rebase
2024-09-05 08:48:19 +02:00
Andreas Süßenbach
fbb62163a0
Mark deprecated enum values as deprecated ( #1955 )
2024-09-03 08:53:36 +02:00
github-actions[bot]
2fcbcfbefe
Update Vulkan-Headers to v1.3.295 ( #1954 )
...
Co-authored-by: GitHub <noreply@github.com>
2024-09-02 12:39:56 +02:00
Andreas Süßenbach
98ea600e1f
Removed special handling for enumerating commands with complex size information via a struct, generating just the standard function in such cases ( #1952 )
2024-08-26 16:21:45 +02:00
github-actions[bot]
bd70384cd4
Update Vulkan-Headers to v1.3.294 ( #1951 )
...
Co-authored-by: GitHub <noreply@github.com>
2024-08-26 16:06:58 +02:00
Andreas Süßenbach
ecd4b59328
Remove move-constructor and deleted move-assignment of vk::StructureChain. ( #1949 )
2024-08-26 09:45:57 +02:00
Andreas Süßenbach
d86b49ca04
Update Vulkan-Headers to v1.3.293 ( #1944 )
2024-08-19 16:23:55 +02:00
Andreas Süßenbach
b2c409dd31
Add IWYU pragmas to let code-completers use vulkan.hpp. ( #1939 )
2024-08-07 15:04:06 +02:00
Andreas Süßenbach
fde7e0fc84
Remove deprecation message on promoted extensions. ( #1938 )
2024-08-07 12:09:39 +02:00
github-actions[bot]
dd0785dbc1
Update Vulkan-Headers to v1.3.292 ( #1934 )
...
Co-authored-by: GitHub <noreply@github.com>
2024-08-05 14:58:22 +02:00
Sharadh Rajaraman
003cf8e090
Don't export symbols in `vk::detail` namespace ( #1931 )
2024-08-05 14:26:29 +02:00
Ilya Doroshenko
0f4e59bd95
Fix for shared handles for pool deleter ( #1925 )
...
* Fix for shared handles for pool deleter
* added pool type traits,
added special constructor for pool types
* return of assert
2024-08-05 14:21:44 +02:00
Nikolai Siukosev
ae1eb5f449
Non raii handles move exchange ( #1929 )
...
* Add move semantics for non-raii hpp handles. (#1919 )
* Updated generated vulkan/* files
2024-07-23 09:55:09 +02:00
github-actions[bot]
f7f0d8ccaa
Update Vulkan-Headers to v1.3.291 ( #1924 )
...
Co-authored-by: GitHub <noreply@github.com>
2024-07-22 13:20:20 +02:00
Andreas Süßenbach
77f6a638a7
Use clang++14 with Cpp-23 on ubuntu-latest ( #1921 )
2024-07-17 13:18:25 +02:00
github-actions[bot]
e3b0737d57
Update Vulkan-Headers to v1.3.290 ( #1918 )
...
Co-authored-by: GitHub <noreply@github.com>
2024-07-15 12:43:47 +02:00
Janeczko Jakub
096e555640
Add alias bitmasks to module interface ( #1917 )
...
* add alias bitmasks to c++ module
* generate code
* format
2024-07-15 12:39:19 +02:00
github-actions[bot]
630d8da8c6
Update Vulkan-Headers to v1.3.289 ( #1912 )
...
Co-authored-by: GitHub <noreply@github.com>
2024-07-01 14:11:05 +02:00
Andreas Süßenbach
3b0d995a82
Introduce some special handlings for structure VkLayerSettingEXT. ( #1910 )
2024-06-27 13:32:31 +02:00
Andreas Süßenbach
aac0b4d3ac
Simplify helper class vk::ArrayProxyNoTemporaries. ( #1908 )
2024-06-25 17:43:55 +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
github-actions[bot]
bfb16c9781
Update Vulkan-Headers to v1.3.288 ( #1904 )
...
Co-authored-by: GitHub <noreply@github.com>
2024-06-17 14:13:31 +02:00
Andreas Süßenbach
842406f2a6
Try to workaround a possible bug with clang and gcc... ( #1902 )
2024-06-13 14:07:04 +02:00
Andreas Süßenbach
d507727fd7
Add support for enumerating functions that originally take a struct with the vector information. ( #1892 )
2024-06-11 16:53:15 +02:00
github-actions[bot]
6fb0c202be
Update Vulkan-Headers to v1.3.287 ( #1891 )
...
Co-authored-by: GitHub <noreply@github.com>
2024-06-10 11:37:10 +02:00
Andreas Süßenbach
4d12a28006
Improve relational operators on ArrayWrapper1D. ( #1890 )
2024-06-06 08:35:49 +02:00
Andreas Süßenbach
eb1f4cfb58
Update Vulkan-Headers to v1.3.286 ( #1887 )
2024-06-04 16:32:05 +02:00
github-actions[bot]
b2810ca912
Update Vulkan-Headers to v1.3.285 ( #1871 )
...
Co-authored-by: GitHub <noreply@github.com>
2024-05-14 22:53:57 +02:00
Andreas Süßenbach
c8dd4fb5ea
Add support for enumerating commands with more than two success codes. ( #1870 )
2024-05-08 18:46:23 +02:00
Andreas Süßenbach
d3f062dd68
Change default for template non-type parameter value of struct CppType from 0 to Type{}. ( #1868 )
2024-05-07 13:45:58 +02:00
github-actions[bot]
8d46db6965
Update Vulkan-Headers to v1.3.284 ( #1867 )
...
Co-authored-by: GitHub <noreply@github.com>
2024-05-07 12:08:03 +02:00
Andreas Süßenbach
1bbd615b15
Change member initialization lists of structs to use braces {} instead of parentheses () ( #1864 )
2024-05-06 10:36:48 +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
Sharadh Rajaraman
79307b6253
Check value of `VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL` instead of existence ( #1856 )
...
* Check value of VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL instead of existence
* Also change vulkansc.cppm
2024-04-29 08:59:01 +02:00
Andreas Süßenbach
1de6e89eb2
Explicitly set the copy/move constructors/assignment operators of vk::handle to be default; add static assert on is_copy_constructible for vk::handles ( #1852 )
2024-04-25 13:30:52 +02:00
github-actions[bot]
2fbc146fee
Update Vulkan-Headers to v1.3.283 ( #1849 )
...
Co-authored-by: GitHub <noreply@github.com>
2024-04-22 13:45:11 +02:00
Andreas Süßenbach
0eafe7e55a
Fix name of enum values with more than one "BIT" in its name ( #1848 )
2024-04-18 16:11:14 +02:00
github-actions[bot]
4bf2835dd1
Update Vulkan-Headers to v1.3.282 ( #1846 )
...
Co-authored-by: GitHub <noreply@github.com>
2024-04-15 16:55:23 +02:00
Andreas Süßenbach
ed5b48b517
Pay attention to struct aliases to determine struct dependencies. ( #1842 )
2024-04-08 18:00:46 +02:00
Andreas Süßenbach
bb66ad3b04
Moved some implementation details into namespace detail. ( #1840 )
2024-04-08 11:40:53 +02:00
Andreas Süßenbach
d111d68be8
Simplify handling of enum value aliases ( #1838 )
2024-04-03 08:29:10 +02:00
Andreas Süßenbach
a7ac08b8d2
Guard type trait CppType to map from VkHandle to vk::Handle by ( VK_USE_64_BIT_PTR_DEFINES == 1 ). ( #1836 )
2024-03-25 14:00:43 +01:00
github-actions[bot]
88d508b32f
Update Vulkan-Headers to v1.3.281 ( #1834 )
...
Co-authored-by: GitHub <noreply@github.com>
2024-03-25 13:50:59 +01:00
Andreas Süßenbach
ce84c37abf
Reorganized enum value alias handling. ( #1830 )
2024-03-21 08:05:15 +01:00
Andreas Süßenbach
194708b54c
Extent type trait vk::CppType to map from VkHandle to vk::Handle ( #1829 )
2024-03-19 14:07:03 +01:00
github-actions[bot]
e35acfe752
Update Vulkan-Headers to v1.3.280 ( #1824 )
...
Co-authored-by: GitHub <noreply@github.com>
2024-03-11 11:50:46 +01:00
David Ryskalczyk
17226363e7
Fix for VULKAN_HPP_TYPESAFE_CONVERSION defined to 0 ( #1806 )
...
* Fix for VULKAN_HPP_TYPESAFE_CONVERSION defined to 0
* Remove the check if VULKAN_HPP_TYPESAFE_CONVERSION actually is defined, just check if it's 1.
---------
Co-authored-by: asuessenbach <asuessenbach@nvidia.com>
2024-03-11 09:39:39 +01:00
Andreas Süßenbach
80826e4001
Switched from using "typedef" to using "using". ( #1823 )
2024-03-11 09:37:43 +01:00
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