diff options
author | Roman Kuznetsov <r.kuznetsow@gmail.com> | 2019-02-18 21:53:47 +0300 |
---|---|---|
committer | Daria Volvenkova <d.volvenkova@corp.mail.ru> | 2019-03-01 10:45:24 +0300 |
commit | 1693424aab2aefb571b0e083852d36184a11500e (patch) | |
tree | 21c349437624d76bf058b5d1a3820be102f73301 /drape | |
parent | df45a4b69403924f35d47d58310a634a42c4acd2 (diff) |
[vulkan] Fixed memory corruption
Diffstat (limited to 'drape')
-rw-r--r-- | drape/vulkan/vulkan_pipeline.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drape/vulkan/vulkan_pipeline.cpp b/drape/vulkan/vulkan_pipeline.cpp index f126dc2946..3a81d3bb72 100644 --- a/drape/vulkan/vulkan_pipeline.cpp +++ b/drape/vulkan/vulkan_pipeline.cpp @@ -385,6 +385,7 @@ VkPipeline VulkanPipeline::GetPipeline(VkDevice device, PipelineKey const & key) VkGraphicsPipelineCreateInfo pipelineCreateInfo = {}; pipelineCreateInfo.sType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO; pipelineCreateInfo.layout = key.m_program->GetPipelineLayout(); + CHECK(pipelineCreateInfo.layout != VK_NULL_HANDLE, ()); pipelineCreateInfo.renderPass = key.m_renderPass; pipelineCreateInfo.basePipelineIndex = -1; pipelineCreateInfo.basePipelineHandle = VK_NULL_HANDLE; @@ -396,8 +397,9 @@ VkPipeline VulkanPipeline::GetPipeline(VkDevice device, PipelineKey const & key) pipelineCreateInfo.pViewportState = &viewportStateCreateInfo; pipelineCreateInfo.pDepthStencilState = &depthStencilState; pipelineCreateInfo.pDynamicState = &dynamicStateCreateInfo; - pipelineCreateInfo.stageCount = static_cast<uint32_t>(key.m_program->GetShaders().size()); - pipelineCreateInfo.pStages = key.m_program->GetShaders().data(); + auto shaders = key.m_program->GetShaders(); + pipelineCreateInfo.stageCount = static_cast<uint32_t>(shaders.size()); + pipelineCreateInfo.pStages = shaders.data(); VkPipeline pipeline; CHECK_VK_CALL(vkCreateGraphicsPipelines(device, m_vulkanPipelineCache, 1, &pipelineCreateInfo, |