Vulkan-Hpp/samples/CMakeLists.txt
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

67 lines
2.6 KiB
CMake

# Copyright(c) 2018, NVIDIA CORPORATION. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
add_subdirectory( utils )
add_subdirectory( 01_InitInstance )
add_subdirectory( 02_EnumerateDevices )
add_subdirectory( 03_InitDevice )
add_subdirectory( 04_InitCommandBuffer )
add_subdirectory( 05_InitSwapchain )
add_subdirectory( 06_InitDepthBuffer )
add_subdirectory( 07_InitUniformBuffer )
add_subdirectory( 08_InitPipelineLayout )
add_subdirectory( 09_InitDescriptorSet )
add_subdirectory( 10_InitRenderPass )
add_subdirectory( 11_InitShaders )
add_subdirectory( 12_InitFrameBuffers )
add_subdirectory( 13_InitVertexBuffer )
add_subdirectory( 14_InitPipeline )
add_subdirectory( 15_DrawCube )
add_subdirectory( 16_Vulkan_1_1 )
add_subdirectory( CopyBlitImage )
add_subdirectory( CreateDebugUtilsMessenger )
add_subdirectory( DebugUtilsObjectName )
add_subdirectory( DrawTexturedCube )
add_subdirectory( DynamicUniform )
add_subdirectory( EnableValidationWithCallback )
add_subdirectory( EnumerateDevicesAdvanced )
add_subdirectory( Events )
add_subdirectory( ImmutableSampler )
add_subdirectory( InitTexture )
add_subdirectory( InputAttachment )
add_subdirectory( InstanceExtensionProperties )
add_subdirectory( InstanceLayerExtensionProperties )
add_subdirectory( InstanceLayerProperties )
add_subdirectory( InstanceVersion )
add_subdirectory( MultipleSets )
add_subdirectory( OcclusionQuery )
add_subdirectory( PhysicalDeviceExtensions )
add_subdirectory( PhysicalDeviceFeatures )
add_subdirectory( PhysicalDeviceGroups )
add_subdirectory( PhysicalDeviceMemoryProperties )
add_subdirectory( PhysicalDeviceProperties )
add_subdirectory( PhysicalDeviceQueueFamilyProperties )
add_subdirectory( PipelineCache )
add_subdirectory( PipelineDerivative )
add_subdirectory( PushConstants )
add_subdirectory( PushDescriptors )
add_subdirectory( RayTracing )
add_subdirectory( SharedHandles )
add_subdirectory( SecondaryCommandBuffer )
add_subdirectory( SeparateImageSampler )
add_subdirectory( SurfaceCapabilities )
add_subdirectory( SurfaceFormats )
add_subdirectory( Template )
add_subdirectory( TexelBuffer )