asuessenbach
02c8049f42
Switch to C++20 for the Generator + some minor cleanup.
2022-09-06 18:22:04 +02:00
asuessenbach
d27e336ced
Make the samples' precompiled headers reuse that from the utils project.
2022-09-01 08:53:55 +02:00
Stephan Seitz
4f35f16475
fix: install target
2022-08-22 10:16:25 +02:00
Stephan Seitz
1903527dd1
fix: make VULKAN_HPP_RUN_GENERATOR work again
...
Apparently, the statement setting ${vulkan_hpp} was removed with along
with the other generated header files the other generated header files.
2022-08-22 10:16:25 +02: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
a8a2c5f910
Refactor top-level file generation function.
2022-08-02 10:00:16 +02:00
asuessenbach
893d6847bb
Refactor top-level function to generate vulkan.hpp
2022-08-01 16:40:15 +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
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
611365b986
Updated clang_format options
2022-03-09 12:28:52 +01:00
asuessenbach
1c39502170
Extract trait functions on vk::Format into the additional header vulkan_format_traits.hpp.
2022-02-21 10:11:25 +01:00
asuessenbach
cdb64cdefd
Generate std::hash specializations into the new file vulkan_hash.hpp, requiring C++14 for std::hash specializations of the vulkan structures.
2021-12-13 17:00:00 +01:00
David Neto
938d9e60e0
Use and recommend clang-format-11, not clang-format-10
...
Also:
- Fix the numbered list formatting in the README.md
- Describe the -DVULKAN_HPP_RUN_GENERATOR=ON option
Fixes : #1116
2021-10-25 12:45:39 -04:00
asuessenbach
dcb654bc0b
Minor cleanup work.
...
+ changed CXX_STANDARD for VulkanHppGenerator from 14 to 17.
2021-10-11 10:20:26 +02:00
asuessenbach
74cb47eb82
Split vulkan.hpp into multiple sub-headers
2021-06-14 15:35:34 +02:00
asuessenbach
54b363320a
Adjustments in AppVeyor build.
2021-05-31 17:46:07 +02:00
asuessenbach
ae49faf6b8
Allow older version of clang-format.
2021-03-30 13:39:15 +02:00
asuessenbach
2cb1c19c7f
Introduce raii-compliant handle wrapper classes.
2021-02-22 16:19:12 +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
e407d6eb9a
Fix broken registry path usage
2020-10-26 09:16:34 +01:00
asuessenbach
e996ef2b31
Correct usage of VulkanRegistry_DIR
2020-10-21 10:58:34 +02:00
asuessenbach
8d1c84b3f5
Set warnings as errors for the generator, the samples, and the tests.
2020-10-14 17:44:16 +02:00
dan sinclair
35507a5648
Fixup usage of CMake variables.
...
This CL fixes the VULKAN_HPP_VULKAN_HEADERS_SRC_DIR and VULKAN_HPP_PATH
usages to use the values of the variables instead of the text strings.
2020-08-24 09:58:53 -04:00
Markus Tavenrath
df2bd3329c
Don't fail setting up a CMake build environment generation if clang-format is not available
2020-08-12 15:27:05 +02:00
asuessenbach
95ff3bca61
Add c++14 test run with travis-CI using clang-10.
2020-07-30 10:32:23 +02:00
asuessenbach
e5d08a2aca
Use VulkanRegistry_DIR and VulkanHeaders_INCLUDE_DIR as introduced in Vulkan-Tools/cmake/FindVulkanHeaders.cmake
2020-07-27 12:08:03 +02:00
asuessenbach
be6fcc0612
Turn Conformance Mode on for Visual Studio builds
...
+ reorganize library loading and still keep windows.h out.
Resolves #600
Resolves #629
2020-06-29 10:16:40 +02:00
asuessenbach
db58507063
Introduce VULKAN_HPP_NO_STRUCT_CONSTRUCTORS so support designated initializers.
...
You have to define VULKAN_HPP_NO_STRUCT_CONSTRUCTORS to remove all the struct constructors from vulkan.hpp, so that you can use designated initializers on them.
Of course, makes only sense with C++20.
2020-06-24 11:28:43 +02:00
asuessenbach
baff050abd
Add version check for clang-format.
2020-05-04 16:27:19 +02:00
asuessenbach
f5e59484a6
Introduce usage of clang-format to format vulkan.hpp and the other sources.
2020-04-23 10:55:02 +02:00
mocabe
9f5885ea52
[CMake] Disable tests in external libraries
2020-03-20 05:12:25 +09:00
asuessenbach
947583a1e5
Replace explicit template parameter MaskType for Flags types by std::underlying_type<BitType>::type and specify the underlying type for the FlagBits types
...
Resolves #507
2020-02-25 13:36:05 +01:00
mocabe
bb40388d34
CMake: Set CMAKE_CXX_STANDARD to 11
2020-02-06 10:12:08 +01:00
mocabe
b6a190f4a2
Building samples for Linux ( #491 )
...
* CMake: Fix SAMPLES_BUILD and TESTS_BUILD
* CMake: Enable sample build on linux
* samples: Use glfw for window creation
* samples: Fix include order
* samples: Support new window handling
* samples: Add build target for util
* samples: Update CMake scripts to use util target
* samples: Add WindowData to manage unique window
* samples: Surface handling using WIndowData
* sampels: Remove call for vk::su::destroyWindow()
* CMake: FIx more options
* samples: Build SurfaceCapabilities only on WIN32
* samples: Fixed RayTracing sample to build on Linux
* samples: Fix wrong check on SurfaceProtectedCapabilitiesKHR
This also fixes compilation with MinGW gcc/clang
* CMake: check CMAKE_SYSTEM_NAME for Linux samples
* CMake: Add source group for utils
* samples: Fix potential bugs
* samples: Reduce warnings on gcc/clang
* samples: Fix missmatched new/free() which is UB
* samples: Add missing initialization for dynamic dispatcher
* samples: Remove unnecessary dispacther construct
Co-authored-by: Andreas Süßenbach <asuessenbach@nvidia.com>
2020-01-28 10:16:10 +01:00
dan sinclair
2bd8e403e8
Add option to install vulkan.hpp header ( #429 )
2019-11-14 10:07:27 +01:00
dan sinclair
8f3b1d6f01
Add CMakeList target to run generator ( #424 )
...
This CL adds the VULKAN_HPP_RUN_GENERATOR option which will run the
vulkan hpp generator from CMake if enabled.
2019-11-06 14:48:21 +01:00
dan sinclair
fe0c9e1c14
Allow setting vulkan paths. ( #419 )
...
This CL adds VULKAN_HPP_VULKAN_HEADERS_SRC_DIR and VULKAN_HPP_PATH
variables to the CMakeLists file.
2019-11-05 10:47:42 +01:00
dan sinclair
42d348f969
Allow setting tinyxml2 source directory ( #417 )
...
* Allow setting tinyxml2 source directory
This CL adds a build flag to allow the tinyxml2 source directory to
exist outside the Vulkan-HPP source tree.
* Add quotes around path
2019-10-31 10:06:22 +01:00
Andreas Süßenbach
ecfaf9a0df
Add sample RayTracing. ( #361 )
2019-07-25 13:52:09 +02:00
Andreas Süßenbach
a6ad0f1eff
Re-introduce vulkan/vulkan.hpp; adjust include order to use that header in samples and tests ( #340 )
2019-06-11 13:25:36 +02:00
Markus Tavenrath
50e0a941e9
Use new Vulkan-Headers repository. Don't generate createReturnValue function call if the return type is void. ( #335 )
2019-06-06 13:13:38 +02:00
Andreas Süßenbach
65e1f8ac31
Add sample 11_InitShaders ( #288 )
...
+ add submodule glslang
2019-02-13 12:17:22 +01:00
Andreas Süßenbach
1ddafc1c56
Corrected functions dealing with StructureChains. ( #253 )
...
+ adjusted readme.md accordingly
+ added (a first!) test project
2018-09-19 13:49:43 +02:00
Andreas Süßenbach
a9b5b68572
Switch to warning level 4 ( #240 )
2018-08-17 17:47:48 +02:00
Markus Tavenrath
f54bf98790
Update to Vulkan 1.1.72 ( #206 )
2018-04-09 14:48:37 +02:00
Andreas Süßenbach
bbaa5956c6
First samples on using vulkan.hpp: 01_InitInstance, 02_EnumerateDevices, 03_InitDevice, 04_InitCommandBuffer, 05_InitSwapchain, 06_InitDepthBuffer. ( #197 )
2018-03-31 01:09:50 -07:00
Andreas Süßenbach
15ac21442d
Refactor into the newly introduced class VulkanHppGenerator. ( #164 )
2017-12-21 07:40:48 -04:00
Andreas Süßenbach
d2aea04b6c
Renamed from VkCpp to VulkanHpp
2016-06-21 10:35:47 +02:00
Markus Tavenrath
3359b16c39
Improve usability
...
- Enable enhanced mode by default, use VKCPP_DISABLE_ENHANCED_MODE to disable it
- Rename vk_cpp.h to vk_cpp.hpp to be more standard-conform with regards to naming
- Automatically use vk.xml from submodule if no other file has be specified
- Generate header in vulkand folder to avoid copying the file after generating it
- Catch exceptions in generator
2016-04-12 12:19:52 +02:00
Markus Tavenrath
cd12306797
switch to TinyXML2 which is being fetches as submodule
2016-02-17 15:35:00 +01:00