4.4-dev6 VisualShader: Error: Parameter "version" is null and then after a while crash
Tested versions
- Reproducible in: v4.4.dev6.official [1f47e4c4e]
System information
Windows 11 - Godot 4.4-dev6 - Forward+ - dedicated NVidia RTX 2070 super
Issue description
the output console will be filled with
ERROR: Parameter "version" is null.
at: version_is_valid (servers/rendering/renderer_rd/shader_rd.cpp:659)
when clicking the eye icon on certain nodes with certain inputs it seems like it has to do with inv_view_matrix and the preview from the eye icons in the visual shader
Steps to reproduce
make a visual shader
connect [input: inv_view_matrix] and [input: vertex] into [TransformVectorMult: A x B] connect the [TransformVectorMult AxB] into [Texture2D: SamplerPort: UV] connect [Texture2D: SamplerPort: Color] into [Output: Albedo]
now whenever you click the eye icon on the output of either the [TransformVectorMult: A x B] or [Texture2D: SamplerPort: Color] the output console will be filled with
ERROR: Parameter "version" is null.
at: version_is_valid (servers/rendering/renderer_rd/shader_rd.cpp:659)
and then eventually crash
Minimal reproduction project (MRP)
N/A
Windows 11 - Godot 4.4-dev6 - Forward+ - RTX2060 I'm able to reproduce the issue that spams the error in the output console, but it has not crashed (yet).
However, if I use the latest build from master dc5f1b7a2826962f02230227abc486ac160ae66c it does not spam the error anymore, instead I have this error (spawned once) every time I click the eye icon of either the TransfomVectorMult or Texture2D node :
ERROR: :12 - Unknown identifier in expression: 'n_out2p0'.
ERROR: Shader compilation failed.
Show Port Preview
--Main Shader--
1 | shader_type canvas_item;
2 |
3 |
4 |
5 |
6 | void fragment() {
7 |
8 | vec3 n_out3p0 = vec3(0.0);
9 |
10 |
11 |
E 12-> vec3 n_out4p0 = (n_out2p0 * vec4(n_out3p0, 1.0)).xyz;
13 |
14 |
15 | COLOR.rgb = n_out4p0;
16 | }
17 |
ERROR: .\servers/rendering/renderer_rd/shader_rd.h:172 - Parameter "version" is null.
@AThousandShips Confirmed. On the version it was reported on it spams the error; on master it still shows up but only once each time the eye is clicked. I get an extra error in my sample project, but only on the Texture2D eye, not the Transform one:
--Main Shader--
1 | shader_type canvas_item;
2 |
3 | uniform sampler2D tex_frg_5;
4 |
5 |
6 |
7 | void fragment() {
8 |
9 | vec3 n_out4p0 = vec3(0.0);
10 |
11 |
12 |
E 13-> vec3 n_out3p0 = (n_out2p0 * vec4(n_out4p0, 1.0)).xyz;
14 |
15 |
16 |
17 | vec4 n_out5p0 = texture(tex_frg_5, vec2(n_out3p0.xy));
18 |
19 |
20 | COLOR = n_out5p0;
21 | }
22 |
SHADER ERROR: Unknown identifier in expression: 'n_out2p0'.
at: (null) (:13)
ERROR: Shader compilation failed.
at: set_code (./servers/rendering/renderer_rd/renderer_canvas_render_rd.cpp:1577)
ERROR: CameraServer is not actively monitoring feeds; call set_monitoring_feeds(true) first.
at: get_feed_by_id (servers/camera_server.cpp:103)
ERROR: Parameter "version" is null.
at: version_get_shader (./servers/rendering/renderer_rd/shader_rd.h:169)
MRP: 100296.zip