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
This commit is contained in:
15
samples/SharedHandles/CMakeLists.txt
Normal file
15
samples/SharedHandles/CMakeLists.txt
Normal file
@@ -0,0 +1,15 @@
|
||||
# Copyright(c) 2019, 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.
|
||||
|
||||
vulkan_hpp__setup_sample_dynamic( NAME SharedHandles )
|
||||
Reference in New Issue
Block a user