renamed to ShaderAttribute instead of ShaderStage

This commit is contained in:
HuYingzhuo(hugo/hyzboy) 2023-03-17 15:37:26 +08:00
parent 21913cc030
commit 34679a632d

View File

@ -243,7 +243,7 @@ char *new_strcpy(const char *src)
constexpr size_t SHADER_RESOURCE_NAME_MAX_LENGTH=32; constexpr size_t SHADER_RESOURCE_NAME_MAX_LENGTH=32;
struct ShaderStage struct ShaderAttribute
{ {
char name[SHADER_RESOURCE_NAME_MAX_LENGTH]; char name[SHADER_RESOURCE_NAME_MAX_LENGTH];
uint8_t location; uint8_t location;
@ -251,10 +251,10 @@ struct ShaderStage
uint8_t vec_size; uint8_t vec_size;
};// };//
struct ShaderStageData struct ShaderAttributeData
{ {
uint32_t count; uint32_t count;
ShaderStage *items; ShaderAttribute *items;
}; };
struct Descriptor struct Descriptor
@ -296,7 +296,7 @@ struct SPVData
uint32_t *spv_data; uint32_t *spv_data;
uint32_t spv_length; uint32_t spv_length;
ShaderStageData input, ShaderAttributeData input,
output; output;
ShaderDescriptorResource resource; ShaderDescriptorResource resource;
ShaderResourceData<PushConstant> push_constant; ShaderResourceData<PushConstant> push_constant;
@ -357,7 +357,7 @@ public:
} }
};//struct SPVData };//struct SPVData
void OutputShaderStage(ShaderStageData *ssd,ShaderParse *sp,const SPVResVector &stages) void OutputShaderAttributes(ShaderAttributeData *ssd,ShaderParse *sp,const SPVResVector &stages)
{ {
size_t attr_count=stages.size(); size_t attr_count=stages.size();
@ -369,8 +369,8 @@ void OutputShaderStage(ShaderStageData *ssd,ShaderParse *sp,const SPVResVector &
uint8_t vec_size; uint8_t vec_size;
std::string name; std::string name;
ssd->items=new ShaderStage[attr_count]; ssd->items=new ShaderAttribute[attr_count];
ShaderStage *ss=ssd->items; ShaderAttribute *ss=ssd->items;
for(const spirv_cross::Resource &si:stages) for(const spirv_cross::Resource &si:stages)
{ {
@ -558,8 +558,8 @@ extern "C"
{ {
ShaderParse sp(spirv.data(),(uint32_t)spirv.size()*sizeof(uint32_t)); ShaderParse sp(spirv.data(),(uint32_t)spirv.size()*sizeof(uint32_t));
OutputShaderStage(&(spv->input),&sp,sp.GetStageInputs()); OutputShaderAttributes(&(spv->input),&sp,sp.GetStageInputs());
OutputShaderStage(&(spv->output),&sp,sp.GetStageOutputs()); OutputShaderAttributes(&(spv->output),&sp,sp.GetStageOutputs());
OutputShaderResource(spv->resource+VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, &sp,sp.GetUBO()); OutputShaderResource(spv->resource+VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, &sp,sp.GetUBO());
OutputShaderResource(spv->resource+VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, &sp,sp.GetSSBO()); OutputShaderResource(spv->resource+VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, &sp,sp.GetSSBO());