Commit Graph

79 Commits

Author SHA1 Message Date
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
asuessenbach
77b401d4a9 correct enhanced version of vkGetQueryPoolResults
- mark wrong version as deprecated (C++14)
- introduce new version returning ResultValue<vector<T,Allocator>>
- introduce new singular version returning ResultValue<T>
2020-09-03 14:20:32 +02:00
asuessenbach
0db791c687 Special handling for commands that get a size and a void-pointer to write data into
- marked previous function that got an ArrayProxy as deprecated (C++14)
- introduce a new function returning a std::vector of the given size
- introduce a new function returning a single value
2020-09-02 15:00:06 +02:00
Markus Tavenrath
6f4e1e41a7 Add documentation on how to build the generator, tests, and samples. 2020-08-13 11:38:21 +02:00
asuessenbach
2571778a4e [Samples][Ray Tracing] Correct offsets/sizes in the shader binding table. 2020-08-12 11:38:42 +02:00
asuessenbach
fba2516d9c Remove implicit cast operators on ResultValue<T>
As it turned out to not provide a complete solution to the C++-API-change issue on logical-change of the C-API, we simply remove those implicit cast operators. That is, accessing the result and the value need to be explicit.
2020-07-22 16:49:42 +02:00
asuessenbach
4cdc51ba0f Introduce usage of [[nodiscard]] with C++17 2020-07-22 10:59:12 +02:00
asuessenbach
d86303c0e4 Introduce structure constructors using ArrayProxyNoTemporaries 2020-07-09 12:03:03 +02:00
Andreas Süßenbach
5da023d17a
Merge pull request #650 from mocabe/ArrayWrapper1D-conversion
Small fix for ArrayWrapper1D's conversion operators
2020-07-02 09:20:02 +02:00
mocabe
9aa21f85fc [samples] Fix compilation of InstanceLayerExtensionProperties 2020-07-02 12:16:14 +09:00
asuessenbach
ec205306c6 New sample DebugUtilsObjectName 2020-06-25 11:43:26 +02:00
Markus Tavenrath
57555edfb2 Fix warnings and errors on clang-3.9 2020-05-18 14:05:51 +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
asuessenbach
a5e8a7ccb8 Update to and adjustments for VK_HEADER_VERSION 136. 2020-03-30 12:13:07 +02:00
asuessenbach
0ea8a527ba Introduce ArrayWrapper?D, replacing ConstExpression?DArrayCopy
+ no explicit copy constructor of structs needed any more
+ removed assignment operator of structs that don't hold a const sType member (for those, we still need the assignment operator!)
+ simplified operator==() of structs (pre C++20)
+ resolved some 32bit warnings
2020-03-25 12:35:35 +01:00
mocabe
9f5885ea52 [CMake] Disable tests in external libraries 2020-03-20 05:12:25 +09:00
mocabe
62667a6b4b [samples] Add missing explicit casts 2020-03-20 03:59:14 +09:00
mocabe
2f4ca1d168 [samples][PhysicalDeviceGroups] Fix device name output 2020-03-20 03:57:46 +09:00
mocabe
590fc89fb5 [samples] Add missing VKAPI_ATTR and VKAPI_CALL for debug callback functions 2020-03-20 03:56:18 +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
837aac5499 Fix formatting 2020-02-06 10:12:08 +01:00
mocabe
32d0bc6843 samples: Remove C++14 codes 2020-02-06 10:12:08 +01:00
mocabe
1572c0b1ba Clean EOF of some files 2020-02-06 10:12:08 +01:00
mocabe
891ca21334 CMake: Enable C++14 for samples 2020-02-06 10:12:08 +01:00
mocabe
a7e2cf152e CMake: Add SAMPLES_BUILD_ONLY_DYNAMIC option 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
Andreas Süßenbach
f1668a6e28 Remove template parameter defaultValue from Flags. (#492)
Flags always default to just no FlagBits set.
2020-01-21 12:01:35 +01:00
Andreas Süßenbach
33b244859b Add specific initialization of Flags and FlagBits. (#489)
Resolves #488.
2020-01-16 12:12:31 +01:00
Arthur Brainville
4320950db1 Update EnableValidationWithCallback.cpp (#466)
Quick patch that fixes the `EnableValidationWithCallback` sample:
  There's no `str()` method here, should use `c_str()`;  
  *but* also, you can print the std::string directly to `std::cout`.

Patches remove `.str()` from printing line when WIN32 is not defined.
2020-01-06 12:16:35 +01:00
nvaara
196de24461 fixed vertexBindingDescription (#465) 2020-01-06 12:12:12 +01:00
Andreas Süßenbach
021c7499a0 Cleanup on usage of static vs. dynamic loading (#462) 2019-12-23 08:45:40 +01:00
Andreas Süßenbach
18febd6237 Add usage of DebugUtilsMessenger in vk::su::createInstance (#461) 2019-12-19 14:00:51 +01:00
Andreas Süßenbach
0280efc78c Corrected image layout and descriptor set handling in RayTracing sample. (#460) 2019-12-19 13:59:48 +01:00
Andreas Süßenbach
7da1c8baf0
Samples: Explicitly set vk::PipelineMultisampleStateCreateInfo::rasterizationSamples (#459) 2019-12-16 14:51:29 +01:00
Andreas Süßenbach
0b01a8a74c
Introduce default initializers for member variables, simplify default values for constructor arguments (#455) 2019-12-12 11:40:21 +01:00
takiyu
7fc627d6b9 Fix lableName typo. (#440) 2019-11-26 11:28:57 +01:00
Andreas Süßenbach
e850963599 Extend functions returning a std::vector<vk::StructureChain> to use an additional local vector for getting the information, and then copy the heads of the StructureChains over to the return vector (#432)
Fixes #400
2019-11-13 10:04:50 +01:00
Andreas Süßenbach
c06a3300f6 Add a couple of new samples, improved some others: (#414)
new:
- InstanceVersion: print out the instance version
- PhysicalDeviceExtensions: print out the device specific extensions
- PhysicalDeviceFeatures: print out the device specific features
- PhysicalDeviceGroups: print out the device groups (interesting with SLI)
- PhysicalDeviceMemoryProperties: print out the device specific memory properties
- PhysicalDeviceQueueFamilyProperties: print out the device specific queue family properties
- SurfaceCapabilities: print out the surface specific capabilities
- SurfaceFormats: print out the supported surface specific formats
improved:
- InstanceExtensionProperties: print out the instance extensions alphabetically
- InstanceLayerProperties: removed an unused local function
- RayTracing: improved fence usage
2019-10-28 15:36:21 +01:00