used DESCRIPTOR_SET_TYPE_COUNT

This commit is contained in:
HuYingzhuo(hugo/hyzboy) 2023-03-20 13:35:04 +08:00
parent 3a378be660
commit 35a282ef5e
6 changed files with 15 additions and 10 deletions

@ -1 +1 @@
Subproject commit 4a7af92ac66d55d1e6bf3d7e384ab92797e0559a
Subproject commit bcf085546059dab3776bb8aa520680169dbeb3d5

View File

@ -9,7 +9,7 @@
VK_NAMESPACE_BEGIN
using ShaderStageCreateInfoList=List<VkPipelineShaderStageCreateInfo>;
using MaterialParameterArray=MaterialParameters *[size_t(DescriptorSetType::RANGE_SIZE)];
using MaterialParameterArray=MaterialParameters *[DESCRIPTOR_SET_TYPE_COUNT];
struct MaterialData
{

View File

@ -9,8 +9,8 @@ class MaterialDescriptorSets
{
UTF8String mtl_name;
//ShaderDescriptorList sd_list_by_set_type[size_t(DescriptorSetType::RANGE_SIZE)];
bool set_has_desc[size_t(DescriptorSetType::RANGE_SIZE)];
//ShaderDescriptorList sd_list_by_set_type[DESCRIPTOR_SET_TYPE_COUNT];
bool set_has_desc[DESCRIPTOR_SET_TYPE_COUNT];
// Map<AnsiString,ShaderDescriptor *> sd_by_name;
Map<AnsiString,int> binding_map[VK_DESCRIPTOR_TYPE_RANGE_SIZE];
@ -19,7 +19,7 @@ class MaterialDescriptorSets
private:
DescriptorSetLayoutCreateInfo dsl_ci[size_t(DescriptorSetType::RANGE_SIZE)];
DescriptorSetLayoutCreateInfo dsl_ci[DESCRIPTOR_SET_TYPE_COUNT];
public:

View File

@ -29,7 +29,7 @@ class MaterialDescriptorInfo
ShaderDescriptor *AddDescriptor(VkShaderStageFlagBits ssb,ShaderDescriptor *new_sd); ///<添加一个描述符如果它本身存在则返回false
};
using ShaderDescriptorSetArray=ShaderDescriptorSet[size_t(DescriptorSetType::RANGE_SIZE)];
using ShaderDescriptorSetArray=ShaderDescriptorSet[DESCRIPTOR_SET_TYPE_COUNT];
ShaderDescriptorSetArray desc_set_array;
@ -67,5 +67,10 @@ public:
const DescriptorSetType GetSetType(const AnsiString &)const;
void Resort(); //排序产生set号与binding号
const bool hasSet(const DescriptorSetType &type)const
{
return desc_set_array[size_t(type)].count>0;
}
};
SHADERGEN_NAMESPACE_END

View File

@ -50,7 +50,7 @@ MaterialDescriptorSets::MaterialDescriptorSets(const UTF8String &name,ShaderDesc
}
}
VkDescriptorSetLayoutBinding *dsl_bind[size_t(DescriptorSetType::RANGE_SIZE)];
VkDescriptorSetLayoutBinding *dsl_bind[DESCRIPTOR_SET_TYPE_COUNT];
{
ENUM_CLASS_FOR(DescriptorSetType,int,i)

View File

@ -9,10 +9,10 @@ struct PipelineLayoutData
{
VkDevice device;
int binding_count[size_t(DescriptorSetType::RANGE_SIZE)];
VkDescriptorSetLayout layouts[size_t(DescriptorSetType::RANGE_SIZE)];
int binding_count[DESCRIPTOR_SET_TYPE_COUNT];
VkDescriptorSetLayout layouts[DESCRIPTOR_SET_TYPE_COUNT];
VkDescriptorSetLayout fin_dsl[size_t(DescriptorSetType::RANGE_SIZE)];
VkDescriptorSetLayout fin_dsl[DESCRIPTOR_SET_TYPE_COUNT];
uint32_t fin_dsl_count;
VkPipelineLayout pipeline_layout;