From 3fa5c3c03224d0d884e238d35ac9aea5403af437 Mon Sep 17 00:00:00 2001 From: hyzboy Date: Thu, 10 Dec 2020 14:53:26 +0800 Subject: [PATCH] add dynamic param at DescriptorSets::Bind....functions. --- inc/hgl/graph/VKDescriptorSets.h | 12 +++++++----- src/SceneGraph/Vulkan/VKDescriptorSets.cpp | 8 ++++---- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/inc/hgl/graph/VKDescriptorSets.h b/inc/hgl/graph/VKDescriptorSets.h index 3cdfb100..65ad4011 100644 --- a/inc/hgl/graph/VKDescriptorSets.h +++ b/inc/hgl/graph/VKDescriptorSets.h @@ -35,13 +35,15 @@ public: ~DescriptorSets()=default; - const uint32_t GetCount ()const{return count;} - const VkDescriptorSet * GetDescriptorSets ()const{return &desc_set;} - const VkPipelineLayout GetPipelineLayout ()const{return pipeline_layout;} + const uint32_t GetCount ()const{return count;} + const VkDescriptorSet * GetDescriptorSets ()const{return &desc_set;} + const VkPipelineLayout GetPipelineLayout ()const{return pipeline_layout;} void Clear(); - bool BindUBO(const int binding,const GPUBuffer *); - bool BindUBO(const int binding,const GPUBuffer *,const VkDeviceSize offset,const VkDeviceSize range); + + bool BindUBO(const int binding,const GPUBuffer *buf,bool dynamic=false); + bool BindUBO(const int binding,const GPUBuffer *buf,const VkDeviceSize offset,const VkDeviceSize range,bool dynamic=false); + bool BindSampler(const int binding,Texture *,Sampler *); bool BindInputAttachment(const int binding,Texture *); void Update(); diff --git a/src/SceneGraph/Vulkan/VKDescriptorSets.cpp b/src/SceneGraph/Vulkan/VKDescriptorSets.cpp index fb0a00d1..b6f4d8c9 100644 --- a/src/SceneGraph/Vulkan/VKDescriptorSets.cpp +++ b/src/SceneGraph/Vulkan/VKDescriptorSets.cpp @@ -69,17 +69,17 @@ void DescriptorSets::Clear() wds_list.ClearData(); } -bool DescriptorSets::BindUBO(const int binding,const GPUBuffer *buf) +bool DescriptorSets::BindUBO(const int binding,const GPUBuffer *buf,bool dynamic) { if(binding<0||!buf) return(false); - wds_list.Add(WriteDescriptorSet(desc_set,binding,buf->GetBufferInfo(),buf->IsDynamic())); + wds_list.Add(WriteDescriptorSet(desc_set,binding,buf->GetBufferInfo(),dynamic)); return(true); } -bool DescriptorSets::BindUBO(const int binding,const GPUBuffer *buf,const VkDeviceSize offset,const VkDeviceSize range) +bool DescriptorSets::BindUBO(const int binding,const GPUBuffer *buf,const VkDeviceSize offset,const VkDeviceSize range,bool dynamic) { if(binding<0||!buf) return(false); @@ -88,7 +88,7 @@ bool DescriptorSets::BindUBO(const int binding,const GPUBuffer *buf,const VkDevi buffer_list.Add(buf_info); - wds_list.Add(WriteDescriptorSet(desc_set,binding,buf_info,buf->IsDynamic())); + wds_list.Add(WriteDescriptorSet(desc_set,binding,buf_info,dynamic)); return(true); }