used DESCRIPTOR_SET_TYPE_COUNT
This commit is contained in:
parent
3a378be660
commit
35a282ef5e
@ -1 +1 @@
|
|||||||
Subproject commit 4a7af92ac66d55d1e6bf3d7e384ab92797e0559a
|
Subproject commit bcf085546059dab3776bb8aa520680169dbeb3d5
|
@ -9,7 +9,7 @@
|
|||||||
VK_NAMESPACE_BEGIN
|
VK_NAMESPACE_BEGIN
|
||||||
using ShaderStageCreateInfoList=List<VkPipelineShaderStageCreateInfo>;
|
using ShaderStageCreateInfoList=List<VkPipelineShaderStageCreateInfo>;
|
||||||
|
|
||||||
using MaterialParameterArray=MaterialParameters *[size_t(DescriptorSetType::RANGE_SIZE)];
|
using MaterialParameterArray=MaterialParameters *[DESCRIPTOR_SET_TYPE_COUNT];
|
||||||
|
|
||||||
struct MaterialData
|
struct MaterialData
|
||||||
{
|
{
|
||||||
|
@ -9,8 +9,8 @@ class MaterialDescriptorSets
|
|||||||
{
|
{
|
||||||
UTF8String mtl_name;
|
UTF8String mtl_name;
|
||||||
|
|
||||||
//ShaderDescriptorList sd_list_by_set_type[size_t(DescriptorSetType::RANGE_SIZE)];
|
//ShaderDescriptorList sd_list_by_set_type[DESCRIPTOR_SET_TYPE_COUNT];
|
||||||
bool set_has_desc[size_t(DescriptorSetType::RANGE_SIZE)];
|
bool set_has_desc[DESCRIPTOR_SET_TYPE_COUNT];
|
||||||
|
|
||||||
// Map<AnsiString,ShaderDescriptor *> sd_by_name;
|
// Map<AnsiString,ShaderDescriptor *> sd_by_name;
|
||||||
Map<AnsiString,int> binding_map[VK_DESCRIPTOR_TYPE_RANGE_SIZE];
|
Map<AnsiString,int> binding_map[VK_DESCRIPTOR_TYPE_RANGE_SIZE];
|
||||||
@ -19,7 +19,7 @@ class MaterialDescriptorSets
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
DescriptorSetLayoutCreateInfo dsl_ci[size_t(DescriptorSetType::RANGE_SIZE)];
|
DescriptorSetLayoutCreateInfo dsl_ci[DESCRIPTOR_SET_TYPE_COUNT];
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ class MaterialDescriptorInfo
|
|||||||
ShaderDescriptor *AddDescriptor(VkShaderStageFlagBits ssb,ShaderDescriptor *new_sd); ///<添加一个描述符,如果它本身存在,则返回false
|
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;
|
ShaderDescriptorSetArray desc_set_array;
|
||||||
|
|
||||||
@ -67,5 +67,10 @@ public:
|
|||||||
const DescriptorSetType GetSetType(const AnsiString &)const;
|
const DescriptorSetType GetSetType(const AnsiString &)const;
|
||||||
|
|
||||||
void Resort(); //排序产生set号与binding号
|
void Resort(); //排序产生set号与binding号
|
||||||
|
|
||||||
|
const bool hasSet(const DescriptorSetType &type)const
|
||||||
|
{
|
||||||
|
return desc_set_array[size_t(type)].count>0;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
SHADERGEN_NAMESPACE_END
|
SHADERGEN_NAMESPACE_END
|
||||||
|
@ -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)
|
ENUM_CLASS_FOR(DescriptorSetType,int,i)
|
||||||
|
@ -9,10 +9,10 @@ struct PipelineLayoutData
|
|||||||
{
|
{
|
||||||
VkDevice device;
|
VkDevice device;
|
||||||
|
|
||||||
int binding_count[size_t(DescriptorSetType::RANGE_SIZE)];
|
int binding_count[DESCRIPTOR_SET_TYPE_COUNT];
|
||||||
VkDescriptorSetLayout layouts[size_t(DescriptorSetType::RANGE_SIZE)];
|
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;
|
uint32_t fin_dsl_count;
|
||||||
|
|
||||||
VkPipelineLayout pipeline_layout;
|
VkPipelineLayout pipeline_layout;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user