DescriptorSetLayoutCreater传入DescriptorSets的index_by_binding改为指针

This commit is contained in:
hyzboy 2019-05-06 21:11:10 +08:00
parent 9447ae7487
commit bd59374f25
3 changed files with 6 additions and 7 deletions

View File

@ -11,7 +11,7 @@ class DescriptorSets
Device *device; Device *device;
int count; int count;
VkDescriptorSet *desc_set_list; VkDescriptorSet *desc_set_list;
Map<uint32_t,int> index_by_binding; const Map<uint32_t,int> *index_by_binding;
VkPipelineLayout pipeline_layout; VkPipelineLayout pipeline_layout;
@ -19,12 +19,11 @@ private:
friend class DescriptorSetLayoutCreater; friend class DescriptorSetLayoutCreater;
DescriptorSets(Device *dev,const int c,VkPipelineLayout pl,VkDescriptorSet *desc_set,Map<uint32_t,int> &bi) DescriptorSets(Device *dev,const int c,VkPipelineLayout pl,VkDescriptorSet *desc_set,const Map<uint32_t,int> *bi):index_by_binding(bi)
{ {
device=dev; device=dev;
count=c; count=c;
desc_set_list=desc_set; desc_set_list=desc_set;
index_by_binding=bi;
pipeline_layout=pl; pipeline_layout=pl;
} }
@ -34,7 +33,7 @@ public:
const uint32_t GetCount ()const{return count;} const uint32_t GetCount ()const{return count;}
const VkDescriptorSet * GetDescriptorSets ()const{return desc_set_list;} const VkDescriptorSet * GetDescriptorSets ()const{return desc_set_list;}
VkDescriptorSet GetDescriptorSet (const uint32_t binding); VkDescriptorSet GetDescriptorSet (const uint32_t binding)const;
const VkPipelineLayout GetPipelineLayout ()const{return pipeline_layout;} const VkPipelineLayout GetPipelineLayout ()const{return pipeline_layout;}
bool UpdateUBO(const uint32_t binding,const VkDescriptorBufferInfo *buf_info); bool UpdateUBO(const uint32_t binding,const VkDescriptorBufferInfo *buf_info);

View File

@ -126,6 +126,6 @@ DescriptorSets *DescriptorSetLayoutCreater::Create()
return(nullptr); return(nullptr);
} }
return(new DescriptorSets(device,count,pipeline_layout,desc_set,index_by_binding)); return(new DescriptorSets(device,count,pipeline_layout,desc_set,&index_by_binding));
} }
VK_NAMESPACE_END VK_NAMESPACE_END

View File

@ -2,11 +2,11 @@
#include<hgl/graph/vulkan/VKDevice.h> #include<hgl/graph/vulkan/VKDevice.h>
VK_NAMESPACE_BEGIN VK_NAMESPACE_BEGIN
VkDescriptorSet DescriptorSets::GetDescriptorSet(const uint32_t binding) VkDescriptorSet DescriptorSets::GetDescriptorSet(const uint32_t binding)const
{ {
int index; int index;
if(!index_by_binding.Get(binding,index)) if(!index_by_binding->Get(binding,index))
return(nullptr); return(nullptr);
return desc_set_list[index]; return desc_set_list[index];