reanmed to ShaderAttribute instead of ShaderStage

This commit is contained in:
2023-03-17 16:06:11 +08:00
parent 9ee5f0adaa
commit 4de8139936
14 changed files with 51 additions and 52 deletions

View File

@@ -73,7 +73,7 @@ class Semaphore;
struct PipelineLayoutData;
class DescriptorSet;
struct ShaderStage;
struct ShaderAttribute;
class ShaderResource;
class ShaderModule;

View File

@@ -60,7 +60,7 @@ class VertexShaderModule:public ShaderModule
uint32_t attr_count;
VAT *type_list;
const char **name_list;
ShaderStage **ssi_list;
ShaderAttribute **ssi_list;
private:
@@ -75,9 +75,9 @@ public:
* 获取输入流绑定点需要注意的时这里获取的binding并非是shader中的binding/location而是绑定顺序的序列号。对应vkCmdBindVertexBuffer的缓冲区序列号
*/
const int GetStageInputBinding(const AnsiString &name)const{return shader_resource->GetStageInputBinding(name);}
const ShaderStage * GetStageInput (const AnsiString &name)const{return shader_resource->GetStageInput(name);}
const ShaderAttribute * GetStageInput (const AnsiString &name)const{return shader_resource->GetStageInput(name);}
const uint GetStageInputCount () const{return shader_resource->GetStageInputCount();}
const ShaderStageList & GetStageInputs () const{return shader_resource->GetStageInputs();}
const ShaderAttributeList & GetStageInputs () const{return shader_resource->GetStageInputs();}
//const uint32_t GetAttrCount()const{return attr_count;}

View File

@@ -16,27 +16,26 @@ class ShaderResource
const void *spv_data;
uint32 spv_size;
ShaderStageList stage_inputs;
// ShaderStageList stage_outputs;
ShaderStageIO stage_io;
public:
ShaderResource(const VkShaderStageFlagBits &,const void *,const uint32);
virtual ~ShaderResource()=default;
const VkShaderStageFlagBits GetStage ()const {return stage_flag;}
const char * GetStageName ()const {return GetShaderStageName(stage_flag);}
const VkShaderStageFlagBits GetStageFlagBit ()const {return stage_flag;}
const char * GetStageFlagName ()const {return GetShaderStageName(stage_flag);}
const uint32_t * GetCode ()const {return (uint32_t *)spv_data;}
const uint32_t GetCodeSize ()const {return spv_size;}
ShaderStageList & GetStageInputs () {return stage_inputs;}
// ShaderStageList & GetStageOutputs () {return stage_outputs;}
ShaderAttributeList & GetStageInputs () {return stage_io.input;}
// ShaderAttributeList & GetStageOutputs () {return stage_io.output;}
const uint GetStageInputCount ()const {return stage_inputs.GetCount();}
// const uint GetStageOutputCount ()const {return stage_outputs.GetCount();}
const uint GetStageInputCount ()const {return stage_io.input.GetCount();}
// const uint GetStageOutputCount ()const {return stage_io.output.GetCount();}
const ShaderStage * GetStageInput (const AnsiString &)const;
const ShaderAttribute * GetStageInput (const AnsiString &)const;
const int GetStageInputBinding(const AnsiString &)const;
};//class ShaderResource

View File

@@ -19,7 +19,7 @@ using SubpassInputDescriptorList=ObjectList<SubpassInputDescriptor>;
*/
class ShaderDescriptorInfo
{
VkShaderStageFlagBits shader_stage;
VkShaderStageFlagBits stage_flag;
ShaderStageIO stage_io;
@@ -39,8 +39,8 @@ public:
ShaderDescriptorInfo(VkShaderStageFlagBits);
~ShaderDescriptorInfo()=default;
const VkShaderStageFlagBits GetStageBits()const { return shader_stage; }
const AnsiString GetStageName()const { return AnsiString(GetShaderStageName(shader_stage)); }
const VkShaderStageFlagBits GetStageFlag()const { return stage_flag; }
const AnsiString GetStageName()const { return AnsiString(GetShaderStageName(stage_flag)); }
public:
@@ -57,8 +57,8 @@ public:
public:
bool AddInput(ShaderStage *);
bool AddOutput(ShaderStage *);
bool AddInput(ShaderAttribute *);
bool AddOutput(ShaderAttribute *);
bool AddUBO(DescriptorSetType type,const UBODescriptor *sd);
bool AddSampler(DescriptorSetType type,const SamplerDescriptor *sd);