rename and layout.
This commit is contained in:
parent
4de8139936
commit
165f9d2a5f
@ -74,10 +74,10 @@ public:
|
||||
/**
|
||||
* 获取输入流绑定点,需要注意的时,这里获取的binding并非是shader中的binding/location,而是绑定顺序的序列号。对应vkCmdBindVertexBuffer的缓冲区序列号
|
||||
*/
|
||||
const int GetStageInputBinding(const AnsiString &name)const{return shader_resource->GetStageInputBinding(name);}
|
||||
const ShaderAttribute * GetStageInput (const AnsiString &name)const{return shader_resource->GetStageInput(name);}
|
||||
const uint GetStageInputCount () const{return shader_resource->GetStageInputCount();}
|
||||
const ShaderAttributeList & GetStageInputs () const{return shader_resource->GetStageInputs();}
|
||||
const int GetInputBinding(const AnsiString &name)const{return shader_resource->GetInputBinding(name);}
|
||||
const ShaderAttribute * GetInput (const AnsiString &name)const{return shader_resource->GetInput(name);}
|
||||
const uint GetInputCount () const{return shader_resource->GetInputCount();}
|
||||
const ShaderAttributeList & GetInputs () const{return shader_resource->GetInputs();}
|
||||
|
||||
//const uint32_t GetAttrCount()const{return attr_count;}
|
||||
|
||||
|
@ -23,20 +23,20 @@ public:
|
||||
ShaderResource(const VkShaderStageFlagBits &,const void *,const uint32);
|
||||
virtual ~ShaderResource()=default;
|
||||
|
||||
const VkShaderStageFlagBits GetStageFlagBit ()const {return stage_flag;}
|
||||
const char * GetStageFlagName ()const {return GetShaderStageName(stage_flag);}
|
||||
const VkShaderStageFlagBits GetStage ()const {return stage_flag;}
|
||||
const char * GetStageName ()const {return GetShaderStageName(stage_flag);}
|
||||
|
||||
const uint32_t * GetCode ()const {return (uint32_t *)spv_data;}
|
||||
const uint32_t GetCodeSize ()const {return spv_size;}
|
||||
|
||||
ShaderAttributeList & GetStageInputs () {return stage_io.input;}
|
||||
// ShaderAttributeList & GetStageOutputs () {return stage_io.output;}
|
||||
ShaderAttributeList & GetInputs () {return stage_io.input;}
|
||||
// ShaderAttributeList & GetOutputs () {return stage_io.output;}
|
||||
|
||||
const uint GetStageInputCount ()const {return stage_io.input.GetCount();}
|
||||
// const uint GetStageOutputCount ()const {return stage_io.output.GetCount();}
|
||||
const uint GetInputCount ()const {return stage_io.input.GetCount();}
|
||||
// const uint GetOutputCount ()const {return stage_io.output.GetCount();}
|
||||
|
||||
const ShaderAttribute * GetStageInput (const AnsiString &)const;
|
||||
const int GetStageInputBinding(const AnsiString &)const;
|
||||
const ShaderAttribute * GetInput (const AnsiString &)const;
|
||||
const int GetInputBinding (const AnsiString &)const;
|
||||
};//class ShaderResource
|
||||
|
||||
struct ShaderModuleCreateInfo:public vkstruct_flag<VkShaderModuleCreateInfo,VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO>
|
||||
|
@ -139,7 +139,7 @@ Material *RenderResource::CreateMaterial(const OSString &filename)
|
||||
|
||||
if(sr)
|
||||
{
|
||||
shader_name=filename+OS_TEXT("?")+ToOSString(sr->GetStageFlagName());
|
||||
shader_name=filename+OS_TEXT("?")+ToOSString(sr->GetStageName());
|
||||
|
||||
sm=CreateShaderModule(shader_name,sr);
|
||||
|
||||
|
@ -7,7 +7,7 @@ ShaderModule *GPUDevice::CreateShaderModule(ShaderResource *sr)
|
||||
{
|
||||
if(!sr)return(nullptr);
|
||||
|
||||
PipelineShaderStageCreateInfo *shader_stage=new PipelineShaderStageCreateInfo(sr->GetStageFlagBit());
|
||||
PipelineShaderStageCreateInfo *shader_stage=new PipelineShaderStageCreateInfo(sr->GetStage());
|
||||
|
||||
ShaderModuleCreateInfo moduleCreateInfo(sr);
|
||||
|
||||
@ -16,7 +16,7 @@ ShaderModule *GPUDevice::CreateShaderModule(ShaderResource *sr)
|
||||
|
||||
ShaderModule *sm;
|
||||
|
||||
if(sr->GetStageFlagBit()==VK_SHADER_STAGE_VERTEX_BIT)
|
||||
if(sr->GetStage()==VK_SHADER_STAGE_VERTEX_BIT)
|
||||
sm=new VertexShaderModule(attr->device,shader_stage,sr);
|
||||
else
|
||||
sm=new ShaderModule(attr->device,shader_stage,sr);
|
||||
@ -44,7 +44,7 @@ ShaderModule::~ShaderModule()
|
||||
|
||||
VertexShaderModule::VertexShaderModule(VkDevice dev,VkPipelineShaderStageCreateInfo *pssci,ShaderResource *sr):ShaderModule(dev,pssci,sr)
|
||||
{
|
||||
const ShaderAttributeList &stage_input_list=sr->GetStageInputs();
|
||||
const ShaderAttributeList &stage_input_list=sr->GetInputs();
|
||||
|
||||
attr_count=stage_input_list.GetCount();
|
||||
ssi_list=stage_input_list.GetData();
|
||||
|
@ -10,7 +10,7 @@ VK_NAMESPACE_BEGIN
|
||||
{
|
||||
ObjectMap<OSString,ShaderResource> shader_resource_by_filename;
|
||||
|
||||
const bool LoadShaderStages(ShaderAttributeList &ss_list,io::ConstBufferReader &cbr)
|
||||
const bool LoadShaderStageAttributes(ShaderAttributeList &ss_list,io::ConstBufferReader &cbr)
|
||||
{
|
||||
uint count;
|
||||
|
||||
@ -45,7 +45,7 @@ VK_NAMESPACE_BEGIN
|
||||
spv_size=size;
|
||||
}
|
||||
|
||||
const ShaderAttribute *ShaderResource::GetStageInput(const AnsiString &name) const
|
||||
const ShaderAttribute *ShaderResource::GetInput(const AnsiString &name) const
|
||||
{
|
||||
const int count=stage_io.input.GetCount();
|
||||
ShaderAttribute **ss=stage_io.input.GetData();
|
||||
@ -61,7 +61,7 @@ VK_NAMESPACE_BEGIN
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
const int ShaderResource::GetStageInputBinding(const AnsiString &name) const
|
||||
const int ShaderResource::GetInputBinding(const AnsiString &name) const
|
||||
{
|
||||
const int count=stage_io.input.GetCount();
|
||||
ShaderAttribute **ss=stage_io.input.GetData();
|
||||
@ -89,8 +89,8 @@ VK_NAMESPACE_BEGIN
|
||||
|
||||
cbr.Skip(spv_size);
|
||||
|
||||
LoadShaderStages(sr->GetStageInputs(),cbr);
|
||||
// LoadShaderStages(sr->GetStageOutputs(),cbr);
|
||||
LoadShaderStageAttributes(sr->GetInputs(),cbr);
|
||||
// LoadShaderStageAttributes(sr->GetStageOutputs(),cbr);
|
||||
|
||||
return sr;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user