diff --git a/inc/hgl/graph/vulkan/VKDescriptorSets.h b/inc/hgl/graph/vulkan/VKDescriptorSets.h index babbaf06..0a92bfcc 100644 --- a/inc/hgl/graph/vulkan/VKDescriptorSets.h +++ b/inc/hgl/graph/vulkan/VKDescriptorSets.h @@ -11,7 +11,7 @@ class DescriptorSets Device *device; int count; VkDescriptorSet *desc_set_list; - Map index_by_binding; + const Map *index_by_binding; VkPipelineLayout pipeline_layout; @@ -19,12 +19,11 @@ private: friend class DescriptorSetLayoutCreater; - DescriptorSets(Device *dev,const int c,VkPipelineLayout pl,VkDescriptorSet *desc_set,Map &bi) + DescriptorSets(Device *dev,const int c,VkPipelineLayout pl,VkDescriptorSet *desc_set,const Map *bi):index_by_binding(bi) { device=dev; count=c; desc_set_list=desc_set; - index_by_binding=bi; pipeline_layout=pl; } @@ -34,7 +33,7 @@ public: const uint32_t GetCount ()const{return count;} 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;} bool UpdateUBO(const uint32_t binding,const VkDescriptorBufferInfo *buf_info); diff --git a/src/RenderDevice/Vulkan/VKDescriptorSetLayoutCreater.cpp b/src/RenderDevice/Vulkan/VKDescriptorSetLayoutCreater.cpp index 67229b4c..df6ce4fc 100644 --- a/src/RenderDevice/Vulkan/VKDescriptorSetLayoutCreater.cpp +++ b/src/RenderDevice/Vulkan/VKDescriptorSetLayoutCreater.cpp @@ -126,6 +126,6 @@ DescriptorSets *DescriptorSetLayoutCreater::Create() 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 \ No newline at end of file diff --git a/src/RenderDevice/Vulkan/VKDescriptorSets.cpp b/src/RenderDevice/Vulkan/VKDescriptorSets.cpp index 98533376..6c0dff51 100644 --- a/src/RenderDevice/Vulkan/VKDescriptorSets.cpp +++ b/src/RenderDevice/Vulkan/VKDescriptorSets.cpp @@ -2,11 +2,11 @@ #include VK_NAMESPACE_BEGIN -VkDescriptorSet DescriptorSets::GetDescriptorSet(const uint32_t binding) +VkDescriptorSet DescriptorSets::GetDescriptorSet(const uint32_t binding)const { int index; - if(!index_by_binding.Get(binding,index)) + if(!index_by_binding->Get(binding,index)) return(nullptr); return desc_set_list[index];