Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
godot
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
community
godot
Commits
1a7e1013
Commit
1a7e1013
authored
Jun 03, 2020
by
Yuri Roubinsky
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix shader's length() function parsing in expressions
parent
dc67d073
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
17 additions
and
7 deletions
+17
-7
shader_compiler_gles2.cpp
drivers/gles2/shader_compiler_gles2.cpp
+6
-2
shader_compiler_gles2.h
drivers/gles2/shader_compiler_gles2.h
+1
-1
shader_compiler_rd.cpp
servers/rendering/rasterizer_rd/shader_compiler_rd.cpp
+9
-3
shader_compiler_rd.h
servers/rendering/rasterizer_rd/shader_compiler_rd.h
+1
-1
No files found.
drivers/gles2/shader_compiler_gles2.cpp
View file @
1a7e1013
...
@@ -262,7 +262,7 @@ void ShaderCompilerGLES2::_dump_function_deps(SL::ShaderNode *p_node, const Stri
...
@@ -262,7 +262,7 @@ void ShaderCompilerGLES2::_dump_function_deps(SL::ShaderNode *p_node, const Stri
}
}
}
}
String
ShaderCompilerGLES2
::
_dump_node_code
(
SL
::
Node
*
p_node
,
int
p_level
,
GeneratedCode
&
r_gen_code
,
IdentifierActions
&
p_actions
,
const
DefaultIdentifierActions
&
p_default_actions
,
bool
p_assigning
)
{
String
ShaderCompilerGLES2
::
_dump_node_code
(
SL
::
Node
*
p_node
,
int
p_level
,
GeneratedCode
&
r_gen_code
,
IdentifierActions
&
p_actions
,
const
DefaultIdentifierActions
&
p_default_actions
,
bool
p_assigning
,
bool
p_use_scope
)
{
StringBuilder
code
;
StringBuilder
code
;
switch
(
p_node
->
type
)
{
switch
(
p_node
->
type
)
{
...
@@ -626,7 +626,7 @@ String ShaderCompilerGLES2::_dump_node_code(SL::Node *p_node, int p_level, Gener
...
@@ -626,7 +626,7 @@ String ShaderCompilerGLES2::_dump_node_code(SL::Node *p_node, int p_level, Gener
if
(
arr_node
->
call_expression
!=
nullptr
)
{
if
(
arr_node
->
call_expression
!=
nullptr
)
{
code
+=
"."
;
code
+=
"."
;
code
+=
_dump_node_code
(
arr_node
->
call_expression
,
p_level
,
r_gen_code
,
p_actions
,
p_default_actions
,
p_assigning
);
code
+=
_dump_node_code
(
arr_node
->
call_expression
,
p_level
,
r_gen_code
,
p_actions
,
p_default_actions
,
p_assigning
,
false
);
}
}
if
(
arr_node
->
index_expression
!=
nullptr
)
{
if
(
arr_node
->
index_expression
!=
nullptr
)
{
...
@@ -822,13 +822,17 @@ String ShaderCompilerGLES2::_dump_node_code(SL::Node *p_node, int p_level, Gener
...
@@ -822,13 +822,17 @@ String ShaderCompilerGLES2::_dump_node_code(SL::Node *p_node, int p_level, Gener
}
break
;
}
break
;
default
:
{
default
:
{
if
(
p_use_scope
)
{
code
+=
"("
;
code
+=
"("
;
}
code
+=
_dump_node_code
(
op_node
->
arguments
[
0
],
p_level
,
r_gen_code
,
p_actions
,
p_default_actions
,
p_assigning
);
code
+=
_dump_node_code
(
op_node
->
arguments
[
0
],
p_level
,
r_gen_code
,
p_actions
,
p_default_actions
,
p_assigning
);
code
+=
" "
;
code
+=
" "
;
code
+=
_opstr
(
op_node
->
op
);
code
+=
_opstr
(
op_node
->
op
);
code
+=
" "
;
code
+=
" "
;
code
+=
_dump_node_code
(
op_node
->
arguments
[
1
],
p_level
,
r_gen_code
,
p_actions
,
p_default_actions
,
p_assigning
);
code
+=
_dump_node_code
(
op_node
->
arguments
[
1
],
p_level
,
r_gen_code
,
p_actions
,
p_default_actions
,
p_assigning
);
if
(
p_use_scope
)
{
code
+=
")"
;
code
+=
")"
;
}
}
break
;
}
break
;
}
}
}
break
;
}
break
;
...
...
drivers/gles2/shader_compiler_gles2.h
View file @
1a7e1013
...
@@ -75,7 +75,7 @@ private:
...
@@ -75,7 +75,7 @@ private:
};
};
void
_dump_function_deps
(
ShaderLanguage
::
ShaderNode
*
p_node
,
const
StringName
&
p_for_func
,
const
Map
<
StringName
,
String
>
&
p_func_code
,
StringBuilder
&
r_to_add
,
Set
<
StringName
>
&
r_added
);
void
_dump_function_deps
(
ShaderLanguage
::
ShaderNode
*
p_node
,
const
StringName
&
p_for_func
,
const
Map
<
StringName
,
String
>
&
p_func_code
,
StringBuilder
&
r_to_add
,
Set
<
StringName
>
&
r_added
);
String
_dump_node_code
(
ShaderLanguage
::
Node
*
p_node
,
int
p_level
,
GeneratedCode
&
r_gen_code
,
IdentifierActions
&
p_actions
,
const
DefaultIdentifierActions
&
p_default_actions
,
bool
p_assigning
);
String
_dump_node_code
(
ShaderLanguage
::
Node
*
p_node
,
int
p_level
,
GeneratedCode
&
r_gen_code
,
IdentifierActions
&
p_actions
,
const
DefaultIdentifierActions
&
p_default_actions
,
bool
p_assigning
,
bool
p_use_scope
=
true
);
StringName
current_func_name
;
StringName
current_func_name
;
StringName
vertex_name
;
StringName
vertex_name
;
...
...
servers/rendering/rasterizer_rd/shader_compiler_rd.cpp
View file @
1a7e1013
...
@@ -479,7 +479,7 @@ static String _get_global_variable_from_type_and_index(const String &p_buffer, c
...
@@ -479,7 +479,7 @@ static String _get_global_variable_from_type_and_index(const String &p_buffer, c
}
}
}
}
String
ShaderCompilerRD
::
_dump_node_code
(
const
SL
::
Node
*
p_node
,
int
p_level
,
GeneratedCode
&
r_gen_code
,
IdentifierActions
&
p_actions
,
const
DefaultIdentifierActions
&
p_default_actions
,
bool
p_assigning
)
{
String
ShaderCompilerRD
::
_dump_node_code
(
const
SL
::
Node
*
p_node
,
int
p_level
,
GeneratedCode
&
r_gen_code
,
IdentifierActions
&
p_actions
,
const
DefaultIdentifierActions
&
p_default_actions
,
bool
p_assigning
,
bool
p_use_scope
)
{
String
code
;
String
code
;
switch
(
p_node
->
type
)
{
switch
(
p_node
->
type
)
{
...
@@ -967,7 +967,7 @@ String ShaderCompilerRD::_dump_node_code(const SL::Node *p_node, int p_level, Ge
...
@@ -967,7 +967,7 @@ String ShaderCompilerRD::_dump_node_code(const SL::Node *p_node, int p_level, Ge
if
(
anode
->
call_expression
!=
nullptr
)
{
if
(
anode
->
call_expression
!=
nullptr
)
{
code
+=
"."
;
code
+=
"."
;
code
+=
_dump_node_code
(
anode
->
call_expression
,
p_level
,
r_gen_code
,
p_actions
,
p_default_actions
,
p_assigning
);
code
+=
_dump_node_code
(
anode
->
call_expression
,
p_level
,
r_gen_code
,
p_actions
,
p_default_actions
,
p_assigning
,
false
);
}
}
if
(
anode
->
index_expression
!=
nullptr
)
{
if
(
anode
->
index_expression
!=
nullptr
)
{
...
@@ -1113,7 +1113,13 @@ String ShaderCompilerRD::_dump_node_code(const SL::Node *p_node, int p_level, Ge
...
@@ -1113,7 +1113,13 @@ String ShaderCompilerRD::_dump_node_code(const SL::Node *p_node, int p_level, Ge
}
break
;
}
break
;
default
:
{
default
:
{
code
=
"("
+
_dump_node_code
(
onode
->
arguments
[
0
],
p_level
,
r_gen_code
,
p_actions
,
p_default_actions
,
p_assigning
)
+
_opstr
(
onode
->
op
)
+
_dump_node_code
(
onode
->
arguments
[
1
],
p_level
,
r_gen_code
,
p_actions
,
p_default_actions
,
p_assigning
)
+
")"
;
if
(
p_use_scope
)
{
code
+=
"("
;
}
code
+=
_dump_node_code
(
onode
->
arguments
[
0
],
p_level
,
r_gen_code
,
p_actions
,
p_default_actions
,
p_assigning
)
+
_opstr
(
onode
->
op
)
+
_dump_node_code
(
onode
->
arguments
[
1
],
p_level
,
r_gen_code
,
p_actions
,
p_default_actions
,
p_assigning
);
if
(
p_use_scope
)
{
code
+=
")"
;
}
break
;
break
;
}
}
}
}
...
...
servers/rendering/rasterizer_rd/shader_compiler_rd.h
View file @
1a7e1013
...
@@ -96,7 +96,7 @@ private:
...
@@ -96,7 +96,7 @@ private:
String
_get_sampler_name
(
ShaderLanguage
::
TextureFilter
p_filter
,
ShaderLanguage
::
TextureRepeat
p_repeat
);
String
_get_sampler_name
(
ShaderLanguage
::
TextureFilter
p_filter
,
ShaderLanguage
::
TextureRepeat
p_repeat
);
void
_dump_function_deps
(
const
ShaderLanguage
::
ShaderNode
*
p_node
,
const
StringName
&
p_for_func
,
const
Map
<
StringName
,
String
>
&
p_func_code
,
String
&
r_to_add
,
Set
<
StringName
>
&
added
);
void
_dump_function_deps
(
const
ShaderLanguage
::
ShaderNode
*
p_node
,
const
StringName
&
p_for_func
,
const
Map
<
StringName
,
String
>
&
p_func_code
,
String
&
r_to_add
,
Set
<
StringName
>
&
added
);
String
_dump_node_code
(
const
ShaderLanguage
::
Node
*
p_node
,
int
p_level
,
GeneratedCode
&
r_gen_code
,
IdentifierActions
&
p_actions
,
const
DefaultIdentifierActions
&
p_default_actions
,
bool
p_assigning
);
String
_dump_node_code
(
const
ShaderLanguage
::
Node
*
p_node
,
int
p_level
,
GeneratedCode
&
r_gen_code
,
IdentifierActions
&
p_actions
,
const
DefaultIdentifierActions
&
p_default_actions
,
bool
p_assigning
,
bool
p_scope
=
true
);
const
ShaderLanguage
::
ShaderNode
*
shader
;
const
ShaderLanguage
::
ShaderNode
*
shader
;
const
ShaderLanguage
::
FunctionNode
*
function
;
const
ShaderLanguage
::
FunctionNode
*
function
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment