From 8c8a218a3a57eb7c906f27263c878a194fc21fd7 Mon Sep 17 00:00:00 2001 From: "HuYingzhuo(hugo/hyzboy)" Date: Tue, 21 Mar 2023 14:15:33 +0800 Subject: [PATCH] added GetCount() at MaterialDescriptorInfo class. --- inc/hgl/shadergen/MaterialDescriptorInfo.h | 6 ++++++ src/ShaderGen/MaterialDescriptorInfo.cpp | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/inc/hgl/shadergen/MaterialDescriptorInfo.h b/inc/hgl/shadergen/MaterialDescriptorInfo.h index a42bb181..90e4a9db 100644 --- a/inc/hgl/shadergen/MaterialDescriptorInfo.h +++ b/inc/hgl/shadergen/MaterialDescriptorInfo.h @@ -14,6 +14,7 @@ SHADERGEN_NAMESPACE_BEGIN */ class MaterialDescriptorInfo { + uint descriptor_count; ShaderDescriptorSetArray desc_set_array; Map struct_map; @@ -51,6 +52,11 @@ public: void Resort(); //排序产生set号与binding号 + const uint GetCount()const + { + return descriptor_count; + } + const ShaderDescriptorSetArray &Get()const { return desc_set_array; diff --git a/src/ShaderGen/MaterialDescriptorInfo.cpp b/src/ShaderGen/MaterialDescriptorInfo.cpp index 4b582d19..fbae964c 100644 --- a/src/ShaderGen/MaterialDescriptorInfo.cpp +++ b/src/ShaderGen/MaterialDescriptorInfo.cpp @@ -14,6 +14,8 @@ MaterialDescriptorInfo::MaterialDescriptorInfo() p.set=-1; p.count=0; } + + descriptor_count=0; } const DescriptorSetType MaterialDescriptorInfo::GetSetType(const AnsiString &name)const @@ -73,6 +75,8 @@ SamplerDescriptor *MaterialDescriptorInfo::GetSampler(const AnsiString &name) void MaterialDescriptorInfo::Resort() { + descriptor_count=0; + //重新生成set/binding { int set=0; @@ -81,6 +85,8 @@ void MaterialDescriptorInfo::Resort() { if(p.count>0) { + descriptor_count+=p.count; + p.set=set; auto *sdp=p.descriptor_map.GetDataList();