Commit Graph

1897 Commits

Author SHA1 Message Date
Andreas Süßenbach
5b6f6faf7a
Fix ArrayWrapper test program: don't use std::string_literals to be C++11 conform. (#1703) 2023-10-18 09:55:20 +02:00
Andreas Süßenbach
c77427babb
Adjust module support handling with CMake version 3.28 and above (#1699) 2023-10-18 08:07:18 +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
tom-huntington
2620a62641
Update README.md (#1675)
* Update README.md

Update readme cmake commands

* Update README.md
2023-10-12 13:35:33 +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
Andreas Süßenbach
6be20fb9e3
Fix documentation on existance of some copyable vk::raii classes (#1687) 2023-10-10 08:38:18 +02:00
Anton Shangareev
f9bed11716
Use add_subdirectory-friendly CMAKE variables (#1679) 2023-10-09 16:05:13 +02:00
Andreas Süßenbach
7b8f30221a
Extend not on module usage with Visual Studio. (#1684) 2023-10-09 13:37: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
Andreas Süßenbach
18e912955e
Add some note in README.md, that our modules are not working with VS 2022. (#1683) 2023-10-09 11:56:47 +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
Stephan Seitz
a858acdd90
Update workflow deps (#1667)
* ci: update workflow versions

This should avoid deprecation warnings shown for example in
https://github.com/KhronosGroup/Vulkan-Hpp/actions/runs/6319631419

* ci: set correct CMake options in update-header-pr workflow
2023-09-28 16:39:48 +02:00
Andreas Süßenbach
9aa679e5e8
Add support of attribute "type" for a enums in an extension, storing them as a constant. (#1668) 2023-09-28 13:23:31 +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
3e1e9b4653
Add support of commands returning void and getting two simple data type values. (#1663) 2023-09-26 12:02:43 +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
Andreas Süßenbach
a2e240c7e7
Relax check for constants as array size: also allow potentially externally defined constants (#1652) 2023-09-04 12:31:50 +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
17fa2b92f7
Resolve synchronization issue in [RAII_]Samples/InputAttachment. (#1644) 2023-08-24 08:32:15 +02:00
Andreas Süßenbach
fee04df943
Resolve some more validation layer issues. (#1643) 2023-08-23 13:58:54 +02:00
Andreas Süßenbach
14d048e9bf
Reorder some object instantiations to get valid destruction sequence. (#1641) 2023-08-21 11:35:17 +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
Andreas Süßenbach
e2f5348e28
Relax check on "depends" for extension requires. (#1637) 2023-08-10 10:35:19 +02:00
Andreas Süßenbach
87936f9bc8
Resolve a validation layer warnings on destruction order of Image/Buffer and bound DeviceMemory. (#1636) 2023-08-08 13:40:56 +02:00
Andreas Süßenbach
0e3e8967be
Extend the depends-handling in readExtension. (#1635) 2023-08-07 13:34:43 +02:00
Andreas Süßenbach
4bc9d80d82
Fix validation layer warning on minImageCount of 2. (#1634) 2023-08-07 12:00: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
Stephan Seitz
cf70eb8efb
fix: add support for C++20 modules for CMake 3.27.0/3.27.1 (#1632)
When using VULKAN_HPP_ENABLE_EXPERIMENTAL_CPP20_MODULES=ON with CMake 3.27.0 or 3.27.1,
you will get a very confusing error message:
```
CMake Error at CMakeLists.txt:346 (target_sources):
  target_sources File set TYPE may only be "HEADERS"
```

This is because the value of `CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API`
is not update to the correct value, disabling all experimental CMake
features.

This PR adds the value for 3.27.X and triggers an error for higher CMake
versions where this feature needs to be revised and
CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API if the feature is still
experimental.

The error message will look similar to this one (simulated for CMake
3.27.1)
```
CMake Error at CMakeLists.txt:30 (message):
  VULKAN_HPP_ENABLE_EXPERIMENTAL_CPP20_MODULES is currently not supported for
  CMake version 3.27.1! To add support inform yourself about the state of the
  feature at
  https://github.com/Kitware/CMake/blob/master/Help/dev/experimental.rst and
  add the corresponding value of CMAKE_EXPERIMENTAL_CXX_MODULE_CMAKE_API to
  Vulkan-Hpp's CMakeLists.txt
```
2023-08-07 08:56:36 +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