removed shadergen namespace

This commit is contained in:
HuYingzhuo(hugo/hyzboy) 2023-03-21 18:05:48 +08:00
parent bc9fc9b50f
commit d26cae0086
24 changed files with 52 additions and 78 deletions

2
CMCore

@ -1 +1 @@
Subproject commit b6ee9c816fee718275fa031e0af4b12bf41276bb Subproject commit 3b1a62eb78ed7cf3d6d186b8b7e4c7d4b57eba18

View File

@ -12,7 +12,6 @@
using namespace hgl; using namespace hgl;
using namespace hgl::graph; using namespace hgl::graph;
using namespace hgl::shadergen;
constexpr uint32_t SCREEN_WIDTH=1280; constexpr uint32_t SCREEN_WIDTH=1280;
constexpr uint32_t SCREEN_HEIGHT=720; constexpr uint32_t SCREEN_HEIGHT=720;

View File

@ -33,11 +33,11 @@ using namespace hgl;
using namespace hgl::io; using namespace hgl::io;
using namespace hgl::graph; using namespace hgl::graph;
namespace glsl_compiler namespace hgl{namespace graph
{ {
bool Init(); bool InitShaderCompiler();
void Close(); void CloseShaderCompiler();
}//namespace glsl_compiler }}//namespace hgl::graph
class VulkanApplicationFramework:WindowEvent class VulkanApplicationFramework:WindowEvent
{ {
@ -72,7 +72,7 @@ public:
virtual ~VulkanApplicationFramework() virtual ~VulkanApplicationFramework()
{ {
glsl_compiler::Close(); CloseShaderCompiler();
win->Unjoin(this); win->Unjoin(this);
@ -86,7 +86,7 @@ public:
virtual bool Init(int w,int h) virtual bool Init(int w,int h)
{ {
if(!glsl_compiler::Init()) if(!InitShaderCompiler())
return(false); return(false);
clear_color.Set(0,0,0,1); clear_color.Set(0,0,0,1);

View File

@ -91,11 +91,11 @@ public: //Material
const ShaderModule *CreateShaderModule(const OSString &filename,VkShaderStageFlagBits shader_stage,const uint32_t *spv_data,const size_t spv_size); const ShaderModule *CreateShaderModule(const OSString &filename,VkShaderStageFlagBits shader_stage,const uint32_t *spv_data,const size_t spv_size);
Material * CreateMaterial(const OSString &); Material * CreateMaterial(const OSString &);
Material * CreateMaterial(const hgl::shadergen::MaterialCreateInfo *); Material * CreateMaterial(const MaterialCreateInfo *);
MaterialInstance * CreateMaterialInstance(Material *,const VILConfig *vil_cfg=nullptr); MaterialInstance * CreateMaterialInstance(Material *,const VILConfig *vil_cfg=nullptr);
MaterialInstance * CreateMaterialInstance(const OSString &,const VILConfig *vil_cfg=nullptr); MaterialInstance * CreateMaterialInstance(const OSString &,const VILConfig *vil_cfg=nullptr);
MaterialInstance * CreateMaterialInstance(const hgl::shadergen::MaterialCreateInfo *,const VILConfig *vil_cfg=nullptr); MaterialInstance * CreateMaterialInstance(const MaterialCreateInfo *,const VILConfig *vil_cfg=nullptr);
Primitive * CreatePrimitive(const uint32_t vertex_count=0); Primitive * CreatePrimitive(const uint32_t vertex_count=0);

View File

@ -7,7 +7,7 @@
#include<hgl/shadergen/ShaderCreateInfoMap.h> #include<hgl/shadergen/ShaderCreateInfoMap.h>
#include<hgl/graph/VKSamplerType.h> #include<hgl/graph/VKSamplerType.h>
SHADERGEN_NAMESPACE_BEGIN namespace hgl{namespace graph{
class MaterialCreateInfo class MaterialCreateInfo
{ {
AnsiString shader_name; AnsiString shader_name;
@ -60,4 +60,4 @@ public:
const MaterialDescriptorInfo &GetMDI()const{return mdm;} const MaterialDescriptorInfo &GetMDI()const{return mdm;}
};//class MaterialCreateInfo };//class MaterialCreateInfo
SHADERGEN_NAMESPACE_END }}//namespace hgl::graph

View File

@ -1,13 +1,9 @@
#pragma once #pragma once
#include<hgl/graph/VKShaderDescriptorSet.h> #include<hgl/graph/VKShaderDescriptorSet.h>
#include<hgl/shadergen/ShaderGenNamespace.h>
#include<hgl/type/Map.h> #include<hgl/type/Map.h>
using namespace hgl; namespace hgl{namespace graph{
using namespace hgl::graph;
SHADERGEN_NAMESPACE_BEGIN
/** /**
* </p> * </p>
* 使SHADER生成前set/binding * 使SHADER生成前set/binding
@ -66,5 +62,5 @@ public:
{ {
return desc_set_array[size_t(type)].count>0; return desc_set_array[size_t(type)].count>0;
} }
}; };//class MaterialDescriptorInfo
SHADERGEN_NAMESPACE_END }}//namespace hgl::graph

View File

@ -1,15 +1,12 @@
#ifndef HGL_SHADER_CREATE_INFO_INCLUDE #ifndef HGL_SHADER_CREATE_INFO_INCLUDE
#define HGL_SHADER_CREATE_INFO_INCLUDE #define HGL_SHADER_CREATE_INFO_INCLUDE
#include<hgl/shadergen/ShaderGenNamespace.h>
#include<hgl/graph/VertexAttrib.h> #include<hgl/graph/VertexAttrib.h>
#include<hgl/graph/VK.h>
namespace glsl_compiler namespace hgl{namespace graph
{ {
struct SPVData; struct SPVData;
}
SHADERGEN_NAMESPACE_BEGIN
class MaterialDescriptorInfo; class MaterialDescriptorInfo;
class ShaderDescriptorInfo; class ShaderDescriptorInfo;
@ -30,7 +27,7 @@ protected:
AnsiString final_shader; AnsiString final_shader;
glsl_compiler::SPVData *spv_data; SPVData *spv_data;
protected: protected:
@ -72,8 +69,8 @@ public:
bool CreateShader(ShaderCreateInfo *); bool CreateShader(ShaderCreateInfo *);
const uint32_t *GetSPVData()const; const uint32 *GetSPVData()const;
const size_t GetSPVSize()const; const size_t GetSPVSize()const;
};//class ShaderCreateInfo };//class ShaderCreateInfo
SHADERGEN_NAMESPACE_END }}//namespace hgl::graph
#endif//HGL_SHADER_CREATE_INFO_INCLUDE #endif//HGL_SHADER_CREATE_INFO_INCLUDE

View File

@ -2,7 +2,7 @@
#include<hgl/shadergen/ShaderCreateInfo.h> #include<hgl/shadergen/ShaderCreateInfo.h>
SHADERGEN_NAMESPACE_BEGIN namespace hgl{namespace graph{
enum class MaterialType enum class MaterialType
{ {
Color, ///<曾伎第窐 Color, ///<曾伎第窐
@ -19,4 +19,4 @@ public:
void UseDefaultMain(); void UseDefaultMain();
}; };
SHADERGEN_NAMESPACE_END }}//namespace hgl::graph

View File

@ -2,7 +2,7 @@
#include<hgl/shadergen/ShaderCreateInfo.h> #include<hgl/shadergen/ShaderCreateInfo.h>
SHADERGEN_NAMESPACE_BEGIN namespace hgl{namespace graph{
class ShaderCreateInfoGeometry:public ShaderCreateInfo class ShaderCreateInfoGeometry:public ShaderCreateInfo
{ {
public: public:
@ -10,4 +10,4 @@ public:
ShaderCreateInfoGeometry(MaterialDescriptorInfo *m):ShaderCreateInfo(VK_SHADER_STAGE_GEOMETRY_BIT,m){} ShaderCreateInfoGeometry(MaterialDescriptorInfo *m):ShaderCreateInfo(VK_SHADER_STAGE_GEOMETRY_BIT,m){}
~ShaderCreateInfoGeometry()=default; ~ShaderCreateInfoGeometry()=default;
}; };
SHADERGEN_NAMESPACE_END }}//namespace hgl::graph

View File

@ -2,7 +2,7 @@
#include<hgl/shadergen/ShaderCreateInfo.h> #include<hgl/shadergen/ShaderCreateInfo.h>
SHADERGEN_NAMESPACE_BEGIN namespace hgl{namespace graph{
class ShaderCreateInfoMap:public ObjectMap<VkShaderStageFlagBits,ShaderCreateInfo> class ShaderCreateInfoMap:public ObjectMap<VkShaderStageFlagBits,ShaderCreateInfo>
{ {
public: public:
@ -22,4 +22,4 @@ public:
return(true); return(true);
} }
}; };
SHADERGEN_NAMESPACE_END }}//namespace hgl::graph

View File

@ -4,7 +4,7 @@
#include<hgl/graph/VKShaderStage.h> #include<hgl/graph/VKShaderStage.h>
SHADERGEN_NAMESPACE_BEGIN namespace hgl{namespace graph{
class ShaderCreateInfoVertex:public ShaderCreateInfo class ShaderCreateInfoVertex:public ShaderCreateInfo
{ {
bool ProcInput(ShaderCreateInfo *) override; bool ProcInput(ShaderCreateInfo *) override;
@ -17,4 +17,4 @@ public:
int AddInput(const graph::VAT &type,const AnsiString &name); int AddInput(const graph::VAT &type,const AnsiString &name);
int AddInput(const AnsiString &type,const AnsiString &name); int AddInput(const AnsiString &type,const AnsiString &name);
}; };
SHADERGEN_NAMESPACE_END }}//namespace hgl::graph

View File

@ -1,14 +1,13 @@
#pragma once #pragma once
#include<hgl/shadergen/ShaderGenNamespace.h>
#include<hgl/type/Map.h> #include<hgl/type/Map.h>
#include<hgl/type/StringList.h> #include<hgl/type/StringList.h>
#include<hgl/graph/VKShaderStage.h> #include<hgl/graph/VKShaderStage.h>
#include<hgl/graph/VKDescriptorSetType.h> #include<hgl/graph/VKDescriptorSetType.h>
#include<hgl/shadergen/MaterialDescriptorInfo.h> #include<hgl/shadergen/MaterialDescriptorInfo.h>
SHADERGEN_NAMESPACE_BEGIN namespace hgl{namespace graph
{
using UBODescriptorList=List<const UBODescriptor *>; using UBODescriptorList=List<const UBODescriptor *>;
using SamplerDescriptorList=List<const SamplerDescriptor *>; using SamplerDescriptorList=List<const SamplerDescriptor *>;
using ConstValueDescriptorList=ObjectList<ConstValueDescriptor>; using ConstValueDescriptorList=ObjectList<ConstValueDescriptor>;
@ -72,4 +71,4 @@ public:
void DebugOutput(int); void DebugOutput(int);
#endif//_DEBUG #endif//_DEBUG
};//class ShaderDescriptorInfo };//class ShaderDescriptorInfo
SHADERGEN_NAMESPACE_END }}//namespace hgl::graph

View File

@ -1,13 +0,0 @@
#ifndef HGL_SHADER_GEN_COMMON_INCLUDE
#define HGL_SHADER_GEN_COMMON_INCLUDE
#include<hgl/type/String.h>
#include<hgl/graph/VK.h>
#define SHADERGEN_NAMESPACE_BEGIN namespace hgl{namespace shadergen{
#define SHADERGEN_NAMESPACE_END }}
#define SHADERGEN_NAMESPACE_USING using namespace hgl::shadergen;
SHADERGEN_NAMESPACE_BEGIN
SHADERGEN_NAMESPACE_END
#endif//HGL_SHADER_GEN_COMMON_INCLUDE

View File

@ -1,7 +1,7 @@
#include<hgl/shadergen/ShaderDescriptorInfo.h> #include<hgl/shadergen/ShaderDescriptorInfo.h>
#include<hgl/CompOperator.h> #include<hgl/CompOperator.h>
SHADERGEN_NAMESPACE_BEGIN namespace hgl{namespace graph{
using ParamPreciseFlagBits=uint8; using ParamPreciseFlagBits=uint8;
using PPFB=ParamPreciseFlagBits; using PPFB=ParamPreciseFlagBits;
@ -101,4 +101,4 @@ public:
hgl_zero(*this); hgl_zero(*this);
} }
};//struct Standard2DMaterial:public StandardMaterial };//struct Standard2DMaterial:public StandardMaterial
SHADERGEN_NAMESPACE_END }}//namespace hgl::graph

View File

@ -69,9 +69,6 @@ PipelineLayoutData *GPUDevice::CreatePipelineLayoutData(const MaterialDescriptor
PipelineLayoutData::~PipelineLayoutData() PipelineLayoutData::~PipelineLayoutData()
{ {
if(!pipeline_layout)
return;
vkDestroyPipelineLayout(device,pipeline_layout,nullptr); vkDestroyPipelineLayout(device,pipeline_layout,nullptr);
ENUM_CLASS_FOR(DescriptorSetType,int,i) ENUM_CLASS_FOR(DescriptorSetType,int,i)

View File

@ -72,7 +72,7 @@ MaterialInstance *RenderResource::CreateMaterialInstance(const OSString &mtl_fil
return CreateMaterialInstance(mtl,vil_cfg); return CreateMaterialInstance(mtl,vil_cfg);
} }
MaterialInstance *RenderResource::CreateMaterialInstance(const hgl::shadergen::MaterialCreateInfo *mci,const VILConfig *vil_cfg) MaterialInstance *RenderResource::CreateMaterialInstance(const MaterialCreateInfo *mci,const VILConfig *vil_cfg)
{ {
Material *mtl=this->CreateMaterial(mci); Material *mtl=this->CreateMaterial(mci);

View File

@ -21,8 +21,7 @@ SET(MATERIAL_CREATE_INFO_SOURCE_FILES MaterialCreateInfo.cpp)
SOURCE_GROUP("Material Create Info" FILES ${MATERIAL_CREATE_INFO_HEADER_FILES} SOURCE_GROUP("Material Create Info" FILES ${MATERIAL_CREATE_INFO_HEADER_FILES}
${MATERIAL_CREATE_INFO_SOURCE_FILES}) ${MATERIAL_CREATE_INFO_SOURCE_FILES})
SET(SHADERGEN_HEADER_FILES ${SHADERGEN_INCLUDE_PATH}/ShaderGenNamespace.h SET(SHADERGEN_HEADER_FILES ${SHADERGEN_INCLUDE_PATH}/ShaderDescriptorInfo.h
${SHADERGEN_INCLUDE_PATH}/ShaderDescriptorInfo.h
${SHADERGEN_INCLUDE_PATH}/MaterialDescriptorInfo.h) ${SHADERGEN_INCLUDE_PATH}/MaterialDescriptorInfo.h)
SET(SHADERGEN_SOURCE_FILES SET(SHADERGEN_SOURCE_FILES

View File

@ -4,7 +4,7 @@
using namespace hgl; using namespace hgl;
using namespace hgl::graph; using namespace hgl::graph;
SHADERGEN_NAMESPACE_BEGIN namespace hgl{namespace graph{
MaterialCreateInfo::MaterialCreateInfo(const AnsiString &n,const uint rc,const bool rd,const uint32 ss) MaterialCreateInfo::MaterialCreateInfo(const AnsiString &n,const uint rc,const bool rd,const uint32 ss)
{ {
shader_name=n; shader_name=n;
@ -119,4 +119,4 @@ bool MaterialCreateInfo::CreateShader()
return(true); return(true);
} }
SHADERGEN_NAMESPACE_END }}//namespace hgl::graph

View File

@ -1,6 +1,6 @@
#include<hgl/shadergen/MaterialDescriptorInfo.h> #include<hgl/shadergen/MaterialDescriptorInfo.h>
SHADERGEN_NAMESPACE_BEGIN namespace hgl{namespace graph{
MaterialDescriptorInfo::MaterialDescriptorInfo() MaterialDescriptorInfo::MaterialDescriptorInfo()
{ {
int set_type=(int)DescriptorSetType::BEGIN_RANGE; int set_type=(int)DescriptorSetType::BEGIN_RANGE;
@ -103,4 +103,4 @@ void MaterialDescriptorInfo::Resort()
} }
} }
} }
SHADERGEN_NAMESPACE_END }}//namespace hgl::graph

View File

@ -2,7 +2,7 @@
#include<hgl/shadergen/ShaderDescriptorInfo.h> #include<hgl/shadergen/ShaderDescriptorInfo.h>
#include"GLSLCompiler.h" #include"GLSLCompiler.h"
SHADERGEN_NAMESPACE_BEGIN namespace hgl{namespace graph{
ShaderCreateInfo::ShaderCreateInfo(VkShaderStageFlagBits ss,MaterialDescriptorInfo *m) ShaderCreateInfo::ShaderCreateInfo(VkShaderStageFlagBits ss,MaterialDescriptorInfo *m)
{ {
shader_stage=ss; shader_stage=ss;
@ -15,7 +15,7 @@ ShaderCreateInfo::ShaderCreateInfo(VkShaderStageFlagBits ss,MaterialDescriptorIn
ShaderCreateInfo::~ShaderCreateInfo() ShaderCreateInfo::~ShaderCreateInfo()
{ {
if(spv_data) if(spv_data)
glsl_compiler::Free(spv_data); FreeSPVData(spv_data);
delete sdm; delete sdm;
} }
@ -274,7 +274,7 @@ bool ShaderCreateInfo::CreateShader(ShaderCreateInfo *last_sc)
bool ShaderCreateInfo::CompileToSPV() bool ShaderCreateInfo::CompileToSPV()
{ {
spv_data=glsl_compiler::Compile(shader_stage,final_shader.c_str()); spv_data=CompileShader(shader_stage,final_shader.c_str());
if(!spv_data) if(!spv_data)
return(false); return(false);
@ -282,7 +282,7 @@ bool ShaderCreateInfo::CompileToSPV()
return(true); return(true);
} }
const uint32_t *ShaderCreateInfo::GetSPVData()const const uint32 *ShaderCreateInfo::GetSPVData()const
{ {
return spv_data?spv_data->spv_data:nullptr; return spv_data?spv_data->spv_data:nullptr;
} }
@ -291,4 +291,4 @@ const size_t ShaderCreateInfo::GetSPVSize()const
{ {
return spv_data?spv_data->spv_length:0; return spv_data?spv_data->spv_length:0;
} }
SHADERGEN_NAMESPACE_END }}//namespace hgl::graph

View File

@ -1,7 +1,7 @@
#include<hgl/shadergen/ShaderCreateInfoFragment.h> #include<hgl/shadergen/ShaderCreateInfoFragment.h>
#include<hgl/shadergen/ShaderDescriptorInfo.h> #include<hgl/shadergen/ShaderDescriptorInfo.h>
SHADERGEN_NAMESPACE_BEGIN namespace hgl{namespace graph{
using namespace hgl::graph; using namespace hgl::graph;
@ -48,4 +48,4 @@ bool ShaderCreateInfoFragment::ProcOutput()
return(true); return(true);
} }
SHADERGEN_NAMESPACE_END }}//namespace hgl::graph

View File

@ -4,7 +4,7 @@
#include<hgl/graph/VKShaderStage.h> #include<hgl/graph/VKShaderStage.h>
#include"GLSLCompiler.h" #include"GLSLCompiler.h"
SHADERGEN_NAMESPACE_BEGIN namespace hgl{namespace graph{
using namespace hgl; using namespace hgl;
using namespace hgl::graph; using namespace hgl::graph;
@ -60,4 +60,4 @@ bool ShaderCreateInfoVertex::ProcInput(ShaderCreateInfo *)
return(true); return(true);
} }
SHADERGEN_NAMESPACE_END }}//namespace hgl::graph

View File

@ -1,6 +1,6 @@
#include<hgl/shadergen/ShaderDescriptorInfo.h> #include<hgl/shadergen/ShaderDescriptorInfo.h>
SHADERGEN_NAMESPACE_BEGIN namespace hgl{namespace graph{
ShaderDescriptorInfo::ShaderDescriptorInfo(VkShaderStageFlagBits flag_bit) ShaderDescriptorInfo::ShaderDescriptorInfo(VkShaderStageFlagBits flag_bit)
{ {
stage_flag=flag_bit; stage_flag=flag_bit;
@ -155,4 +155,4 @@ void ShaderDescriptorInfo::DebugOutput(int index)
} }
} }
#endif//_DEBUG #endif//_DEBUG
SHADERGEN_NAMESPACE_END }}//namespace hgl::graph

View File

@ -1,7 +1,7 @@
#include<hgl/shadergen/StandardMaterial.h> #include<hgl/shadergen/StandardMaterial.h>
SHADERGEN_NAMESPACE_BEGIN namespace hgl{namespace graph{
SHADERGEN_NAMESPACE_END }}//namespace hgl::graph