From 1693424aab2aefb571b0e083852d36184a11500e Mon Sep 17 00:00:00 2001 From: Roman Kuznetsov Date: Mon, 18 Feb 2019 21:53:47 +0300 Subject: [PATCH] [vulkan] Fixed memory corruption --- drape/vulkan/vulkan_pipeline.cpp | 6 ++++-- 1 file 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(key.m_program->GetShaders().size()); - pipelineCreateInfo.pStages = key.m_program->GetShaders().data(); + auto shaders = key.m_program->GetShaders(); + pipelineCreateInfo.stageCount = static_cast(shaders.size()); + pipelineCreateInfo.pStages = shaders.data(); VkPipeline pipeline; CHECK_VK_CALL(vkCreateGraphicsPipelines(device, m_vulkanPipelineCache, 1, &pipelineCreateInfo,