From 6509bee5c562a29681f7f0103f498afbfe021e77 Mon Sep 17 00:00:00 2001 From: hyzboy Date: Tue, 2 Jul 2019 20:06:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3ShaderModuleManage::CreateSha?= =?UTF-8?q?der=E5=9C=A8=E5=8A=A0=E8=BD=BDspv=E6=96=87=E4=BB=B6=E6=97=B6?= =?UTF-8?q?=E7=9A=84=E4=B8=8D=E6=AD=A3=E7=A1=AE=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/RenderDevice/Vulkan/VKShaderModuleManage.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/RenderDevice/Vulkan/VKShaderModuleManage.cpp b/src/RenderDevice/Vulkan/VKShaderModuleManage.cpp index 15064e31..3db88eda 100644 --- a/src/RenderDevice/Vulkan/VKShaderModuleManage.cpp +++ b/src/RenderDevice/Vulkan/VKShaderModuleManage.cpp @@ -27,6 +27,9 @@ ShaderModuleManage::~ShaderModuleManage() const ShaderModule *ShaderModuleManage::CreateShader(const VkShaderStageFlagBits shader_stage_bit,const void *spv_data,const uint32_t spv_size) { + if(!spv_data||spv_size<=0) + return(nullptr); + VkPipelineShaderStageCreateInfo *shader_stage=new VkPipelineShaderStageCreateInfo; shader_stage->sType=VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO; shader_stage->pNext=nullptr; @@ -63,11 +66,10 @@ const ShaderModule *ShaderModuleManage::CreateShader(const VkShaderStageFlagBits const ShaderModule *ShaderModuleManage::CreateShader(const VkShaderStageFlagBits shader_stage_bit,const OSString &filename) { - uint32_t spv_size; void *spv_data; - spv_size=hgl::filesystem::LoadFileToMemory(filename,&spv_data); + int64 spv_size=hgl::filesystem::LoadFileToMemory(filename,&spv_data); - if(!spv_data) + if(spv_size<=0) return(nullptr); const ShaderModule *sm=CreateShader(shader_stage_bit,spv_data,spv_size);