aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobin Ehlis <tobine@google.com>2017-09-07 14:24:36 -0600
committerTobin Ehlis <tobine@google.com>2017-09-07 14:32:12 -0600
commitbbf52bb60f7f45e005d50d20668aee1e1e3b7805 (patch)
tree4b96dcf5c1ed663670784ee34ad68f5ee438aa48
parent70c56005e0c7606831081cb28e776452cfe3920d (diff)
downloadusermoji-bbf52bb60f7f45e005d50d20668aee1e1e3b7805.tar.xz
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.
-rw-r--r--layers/core_validation.cpp4
-rw-r--r--layers/core_validation_types.h7
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<RENDER_PASS_STATE> const GetRenderPassStateSharedPtr(layer_data const *dev_data, VkRenderPass renderpass) {
+std::shared_ptr<RENDER_PASS_STATE> 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<int32_t> 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<RENDER_PASS_STATE>(new RENDER_PASS_STATE(pCreateInfo));
+ auto render_pass = std::make_shared<RENDER_PASS_STATE>(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<RENDER_PASS_STATE> const rp_state;
+ std::shared_ptr<RENDER_PASS_STATE> rp_state;
std::vector<MT_FB_ATTACHMENT_INFO> attachments;
- FRAMEBUFFER_STATE(VkFramebuffer fb, const VkFramebufferCreateInfo *pCreateInfo,
- std::shared_ptr<RENDER_PASS_STATE> const rpstate)
+ FRAMEBUFFER_STATE(VkFramebuffer fb, const VkFramebufferCreateInfo *pCreateInfo, std::shared_ptr<RENDER_PASS_STATE> &&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<RENDER_PASS_STATE> const GetRenderPassStateSharedPtr(layer_data const *dev_data, VkRenderPass renderpass);
+std::shared_ptr<RENDER_PASS_STATE> 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);