godot
godot copied to clipboard
[4.4 beta 4] iOS: Metal shader compilation warnings and unexpected compilation amount
Tested versions
- tested Metal iOS 4.4 beta 4
- comparing MoltenVK iOS 4.3-stable
System information
Godot v4.4.beta4 - macOS Sonoma (14.7.2) - Multi-window, 2 monitors - Vulkan (Mobile)
Issue description
So far, I've been using MoltenVK on iOS with version 4.3-stable.
Doing manual particle preloading I'm getting 4 compilation warnings from MoltenVK for one of each particle system.
Switching to 4.4 beta4 using Metal with pipeline caching and no manual preloading is showing 78 compilation warnings on the first launch, which is very slow (logs down below).
I even got these warnings when running in Release mode via Xcode.
- Should these warnings be suppressed?
- Are the amount of compilations out of the ordinary? I only have 4 particle systems and the game is fully 2D with control nodes (no sprites), so I'm not sure where the 78 shader compilations are coming from?
Log (truncated)
Godot Engine v4.4.beta4.official.93d270693 - https://godotengine.org
Metal 3.2 - Forward Mobile - Using Device #0: Apple - Apple A15 GPU (Apple8)
fopen failed for data file: errno = 2 (No such file or directory)
Errors found! Invalidating cache...
fopen failed for data file: errno = 2 (No such file or directory)
Errors found! Invalidating cache...
Warning: Compilation succeeded with:
program_source:68:11: warning: unused variable 'DTid' [-Wunused-variable]
uint3 DTid = gl_GlobalInvocationID;
^
Warning: Compilation succeeded with:
program_source:68:11: warning: unused variable 'DTid' [-Wunused-variable]
uint3 DTid = gl_GlobalInvocationID;
^
Warning: Compilation succeeded with:
program_source:189:12: warning: unused variable 'instance_custom' [-Wunused-variable]
float4 instance_custom = float4(0.0);
^
program_source:237:11: warning: unused variable 'bones' [-Wunused-variable]
uint4 bones = uint4(0u);
^
program_source:238:12: warning: unused variable 'bone_weights' [-Wunused-variable]
float4 bone_weights = float4(0.0);
^
program_source:240:11: warning: unused variable 'point_size' [-Wunused-variable]
float point_size = 1.0;
^
program_source:107:15: warning: unused variable 'pso_sc_packed_0' [-Wunused-const-variable]
constant uint pso_sc_packed_0 = is_function_constant_defined(pso_sc_packed_0_tmp) ? pso_sc_packed_0_tmp : 0u;
^
Warning: Compilation succeeded with:
program_source:212:15: warning: unused variable 'cVdotH' [-Wunused-variable]
float cVdotH = fast::max(dot(view, half_vec), 0.0);
^
program_source:213:15: warning: unused variable 'cLdotH' [-Wunused-variable]
float cLdotH = fast::max(dot(light_vec, half_vec), 0.0);
^
program_source:447:12: warning: unused variable 'screen_uv' [-Wunused-variable]
float2 screen_uv = float2(0.0);
^
program_source:450:11: warning: unused variable 'normal_map_depth' [-Wunused-variable]
float normal_map_depth = 1.0;
^
Warning: Compilation succeeded with:
program_source:190:12: warning: unused variable 'instance_custom' [-Wunused-variable]
float4 instance_custom = float4(0.0);
^
program_source:238:11: warning: unused variable 'bones' [-Wunused-variable]
uint4 bones = uint4(0u);
^
program_source:239:12: warning: unused variable 'bone_weights' [-Wunused-variable]
float4 bone_weights = float4(0.0);
^
program_source:107:15: warning: unused variable 'pso_sc_packed_0' [-Wunused-const-variable]
constant uint pso_sc_packed_0 = is_function_constant_defined(pso_sc_packed_0_tmp) ? pso_sc_packed_0_tmp : 0u;
^
Warning: Compilation succeeded with:
program_source:196:12: warning: unused variable 'instance_custom' [-Wunused-variable]
float4 instance_custom = float4(0.0);
^
program_source:226:11: warning: unused variable 'bones' [-Wunused-variable]
uint4 bones = uint4(0u);
^
program_source:228:11: warning: unused variable 'point_size' [-Wunused-variable]
float point_size = 1.0;
^
program_source:111:15: warning: unused variable 'pso_sc_packed_0' [-Wunused-const-variable]
constant uint pso_sc_packed_0 = is_function_constant_defined(pso_sc_packed_0_tmp) ? pso_sc_packed_0_tmp : 0u;
^
Warning: Compilation succeeded with:
program_source:255:15: warning: unused variable 'cVdotH' [-Wunused-variable]
float cVdotH = fast::max(dot(view, half_vec), 0.0);
^
program_source:256:15: warning: unused variable 'cLdotH' [-Wunused-variable]
float cLdotH = fast::max(dot(light_vec, half_vec), 0.0);
^
program_source:570:12: warning: unused variable 'screen_uv' [-Wunused-variable]
float2 screen_uv = float2(0.0);
^
program_source:573:11: warning: unused variable 'normal_map_depth' [-Wunused-variable]
float normal_map_depth = 1.0;
^
Warning: Compilation succeeded with:
program_source:196:11: warning: unused variable 'bones' [-Wunused-variable]
uint4 bones = in.bone_attrib;
^
program_source:197:12: warning: unused variable 'bone_weights' [-Wunused-variable]
float4 bone_weights = in.weight_attrib;
^
program_source:251:11: warning: unused variable 'point_size' [-Wunused-variable]
float point_size = 1.0;
^
program_source:77:15: warning: unused variable 'pso_sc_packed_0' [-Wunused-const-variable]
constant uint pso_sc_packed_0 = is_function_constant_defined(pso_sc_packed_0_tmp) ? pso_sc_packed_0_tmp : 0u;
^
Warning: Compilation succeeded with:
program_source:197:11: warning: unused variable 'bones' [-Wunused-variable]
uint4 bones = in.bone_attrib;
^
program_source:198:12: warning: unused variable 'bone_weights' [-Wunused-variable]
float4 bone_weights = in.weight_attrib;
^
program_source:77:15: warning: unused variable 'pso_sc_packed_0' [-Wunused-const-variable]
constant uint pso_sc_packed_0 = is_function_constant_defined(pso_sc_packed_0_tmp) ? pso_sc_packed_0_tmp : 0u;
^
Warning: Compilation succeeded with:
program_source:182:15: warning: unused variable 'cVdotH' [-Wunused-variable]
float cVdotH = fast::max(dot(view, half_vec), 0.0);
^
program_source:183:15: warning: unused variable 'cLdotH' [-Wunused-variable]
float cLdotH = fast::max(dot(light_vec, half_vec), 0.0);
^
program_source:457:12: warning: unused variable 'screen_uv' [-Wunused-variable]
float2 screen_uv = float2(0.0);
^
program_source:460:11: warning: unused variable 'normal_map_depth' [-Wunused-variable]
float normal_map_depth = 1.0;
^
Warning: Compilation succeeded with:
program_source:195:12: warning: unused variable 'instance_custom' [-Wunused-variable]
float4 instance_custom = float4(0.0);
^
program_source:225:11: warning: unused variable 'bones' [-Wunused-variable]
uint4 bones = uint4(0u);
^
program_source:227:11: warning: unused variable 'point_size' [-Wunused-variable]
float point_size = 1.0;
^
program_source:111:15: warning: unused variable 'pso_sc_packed_0' [-Wunused-const-variable]
constant uint pso_sc_packed_0 = is_function_constant_defined(pso_sc_packed_0_tmp) ? pso_sc_packed_0_tmp : 0u;
^
[... truncated]