used ShaderStageIO
This commit is contained in:
parent
a9df8965ea
commit
27799c5569
20
glsl2spv.cpp
20
glsl2spv.cpp
@ -251,7 +251,7 @@ struct ShaderAttribute
|
|||||||
uint8_t vec_size;
|
uint8_t vec_size;
|
||||||
};//
|
};//
|
||||||
|
|
||||||
struct ShaderAttributeData
|
struct ShaderAttributeArray
|
||||||
{
|
{
|
||||||
uint32_t count;
|
uint32_t count;
|
||||||
ShaderAttribute *items;
|
ShaderAttribute *items;
|
||||||
@ -342,10 +342,14 @@ public:
|
|||||||
}
|
}
|
||||||
};//struct SPVData
|
};//struct SPVData
|
||||||
|
|
||||||
|
struct ShaderStageIO
|
||||||
|
{
|
||||||
|
ShaderAttributeArray input,output;
|
||||||
|
};//struct ShaderStageIO
|
||||||
|
|
||||||
struct SPVParseData
|
struct SPVParseData
|
||||||
{
|
{
|
||||||
ShaderAttributeData input,
|
ShaderStageIO stage_io;
|
||||||
output;
|
|
||||||
ShaderDescriptorResource resource;
|
ShaderDescriptorResource resource;
|
||||||
ShaderResourceData<PushConstant> push_constant;
|
ShaderResourceData<PushConstant> push_constant;
|
||||||
ShaderResourceData<SubpassInput> subpass_input;
|
ShaderResourceData<SubpassInput> subpass_input;
|
||||||
@ -365,12 +369,12 @@ public:
|
|||||||
delete[] push_constant.items;
|
delete[] push_constant.items;
|
||||||
delete[] subpass_input.items;
|
delete[] subpass_input.items;
|
||||||
|
|
||||||
delete[] input.items;
|
delete[] stage_io.input.items;
|
||||||
delete[] output.items;
|
delete[] stage_io.output.items;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
void OutputShaderAttributes(ShaderAttributeData *ssd,ShaderParse *sp,const SPVResVector &stages)
|
void OutputShaderAttributes(ShaderAttributeArray *ssd,ShaderParse *sp,const SPVResVector &stages)
|
||||||
{
|
{
|
||||||
size_t attr_count=stages.size();
|
size_t attr_count=stages.size();
|
||||||
|
|
||||||
@ -575,8 +579,8 @@ extern "C"
|
|||||||
|
|
||||||
SPVParseData *spv=new SPVParseData;
|
SPVParseData *spv=new SPVParseData;
|
||||||
|
|
||||||
OutputShaderAttributes(&(spv->input),&sp,sp.GetStageInputs());
|
OutputShaderAttributes(&(spv->stage_io.input),&sp,sp.GetStageInputs());
|
||||||
OutputShaderAttributes(&(spv->output),&sp,sp.GetStageOutputs());
|
OutputShaderAttributes(&(spv->stage_io.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());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user