diff options
| author | Chris Forbes <chrisforbes@google.com> | 2017-05-02 18:18:01 -0700 |
|---|---|---|
| committer | Chris Forbes <chrisf@ijw.co.nz> | 2017-05-03 11:38:06 -0700 |
| commit | 4ae75644b238b63d0e8f8b7d21cfd51f45b2c943 (patch) | |
| tree | 6a06449f9fccb1544af01498fd4fd5ca0e280f5c | |
| parent | 32d3246d8bde4f6b5ff79c94749eee44e29f20c0 (diff) | |
| download | usermoji-4ae75644b238b63d0e8f8b7d21cfd51f45b2c943.tar.xz | |
layers: Move UO helpers to header
| -rw-r--r-- | layers/unique_objects.cpp | 17 | ||||
| -rw-r--r-- | layers/unique_objects.h | 18 |
2 files changed, 18 insertions, 17 deletions
diff --git a/layers/unique_objects.cpp b/layers/unique_objects.cpp index abf5a3cb..f7f61f01 100644 --- a/layers/unique_objects.cpp +++ b/layers/unique_objects.cpp @@ -316,23 +316,6 @@ VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL GetPhysicalDeviceProcAddr(VkInstance in return disp_table->GetPhysicalDeviceProcAddr(instance, funcName); } -/* Unwrap a handle. */ -// must hold lock! -template<typename HandleType, typename MapType> -static HandleType Unwrap(MapType *layer_data, HandleType wrappedHandle) { - // TODO: don't use operator[] here. - return (HandleType)layer_data->unique_id_mapping[reinterpret_cast<uint64_t const &>(wrappedHandle)]; -} - -/* Wrap a newly created handle with a new unique ID, and return the new ID. */ -// must hold lock! -template<typename HandleType, typename MapType> -static HandleType WrapNew(MapType *layer_data, HandleType newlyCreatedHandle) { - auto unique_id = global_unique_id++; - layer_data->unique_id_mapping[unique_id] = reinterpret_cast<uint64_t const &>(newlyCreatedHandle); - return (HandleType)unique_id; -} - VKAPI_ATTR VkResult VKAPI_CALL CreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo *pCreateInfos, const VkAllocationCallbacks *pAllocator, VkPipeline *pPipelines) { diff --git a/layers/unique_objects.h b/layers/unique_objects.h index 33616aa1..60c20a39 100644 --- a/layers/unique_objects.h +++ b/layers/unique_objects.h @@ -102,4 +102,22 @@ bool ContainsExtStruct(const T *target, VkStructureType ext_type) { return false; } + +/* Unwrap a handle. */ +// must hold lock! +template<typename HandleType, typename MapType> +HandleType Unwrap(MapType *layer_data, HandleType wrappedHandle) { + // TODO: don't use operator[] here. + return (HandleType)layer_data->unique_id_mapping[reinterpret_cast<uint64_t const &>(wrappedHandle)]; +} + +/* Wrap a newly created handle with a new unique ID, and return the new ID. */ +// must hold lock! +template<typename HandleType, typename MapType> +HandleType WrapNew(MapType *layer_data, HandleType newlyCreatedHandle) { + auto unique_id = global_unique_id++; + layer_data->unique_id_mapping[unique_id] = reinterpret_cast<uint64_t const &>(newlyCreatedHandle); + return (HandleType)unique_id; +} + } // namespace unique_objects |
