Shahbaz Youssefi
d058397410
Add missing glslang headers ( #1827 )
2024-03-19 09:08:53 +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
33ea43b53f
Update submodule glslang to version 13.0.0 ( #1700 )
2023-10-17 12:41:14 +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
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
d07d082af1
Resolve some validation layer warnings in some samples. ( #1640 )
2023-08-17 14:28:39 +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
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
4bc9d80d82
Fix validation layer warning on minImageCount of 2. ( #1634 )
2023-08-07 12:00:11 +02:00
Codotaku
ce1aacec06
Update utils.cpp ( #1625 )
2023-07-19 15:33:22 +02:00
Andreas Süßenbach
d8cd233010
Update in README.md ( #1624 )
2023-07-19 11:39:48 +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
40e76b7c24
Cleanup in CMakeLists.txt ( #1572 )
2023-05-08 11:54:57 +02:00
Andreas Süßenbach
e1d6ec8abf
Cleanup up on CMakeLists.txt ( #1564 )
2023-04-20 16:50:26 +02:00
Andreas Süßenbach
bf8bee64e1
Mark all projects as C++-only. ( #1554 )
2023-04-05 09:50:26 +02:00
asuessenbach
556c0d3434
Introduce additional constructor for unions holding a fixed size array of data.
2022-11-24 08:59:50 +01:00
asuessenbach
5480d192f5
Refactor the CMakeLists for all the samples; use vulkan.hpp/vulkan_raii.hpp as precompiled header.
2022-08-10 15:29:28 +02:00
asuessenbach
06697b4442
Removed helper function createDebugUtilsMessengerEXT from utils.hpp as well.
2022-08-04 11:13:06 +02:00
asuessenbach
2611c34aa5
Minor cleanup in utils.cpp: remove helper function createDebugUtilsMessengerEXT.
2022-08-04 08:49:12 +02:00
asuessenbach
e8bf9bed9a
Move all the static_assertions from vulkan_handles.hpp and vulkan_structs.hpp into the new header vulkan_static_assertions.hpp
2022-08-03 11:53:57 +02:00
asuessenbach
056abda3e2
Reduce number of included headers
2022-07-27 16:39:37 +02:00
asuessenbach
3aae157e5b
Move the vk::to_string functions into a separate header vulkan_to_string.hpp.
2022-07-26 11:19:42 +02:00
asuessenbach
527e52a1bd
Introduce VULKAN_HPP_NO_TO_STRING to optionally remove the various vk::to_string functions.
...
Also extend the samples to hold some local version of the needed to_string functions in case VULKAN_HPP_NO_TO_STRING is defined.
2022-07-25 17:11:30 +02:00
Jinesi Yelizati
9748e47228
Speed up CI by using ninja and parallel build ( #1347 )
...
* chore(CI): speed up CI by using ninja and parallel build
* chore(CI): align compiler for c and cxx
* fix(samples): add dependency to generator
* fix(cmake): get rid of file glob
* chore(CI): use clang on mac
glfw don't support gcc on mac
* fix(sample): add depencency on build_vulkan_hpp
* fix(cmake): make sure every target in tests and samples link to utils
2022-07-07 10:22:21 +02:00
asuessenbach
9e4f6812fb
Add CI on MacOS.
2022-06-21 14:48:56 +02:00
asuessenbach
0fb855a4a2
Resolve validation layer issues with some samples.
2022-05-02 11:36:36 +02:00
asuessenbach
d90c6cbbfc
Add pNext as optional last argument to constructors of structs that hold a pNext.
2022-03-23 17:08:19 +01:00
asuessenbach
5fe410279a
Change ColumnLimit with clang-format from 120 to 160.
2022-02-28 10:11:04 +01:00
asuessenbach
9142bea37e
Change type of loop variables from uint8_t to uint32_t.
2022-02-09 08:32:42 +01:00
asuessenbach
d38980d592
Update samples on PhysicalDeviceMemoryProperties
2022-02-03 13:50:32 +01:00
asuessenbach
6fdeaa8001
Make struct cast operators explicit.
2021-12-07 10:39:23 +01:00
asuessenbach
9b7adb35ee
Removed explicit setting of the ComponentMapping for ImageViews in samples to RGBA, as the default of Identity does the same.
2021-11-11 11:49:07 +01:00
asuessenbach
2a55e8ef2f
Minor cleanup work.
2021-11-09 08:40:53 +01:00
Stephan Seitz
bc37592747
Fix release build of samples: suppress warnings about unused variables
2021-09-06 10:48:52 +02:00
Patrick Gordon
8ae472d020
fix numeric_limits not found, include <limits> in samples/utils.hpp
2021-07-22 22:30:56 +01:00
asuessenbach
69e8e5bf84
Refactor RAII-samples to use std::unique_ptr only if needed.
2021-06-23 10:15:56 +02:00
asuessenbach
076fddc52a
Use github actions for CI builds.
2021-06-16 16:53:00 +02:00
asuessenbach
cb87566cdd
Resolve issues with release build.
2021-05-25 16:14:56 +02:00
asuessenbach
af54ea22a8
Update to VK_HEADER_VERSION 175.
2021-04-15 15:40:22 +02:00
asuessenbach
3a776dd1d8
Update to VK_HEADER_VERSION 172.
2021-03-09 09:13:32 +01:00
asuessenbach
2cb1c19c7f
Introduce raii-compliant handle wrapper classes.
2021-02-22 16:19:12 +01:00
asuessenbach
5fc91db38d
Prepare usage of BestPractices validation layer.
...
Still disabled by default due to yet to be resolved issues.
2021-01-25 13:34:30 +01:00
Markus Tavenrath
160dc916f9
Change structure member sType to non-const to allow default assignment operator. Make copy constructor and copy assignment default. The latter is required for C++20 designated initializers. Delegate the constructor from C-type to the copy constructor by casting rhs accordingly. Fix warnings on gcc/clang.
2021-01-18 12:25:50 +01:00
asuessenbach
0800990456
Add MSVC 2019 builds again
...
+ remove breaking project samples/PhysicalDeviceMemoryProperties for MSVC
2020-12-07 16:22:07 +01:00
asuessenbach
53084c9941
Move some samples to VK_API_VERSION_1_1.
2020-11-17 16:42:52 +01:00
asuessenbach
2e95313c1d
fix some warnings (errors) on release build.
2020-10-20 10:05:18 +02:00
asuessenbach
8d1c84b3f5
Set warnings as errors for the generator, the samples, and the tests.
2020-10-14 17:44:16 +02:00
asuessenbach
0b8e4cb938
Introduce helper function ResultValue<UniqueHandle<Type, Dispatch>>::asTuple()
...
Allows coding like this:
vk::Result result;
vk::UniquePipeline pipeline;
std::tie( result, pipeline ) =
device->createGraphicsPipelineUnique( nullptr, graphicsPipelineCreateInfo ).asTuple();
2020-09-16 09:36:37 +02:00