optimized codes of ShaderCreateInfo::ProcDefine
This commit is contained in:
parent
d17932c7a4
commit
ab6a8435a1
@ -67,9 +67,5 @@ public:
|
|||||||
bool AddSubpassInput(const AnsiString name,uint8_t index);
|
bool AddSubpassInput(const AnsiString name,uint8_t index);
|
||||||
|
|
||||||
void SetPushConstant(const AnsiString name,uint8_t offset,uint8_t size);
|
void SetPushConstant(const AnsiString name,uint8_t offset,uint8_t size);
|
||||||
|
|
||||||
#ifdef _DEBUG
|
|
||||||
void DebugOutput(int);
|
|
||||||
#endif//_DEBUG
|
|
||||||
};//class ShaderDescriptorInfo
|
};//class ShaderDescriptorInfo
|
||||||
}}//namespace hgl::graph
|
}}//namespace hgl::graph
|
||||||
|
@ -281,11 +281,11 @@ add_cm_library(ULRE.SceneGraph "ULRE" ${SCENE_GRAPH_HEADER}
|
|||||||
${TILE_SOURCE}
|
${TILE_SOURCE}
|
||||||
${SG_VAD_SOURCE}
|
${SG_VAD_SOURCE}
|
||||||
|
|
||||||
${FONT_MANAGE_SOURCE}
|
# ${FONT_MANAGE_SOURCE}
|
||||||
${FONT_SOURCE}
|
# ${FONT_SOURCE}
|
||||||
${FONT_SOURCE_OS}
|
# ${FONT_SOURCE_OS}
|
||||||
${TILE_FONT_SOURCE}
|
# ${TILE_FONT_SOURCE}
|
||||||
${FONT_LAYOUT_SOURCE}
|
# ${FONT_LAYOUT_SOURCE}
|
||||||
${TEXT_RENDERABLE_SOURCE}
|
# ${TEXT_RENDERABLE_SOURCE}
|
||||||
|
|
||||||
${VULKAN_RENDER_SOURCE})
|
${VULKAN_RENDER_SOURCE})
|
||||||
|
@ -56,6 +56,7 @@ bool ShaderCreateInfo::ProcDefine()
|
|||||||
const uint32_t total_length=GLSL_DEFINE_FRONT_LENGTH+define_macro_max_length+define_value_max_length+3;
|
const uint32_t total_length=GLSL_DEFINE_FRONT_LENGTH+define_macro_max_length+define_value_max_length+3;
|
||||||
|
|
||||||
char *tmp=new char[total_length];
|
char *tmp=new char[total_length];
|
||||||
|
char *p;
|
||||||
|
|
||||||
memcpy(tmp,GLSL_DEFINE_FRONT,GLSL_DEFINE_FRONT_LENGTH);
|
memcpy(tmp,GLSL_DEFINE_FRONT,GLSL_DEFINE_FRONT_LENGTH);
|
||||||
|
|
||||||
@ -65,6 +66,7 @@ bool ShaderCreateInfo::ProcDefine()
|
|||||||
AnsiString m;
|
AnsiString m;
|
||||||
AnsiString v;
|
AnsiString v;
|
||||||
|
|
||||||
|
|
||||||
for(uint i=0;i<count;i++)
|
for(uint i=0;i<count;i++)
|
||||||
{
|
{
|
||||||
m=define_macro_list.GetString(i);
|
m=define_macro_list.GetString(i);
|
||||||
@ -73,15 +75,21 @@ bool ShaderCreateInfo::ProcDefine()
|
|||||||
macro_length=m.Length();
|
macro_length=m.Length();
|
||||||
value_length=v.Length();
|
value_length=v.Length();
|
||||||
|
|
||||||
memcpy(tmp+GLSL_DEFINE_FRONT_LENGTH,m.c_str(),macro_length);
|
p=tmp+GLSL_DEFINE_FRONT_LENGTH;
|
||||||
|
|
||||||
tmp[GLSL_DEFINE_FRONT_LENGTH+macro_length]=' ';
|
memcpy(p,m.c_str(),macro_length);
|
||||||
|
|
||||||
memcpy(tmp+GLSL_DEFINE_FRONT_LENGTH+macro_length+1,v.c_str(),value_length);
|
p+=macro_length;
|
||||||
|
|
||||||
tmp[GLSL_DEFINE_FRONT_LENGTH+macro_length+1+value_length]='\n';
|
*p=' ';
|
||||||
|
++p;
|
||||||
|
|
||||||
final_shader.Strcat(tmp,GLSL_DEFINE_FRONT_LENGTH+macro_length+value_length+2);
|
memcpy(p,v.c_str(),value_length);
|
||||||
|
|
||||||
|
p+=value_length;
|
||||||
|
*p='\n';
|
||||||
|
|
||||||
|
final_shader.Strcat(tmp,p-tmp+1);
|
||||||
}
|
}
|
||||||
|
|
||||||
delete[] tmp;
|
delete[] tmp;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user