From bd59374f25129ca042a6093efae245e0bdbb8051 Mon Sep 17 00:00:00 2001 From: hyzboy Date: Mon, 6 May 2019 21:11:10 +0800 Subject: [PATCH] =?UTF-8?q?DescriptorSetLayoutCreater=E4=BC=A0=E5=85=A5Des?= =?UTF-8?q?criptorSets=E7=9A=84index=5Fby=5Fbinding=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E6=8C=87=E9=92=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inc/hgl/graph/vulkan/VKDescriptorSets.h | 7 +++---- src/RenderDevice/Vulkan/VKDescriptorSetLayoutCreater.cpp | 2 +- src/RenderDevice/Vulkan/VKDescriptorSets.cpp | 4 ++-- 3 files changed, 6 insertions(+), 7 deletions(-) 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];