renamed to ShaderAttribute instead of ShaderStage
This commit is contained in:
parent
21913cc030
commit
34679a632d
18
glsl2spv.cpp
18
glsl2spv.cpp
@ -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());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user