Commit Graph

30 Commits

Author SHA1 Message Date
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
Markus Tavenrath
0b8dfc3968 Initial revision for Vulkan 1.0 2016-02-16 15:07:55 +01:00