Commit Graph

73 Commits

Author SHA1 Message Date
Sharadh Rajaraman
6abd3f42a8
Use import std; guarded by macro (#1932)
Some checks are pending
Set Version Tag / set-version-tag (push) Waiting to run
* 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
github-actions[bot]
2fcbcfbefe
Update Vulkan-Headers to v1.3.295 (#1954)
Some checks are pending
Set Version Tag / set-version-tag (push) Waiting to run
Co-authored-by: GitHub <noreply@github.com>
2024-09-02 12:39:56 +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
fde7e0fc84
Remove deprecation message on promoted extensions. (#1938) 2024-08-07 12:09:39 +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]
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
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]
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
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
2d42465f64
Minor cleanup on fence and event handling in two RAII-samples. (#1859) 2024-05-02 09:37:29 +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
d111d68be8
Simplify handling of enum value aliases (#1838) 2024-04-03 08:29:10 +02: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
Andreas Süßenbach
80826e4001
Switched from using "typedef" to using "using". (#1823) 2024-03-11 09:37:43 +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
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
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
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
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
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
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
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
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
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