Commit Graph

9 Commits

Author SHA1 Message Date
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
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
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
23606b20f7
Guard vk::raii names in vulkan.cppm just as in vulkan_raii.hpp. (#1650) 2023-08-28 13:30:00 +02:00
Andreas Süßenbach
ef0dbd602b
Correct includes in vulkansc-headers. (#1645) 2023-08-28 10:21:34 +02:00
Andreas Süßenbach
b988e54dad
Sort constants by feature and extension. (#1628) 2023-07-26 22:12:40 +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
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