Commit Graph

1895 Commits

Author SHA1 Message Date
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
Andreas Süßenbach
b988e54dad Sort constants by feature and extension. (#1628) 2023-07-26 22:12:40 +02:00
Andreas Süßenbach
24045ff3f4 Add support of alias'ed enums for IndexType/CppType traits generation (#1627) 2023-07-26 10:17:13 +02:00