|
@@ -2539,8 +2539,6 @@ Error ShaderLanguage::parse_block(Parser& parser,BlockNode *p_block) {
|
|
Error ShaderLanguage::parse(const Vector<Token>& p_tokens,ShaderType p_type,CompileFunc p_compile_func,void *p_userdata,String *r_error,int *r_err_line,int *r_err_column) {
|
|
Error ShaderLanguage::parse(const Vector<Token>& p_tokens,ShaderType p_type,CompileFunc p_compile_func,void *p_userdata,String *r_error,int *r_err_line,int *r_err_column) {
|
|
|
|
|
|
|
|
|
|
- uint64_t t = OS::get_singleton()->get_ticks_usec();
|
|
|
|
-
|
|
|
|
Parser parser(p_tokens);
|
|
Parser parser(p_tokens);
|
|
parser.program = parser.create_node<ProgramNode>(NULL);
|
|
parser.program = parser.create_node<ProgramNode>(NULL);
|
|
parser.program->body = parser.create_node<BlockNode>(parser.program);
|
|
parser.program->body = parser.create_node<BlockNode>(parser.program);
|
|
@@ -2605,18 +2603,10 @@ Error ShaderLanguage::parse(const Vector<Token>& p_tokens,ShaderType p_type,Comp
|
|
return err;
|
|
return err;
|
|
}
|
|
}
|
|
|
|
|
|
- double tf = (OS::get_singleton()->get_ticks_usec()-t)/1000.0;
|
|
|
|
- //print_line("parse time: "+rtos(tf));
|
|
|
|
-
|
|
|
|
- t = OS::get_singleton()->get_ticks_usec();
|
|
|
|
-
|
|
|
|
if (p_compile_func) {
|
|
if (p_compile_func) {
|
|
err = p_compile_func(p_userdata,parser.program);
|
|
err = p_compile_func(p_userdata,parser.program);
|
|
}
|
|
}
|
|
|
|
|
|
- tf = (OS::get_singleton()->get_ticks_usec()-t)/1000.0;
|
|
|
|
- //print_line("compile time: "+rtos(tf));
|
|
|
|
-
|
|
|
|
//clean up nodes created
|
|
//clean up nodes created
|
|
while(parser.nodegc.size()) {
|
|
while(parser.nodegc.size()) {
|
|
|
|
|
|
@@ -2633,22 +2623,16 @@ Error ShaderLanguage::compile(const String& p_code,ShaderType p_type,CompileFunc
|
|
*r_err_column=0;
|
|
*r_err_column=0;
|
|
Vector<Token> tokens;
|
|
Vector<Token> tokens;
|
|
|
|
|
|
- uint64_t t = OS::get_singleton()->get_ticks_usec();
|
|
|
|
-
|
|
|
|
Error err = tokenize(p_code,&tokens,r_error,r_err_line,r_err_column);
|
|
Error err = tokenize(p_code,&tokens,r_error,r_err_line,r_err_column);
|
|
if (err!=OK) {
|
|
if (err!=OK) {
|
|
print_line("tokenizer error!");
|
|
print_line("tokenizer error!");
|
|
}
|
|
}
|
|
|
|
|
|
- double tf = (OS::get_singleton()->get_ticks_usec()-t)/1000.0;
|
|
|
|
- //print_line("tokenize time: "+rtos(tf));
|
|
|
|
-
|
|
|
|
if (err!=OK) {
|
|
if (err!=OK) {
|
|
return err;
|
|
return err;
|
|
}
|
|
}
|
|
err = parse(tokens,p_type,p_compile_func,p_userdata,r_error,r_err_line,r_err_column);
|
|
err = parse(tokens,p_type,p_compile_func,p_userdata,r_error,r_err_line,r_err_column);
|
|
if (err!=OK) {
|
|
if (err!=OK) {
|
|
- //print_line("LDEBUG: "+lex_debug(p_code));
|
|
|
|
return err;
|
|
return err;
|
|
}
|
|
}
|
|
return OK;
|
|
return OK;
|