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::graph;
using namespace hgl::shadergen;
constexpr uint32_t SCREEN_WIDTH=1280;
constexpr uint32_t SCREEN_HEIGHT=720;

View File

@ -33,11 +33,11 @@ using namespace hgl;
using namespace hgl::io;
using namespace hgl::graph;
namespace glsl_compiler
namespace hgl{namespace graph
{
bool Init();
void Close();
}//namespace glsl_compiler
bool InitShaderCompiler();
void CloseShaderCompiler();
}}//namespace hgl::graph
class VulkanApplicationFramework:WindowEvent
{
@ -72,7 +72,7 @@ public:
virtual ~VulkanApplicationFramework()
{
glsl_compiler::Close();
CloseShaderCompiler();
win->Unjoin(this);
@ -86,7 +86,7 @@ public:
virtual bool Init(int w,int h)
{
if(!glsl_compiler::Init())
if(!InitShaderCompiler())
return(false);
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);
Material * CreateMaterial(const OSString &);
Material * CreateMaterial(const hgl::shadergen::MaterialCreateInfo *);
Material * CreateMaterial(const MaterialCreateInfo *);
MaterialInstance * CreateMaterialInstance(Material *,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);

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -4,7 +4,7 @@
#include<hgl/graph/VKShaderStage.h>
SHADERGEN_NAMESPACE_BEGIN
namespace hgl{namespace graph{
class ShaderCreateInfoVertex:public ShaderCreateInfo
{
bool ProcInput(ShaderCreateInfo *) override;
@ -17,4 +17,4 @@ public:
int AddInput(const graph::VAT &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
#include<hgl/shadergen/ShaderGenNamespace.h>
#include<hgl/type/Map.h>
#include<hgl/type/StringList.h>
#include<hgl/graph/VKShaderStage.h>
#include<hgl/graph/VKDescriptorSetType.h>
#include<hgl/shadergen/MaterialDescriptorInfo.h>
SHADERGEN_NAMESPACE_BEGIN
namespace hgl{namespace graph
{
using UBODescriptorList=List<const UBODescriptor *>;
using SamplerDescriptorList=List<const SamplerDescriptor *>;
using ConstValueDescriptorList=ObjectList<ConstValueDescriptor>;
@ -72,4 +71,4 @@ public:
void DebugOutput(int);
#endif//_DEBUG
};//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/CompOperator.h>
SHADERGEN_NAMESPACE_BEGIN
namespace hgl{namespace graph{
using ParamPreciseFlagBits=uint8;
using PPFB=ParamPreciseFlagBits;
@ -101,4 +101,4 @@ public:
hgl_zero(*this);
}
};//struct Standard2DMaterial:public StandardMaterial
SHADERGEN_NAMESPACE_END
}}//namespace hgl::graph

View File

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

View File

@ -72,7 +72,7 @@ MaterialInstance *RenderResource::CreateMaterialInstance(const OSString &mtl_fil
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);

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}
${MATERIAL_CREATE_INFO_SOURCE_FILES})
SET(SHADERGEN_HEADER_FILES ${SHADERGEN_INCLUDE_PATH}/ShaderGenNamespace.h
${SHADERGEN_INCLUDE_PATH}/ShaderDescriptorInfo.h
SET(SHADERGEN_HEADER_FILES ${SHADERGEN_INCLUDE_PATH}/ShaderDescriptorInfo.h
${SHADERGEN_INCLUDE_PATH}/MaterialDescriptorInfo.h)
SET(SHADERGEN_SOURCE_FILES

View File

@ -4,7 +4,7 @@
using namespace hgl;
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)
{
shader_name=n;
@ -119,4 +119,4 @@ bool MaterialCreateInfo::CreateShader()
return(true);
}
SHADERGEN_NAMESPACE_END
}}//namespace hgl::graph

View File

@ -1,6 +1,6 @@
#include<hgl/shadergen/MaterialDescriptorInfo.h>
SHADERGEN_NAMESPACE_BEGIN
namespace hgl{namespace graph{
MaterialDescriptorInfo::MaterialDescriptorInfo()
{
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"GLSLCompiler.h"
SHADERGEN_NAMESPACE_BEGIN
namespace hgl{namespace graph{
ShaderCreateInfo::ShaderCreateInfo(VkShaderStageFlagBits ss,MaterialDescriptorInfo *m)
{
shader_stage=ss;
@ -15,7 +15,7 @@ ShaderCreateInfo::ShaderCreateInfo(VkShaderStageFlagBits ss,MaterialDescriptorIn
ShaderCreateInfo::~ShaderCreateInfo()
{
if(spv_data)
glsl_compiler::Free(spv_data);
FreeSPVData(spv_data);
delete sdm;
}
@ -274,7 +274,7 @@ bool ShaderCreateInfo::CreateShader(ShaderCreateInfo *last_sc)
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)
return(false);
@ -282,7 +282,7 @@ bool ShaderCreateInfo::CompileToSPV()
return(true);
}
const uint32_t *ShaderCreateInfo::GetSPVData()const
const uint32 *ShaderCreateInfo::GetSPVData()const
{
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;
}
SHADERGEN_NAMESPACE_END
}}//namespace hgl::graph

View File

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

View File

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

View File

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

View File

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