From bbf52bb60f7f45e005d50d20668aee1e1e3b7805 Mon Sep 17 00:00:00 2001 From: Tobin Ehlis Date: Thu, 7 Sep 2017 14:24:36 -0600 Subject: layers:Clean up shared_ptr use Use make_shared to construct RENDER_PASS_STATE shared_ptr at CreateRenderPass() time, return the shared_ptr by value from helper function and accecpt rvalue ref in FRAMEBUFFER_STATE constructor. --- layers/core_validation.cpp | 4 ++-- layers/core_validation_types.h | 7 +++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp index d262ab8c..b0bc39b8 100644 --- a/layers/core_validation.cpp +++ b/layers/core_validation.cpp @@ -705,7 +705,7 @@ RENDER_PASS_STATE *GetRenderPassState(layer_data const *dev_data, VkRenderPass r return it->second.get(); } -std::shared_ptr const GetRenderPassStateSharedPtr(layer_data const *dev_data, VkRenderPass renderpass) { +std::shared_ptr GetRenderPassStateSharedPtr(layer_data const *dev_data, VkRenderPass renderpass) { auto it = dev_data->renderPassMap.find(renderpass); if (it == dev_data->renderPassMap.end()) { return nullptr; @@ -7938,7 +7938,7 @@ VKAPI_ATTR VkResult VKAPI_CALL CreateRenderPass(VkDevice device, const VkRenderP std::vector subpass_to_dep_index(pCreateInfo->subpassCount); skip |= CreatePassDAG(dev_data, pCreateInfo, subpass_to_node, has_self_dependency, subpass_to_dep_index); - auto render_pass = unique_ptr(new RENDER_PASS_STATE(pCreateInfo)); + auto render_pass = std::make_shared(pCreateInfo); render_pass->renderPass = *pRenderPass; render_pass->hasSelfDependency = has_self_dependency; render_pass->subpassToNode = subpass_to_node; diff --git a/layers/core_validation_types.h b/layers/core_validation_types.h index dc14e55a..928583cd 100644 --- a/layers/core_validation_types.h +++ b/layers/core_validation_types.h @@ -765,10 +765,9 @@ class FRAMEBUFFER_STATE : public BASE_NODE { public: VkFramebuffer framebuffer; safe_VkFramebufferCreateInfo createInfo; - std::shared_ptr const rp_state; + std::shared_ptr rp_state; std::vector attachments; - FRAMEBUFFER_STATE(VkFramebuffer fb, const VkFramebufferCreateInfo *pCreateInfo, - std::shared_ptr const rpstate) + FRAMEBUFFER_STATE(VkFramebuffer fb, const VkFramebufferCreateInfo *pCreateInfo, std::shared_ptr &&rpstate) : framebuffer(fb), createInfo(pCreateInfo), rp_state(rpstate){}; }; @@ -790,7 +789,7 @@ IMAGE_VIEW_STATE *GetImageViewState(const layer_data *, VkImageView); SWAPCHAIN_NODE *GetSwapchainNode(const layer_data *, VkSwapchainKHR); GLOBAL_CB_NODE *GetCBNode(layer_data const *my_data, const VkCommandBuffer cb); RENDER_PASS_STATE *GetRenderPassState(layer_data const *dev_data, VkRenderPass renderpass); -std::shared_ptr const GetRenderPassStateSharedPtr(layer_data const *dev_data, VkRenderPass renderpass); +std::shared_ptr GetRenderPassStateSharedPtr(layer_data const *dev_data, VkRenderPass renderpass); FRAMEBUFFER_STATE *GetFramebufferState(const layer_data *my_data, VkFramebuffer framebuffer); COMMAND_POOL_NODE *GetCommandPoolNode(layer_data *dev_data, VkCommandPool pool); shader_module const *GetShaderModuleState(layer_data const *dev_data, VkShaderModule module); -- cgit v1.2.3