commented binding_list of VKMaterialDescriptorSets, because I don't know it's function.

This commit is contained in:
HuYingzhuo(hugo/hyzboy) 2023-02-23 12:40:23 +08:00
parent cce2cab12c
commit e31a6cca13
2 changed files with 18 additions and 11 deletions

View File

@ -31,7 +31,7 @@ class MaterialDescriptorSets
Map<AnsiString,ShaderDescriptor *> sd_by_name; Map<AnsiString,ShaderDescriptor *> sd_by_name;
Map<AnsiString,int> binding_map[VK_DESCRIPTOR_TYPE_RANGE_SIZE]; Map<AnsiString,int> binding_map[VK_DESCRIPTOR_TYPE_RANGE_SIZE];
int *binding_list[VK_DESCRIPTOR_TYPE_RANGE_SIZE]; // int *binding_list[VK_DESCRIPTOR_TYPE_RANGE_SIZE];
private: private:

View File

@ -47,14 +47,14 @@ MaterialDescriptorSets::MaterialDescriptorSets(const UTF8String &name,ShaderDesc
} }
} }
VkDescriptorSetLayoutBinding *sds_ptr[size_t(DescriptorSetType::RANGE_SIZE)]; VkDescriptorSetLayoutBinding *dsl_bind[size_t(DescriptorSetType::RANGE_SIZE)];
{ {
ENUM_CLASS_FOR(DescriptorSetType,int,i) ENUM_CLASS_FOR(DescriptorSetType,int,i)
if(dsl_ci[i].bindingCount>0) if(dsl_ci[i].bindingCount>0)
{ {
dsl_ci[i].pBindings=new VkDescriptorSetLayoutBinding[dsl_ci[i].bindingCount]; dsl_ci[i].pBindings=new VkDescriptorSetLayoutBinding[dsl_ci[i].bindingCount];
sds_ptr[i]=(VkDescriptorSetLayoutBinding *)dsl_ci[i].pBindings; dsl_bind[i]=(VkDescriptorSetLayoutBinding *)dsl_ci[i].pBindings;
} }
} }
@ -67,25 +67,25 @@ MaterialDescriptorSets::MaterialDescriptorSets(const UTF8String &name,ShaderDesc
{ {
if(sdl->GetCount()>0) if(sdl->GetCount()>0)
{ {
binding_list[i]=new int[sdl->GetCount()]; // binding_list[i]=new int[sdl->GetCount()];
sdp=sdl->GetData(); sdp=sdl->GetData();
for(int j=0;j<sdl->GetCount();j++) for(int j=0;j<sdl->GetCount();j++)
{ {
binding_list[i][j]=(*sdp)->binding; // binding_list[i][j]=(*sdp)->binding;
WriteDescriptorSetLayoutBinding(sds_ptr[size_t((*sdp)->set_type)], WriteDescriptorSetLayoutBinding(dsl_bind[size_t((*sdp)->set_type)],
*sdp); *sdp);
++sds_ptr[size_t((*sdp)->set_type)]; ++dsl_bind[size_t((*sdp)->set_type)];
++sdp; ++sdp;
} }
} }
else //else
{ //{
binding_list[i]=nullptr; // binding_list[i]=nullptr;
} //}
++sdl; ++sdl;
} }
@ -100,6 +100,13 @@ MaterialDescriptorSets::~MaterialDescriptorSets()
delete[] dsl_ci[i].pBindings; delete[] dsl_ci[i].pBindings;
delete[] sd_list; //"delete[] nullptr" isn't bug. delete[] sd_list; //"delete[] nullptr" isn't bug.
//for(uint i=VK_DESCRIPTOR_TYPE_BEGIN_RANGE;
// i<=VK_DESCRIPTOR_TYPE_END_RANGE;i++)
//{
// if(binding_list[i])
// delete[] binding_list[i];
//}
} }
const int MaterialDescriptorSets::GetBinding(const VkDescriptorType &desc_type,const AnsiString &name)const const int MaterialDescriptorSets::GetBinding(const VkDescriptorType &desc_type,const AnsiString &name)const