diff --git a/inc/hgl/graph/VKMaterialDescriptorSets.h b/inc/hgl/graph/VKMaterialDescriptorSets.h index de80f852..13be4a16 100644 --- a/inc/hgl/graph/VKMaterialDescriptorSets.h +++ b/inc/hgl/graph/VKMaterialDescriptorSets.h @@ -9,9 +9,6 @@ class MaterialDescriptorSets { UTF8String mtl_name; - ShaderDescriptor *sd_list; - uint sd_count; - //ShaderDescriptorList sd_list_by_set_type[size_t(DescriptorSetType::RANGE_SIZE)]; bool set_has_desc[size_t(DescriptorSetType::RANGE_SIZE)]; diff --git a/src/SceneGraph/Vulkan/VKMaterialDescriptorSets.cpp b/src/SceneGraph/Vulkan/VKMaterialDescriptorSets.cpp index 191dd4d4..d28f8ea4 100644 --- a/src/SceneGraph/Vulkan/VKMaterialDescriptorSets.cpp +++ b/src/SceneGraph/Vulkan/VKMaterialDescriptorSets.cpp @@ -12,13 +12,10 @@ void WriteDescriptorSetLayoutBinding(VkDescriptorSetLayoutBinding *dslb,ShaderDe dslb->pImmutableSamplers=nullptr; } -MaterialDescriptorSets::MaterialDescriptorSets(const UTF8String &name,ShaderDescriptor *sd,const uint count) +MaterialDescriptorSets::MaterialDescriptorSets(const UTF8String &name,ShaderDescriptor *sd_list,const uint sd_count) { mtl_name=name; - sd_list=sd; - sd_count=count; - if(sd_count<=0)return; ShaderDescriptorList sd_list_by_desc_type[VK_DESCRIPTOR_TYPE_RANGE_SIZE]; @@ -105,8 +102,6 @@ MaterialDescriptorSets::~MaterialDescriptorSets() if(dsl_ci[i].bindingCount) delete[] dsl_ci[i].pBindings; - delete[] sd_list; //"delete[] nullptr" isn't bug. - //for(uint i=VK_DESCRIPTOR_TYPE_BEGIN_RANGE; // i<=VK_DESCRIPTOR_TYPE_END_RANGE;i++) //{ diff --git a/src/SceneGraph/Vulkan/VKRenderResourceMaterial.cpp b/src/SceneGraph/Vulkan/VKRenderResourceMaterial.cpp index 6dcbae6d..a8c55ee7 100644 --- a/src/SceneGraph/Vulkan/VKRenderResourceMaterial.cpp +++ b/src/SceneGraph/Vulkan/VKRenderResourceMaterial.cpp @@ -177,6 +177,8 @@ Material *RenderResource::CreateMaterial(const OSString &filename) LoadShaderDescriptor(cbr,sd_list,count,ver); mds=new MaterialDescriptorSets(mtl_name,sd_list,count); + + delete[] sd_list; } }