rename and layout.

This commit is contained in:
HuYingzhuo(hugo/hyzboy) 2023-03-17 16:21:12 +08:00
parent 4de8139936
commit 165f9d2a5f
5 changed files with 24 additions and 24 deletions

View File

@ -74,10 +74,10 @@ public:
/** /**
* binding并非是shader中的binding/locationvkCmdBindVertexBuffer的缓冲区序列号 * binding并非是shader中的binding/locationvkCmdBindVertexBuffer的缓冲区序列号
*/ */
const int GetStageInputBinding(const AnsiString &name)const{return shader_resource->GetStageInputBinding(name);} const int GetInputBinding(const AnsiString &name)const{return shader_resource->GetInputBinding(name);}
const ShaderAttribute * GetStageInput (const AnsiString &name)const{return shader_resource->GetStageInput(name);} const ShaderAttribute * GetInput (const AnsiString &name)const{return shader_resource->GetInput(name);}
const uint GetStageInputCount () const{return shader_resource->GetStageInputCount();} const uint GetInputCount () const{return shader_resource->GetInputCount();}
const ShaderAttributeList & GetStageInputs () const{return shader_resource->GetStageInputs();} const ShaderAttributeList & GetInputs () const{return shader_resource->GetInputs();}
//const uint32_t GetAttrCount()const{return attr_count;} //const uint32_t GetAttrCount()const{return attr_count;}

View File

@ -23,20 +23,20 @@ public:
ShaderResource(const VkShaderStageFlagBits &,const void *,const uint32); ShaderResource(const VkShaderStageFlagBits &,const void *,const uint32);
virtual ~ShaderResource()=default; virtual ~ShaderResource()=default;
const VkShaderStageFlagBits GetStageFlagBit ()const {return stage_flag;} const VkShaderStageFlagBits GetStage ()const {return stage_flag;}
const char * GetStageFlagName ()const {return GetShaderStageName(stage_flag);} const char * GetStageName ()const {return GetShaderStageName(stage_flag);}
const uint32_t * GetCode ()const {return (uint32_t *)spv_data;} const uint32_t * GetCode ()const {return (uint32_t *)spv_data;}
const uint32_t GetCodeSize ()const {return spv_size;} const uint32_t GetCodeSize ()const {return spv_size;}
ShaderAttributeList & GetStageInputs () {return stage_io.input;} ShaderAttributeList & GetInputs () {return stage_io.input;}
// ShaderAttributeList & GetStageOutputs () {return stage_io.output;} // ShaderAttributeList & GetOutputs () {return stage_io.output;}
const uint GetStageInputCount ()const {return stage_io.input.GetCount();} const uint GetInputCount ()const {return stage_io.input.GetCount();}
// const uint GetStageOutputCount ()const {return stage_io.output.GetCount();} // const uint GetOutputCount ()const {return stage_io.output.GetCount();}
const ShaderAttribute * GetStageInput (const AnsiString &)const; const ShaderAttribute * GetInput (const AnsiString &)const;
const int GetStageInputBinding(const AnsiString &)const; const int GetInputBinding (const AnsiString &)const;
};//class ShaderResource };//class ShaderResource
struct ShaderModuleCreateInfo:public vkstruct_flag<VkShaderModuleCreateInfo,VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO> struct ShaderModuleCreateInfo:public vkstruct_flag<VkShaderModuleCreateInfo,VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO>
@ -50,4 +50,4 @@ public:
} }
};//struct ShaderModuleCreateInfo };//struct ShaderModuleCreateInfo
VK_NAMESPACE_END VK_NAMESPACE_END
#endif//HGL_GRAPH_VULKAN_SHADER_RESOURCE_INCLUDE #endif//HGL_GRAPH_VULKAN_SHADER_RESOURCE_INCLUDE

View File

@ -139,7 +139,7 @@ Material *RenderResource::CreateMaterial(const OSString &filename)
if(sr) if(sr)
{ {
shader_name=filename+OS_TEXT("?")+ToOSString(sr->GetStageFlagName()); shader_name=filename+OS_TEXT("?")+ToOSString(sr->GetStageName());
sm=CreateShaderModule(shader_name,sr); sm=CreateShaderModule(shader_name,sr);

View File

@ -7,7 +7,7 @@ ShaderModule *GPUDevice::CreateShaderModule(ShaderResource *sr)
{ {
if(!sr)return(nullptr); if(!sr)return(nullptr);
PipelineShaderStageCreateInfo *shader_stage=new PipelineShaderStageCreateInfo(sr->GetStageFlagBit()); PipelineShaderStageCreateInfo *shader_stage=new PipelineShaderStageCreateInfo(sr->GetStage());
ShaderModuleCreateInfo moduleCreateInfo(sr); ShaderModuleCreateInfo moduleCreateInfo(sr);
@ -16,7 +16,7 @@ ShaderModule *GPUDevice::CreateShaderModule(ShaderResource *sr)
ShaderModule *sm; 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); sm=new VertexShaderModule(attr->device,shader_stage,sr);
else else
sm=new ShaderModule(attr->device,shader_stage,sr); 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) 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(); attr_count=stage_input_list.GetCount();
ssi_list=stage_input_list.GetData(); ssi_list=stage_input_list.GetData();

View File

@ -10,7 +10,7 @@ VK_NAMESPACE_BEGIN
{ {
ObjectMap<OSString,ShaderResource> shader_resource_by_filename; 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; uint count;
@ -45,7 +45,7 @@ VK_NAMESPACE_BEGIN
spv_size=size; 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(); const int count=stage_io.input.GetCount();
ShaderAttribute **ss=stage_io.input.GetData(); ShaderAttribute **ss=stage_io.input.GetData();
@ -61,7 +61,7 @@ VK_NAMESPACE_BEGIN
return nullptr; 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(); const int count=stage_io.input.GetCount();
ShaderAttribute **ss=stage_io.input.GetData(); ShaderAttribute **ss=stage_io.input.GetData();
@ -89,8 +89,8 @@ VK_NAMESPACE_BEGIN
cbr.Skip(spv_size); cbr.Skip(spv_size);
LoadShaderStages(sr->GetStageInputs(),cbr); LoadShaderStageAttributes(sr->GetInputs(),cbr);
// LoadShaderStages(sr->GetStageOutputs(),cbr); // LoadShaderStageAttributes(sr->GetStageOutputs(),cbr);
return sr; return sr;
} }