diff --git a/inc/hgl/graph/vulkan/VKDescriptorSets.h b/inc/hgl/graph/vulkan/VKDescriptorSets.h index 0f9ceb9e..6661197a 100644 --- a/inc/hgl/graph/vulkan/VKDescriptorSets.h +++ b/inc/hgl/graph/vulkan/VKDescriptorSets.h @@ -40,9 +40,9 @@ public: const VkPipelineLayout GetPipelineLayout ()const{return pipeline_layout;} void Clear(); - bool BindUBO(const uint32_t binding,const Buffer *); - bool BindUBODynamic(const uint32_t binding,const Buffer *); - bool BindSampler(const uint32_t binding,Texture *,Sampler *); + bool BindUBO(const int binding,const Buffer *); + bool BindUBODynamic(const int binding,const Buffer *); + bool BindSampler(const int binding,Texture *,Sampler *); void Update(); };//class DescriptorSets VK_NAMESPACE_END diff --git a/src/RenderDevice/Vulkan/VKDescriptorSets.cpp b/src/RenderDevice/Vulkan/VKDescriptorSets.cpp index 19f81f34..da97aee9 100644 --- a/src/RenderDevice/Vulkan/VKDescriptorSets.cpp +++ b/src/RenderDevice/Vulkan/VKDescriptorSets.cpp @@ -11,8 +11,11 @@ void DescriptorSets::Clear() desc_image_info.ClearData(); } -bool DescriptorSets::BindUBO(const uint32_t binding,const Buffer *buf) +bool DescriptorSets::BindUBO(const int binding,const Buffer *buf) { + if(binding<0||!buf) + return(false); + VkWriteDescriptorSet writeDescriptorSet; writeDescriptorSet.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; @@ -30,8 +33,11 @@ bool DescriptorSets::BindUBO(const uint32_t binding,const Buffer *buf) return(true); } -bool DescriptorSets::BindUBODynamic(const uint32_t binding,const Buffer *buf) +bool DescriptorSets::BindUBODynamic(const int binding,const Buffer *buf) { + if(binding<0||!buf) + return(false); + VkWriteDescriptorSet writeDescriptorSet; writeDescriptorSet.sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; @@ -49,9 +55,9 @@ bool DescriptorSets::BindUBODynamic(const uint32_t binding,const Buffer *buf) return(true); } -bool DescriptorSets::BindSampler(const uint32_t binding,Texture *tex,Sampler *sampler) +bool DescriptorSets::BindSampler(const int binding,Texture *tex,Sampler *sampler) { - if(!tex||!sampler) + if(binding<0||!tex||!sampler) return(false); VkDescriptorImageInfo *image_info=new VkDescriptorImageInfo;