Some shaders do not compile on Recalbox
Tested by soaresden on Discord:
# /overlay/lower/usr/bin/solarus-run -s='for i,id in ipairs(sol.main.get_resource_ids("shader")) do success, res=pcall(sol.shader.create, id); print(i, id, success, res) end; sol.main.exit()' /var/recalboxfs/recalbox/roms/solarus/defi_zeldo_chap_2.solarus
[Solarus] [0] Info: Solarus 1.6.5
[Solarus] [0] Info: Opening quest '/var/recalboxfs/recalbox/roms/solarus/defi_zeldo_chap_2.solarus'
[Solarus] [0] Info: Joypad support enabled: true
[Solarus] [0] Info: SDL: 2.0.12
[Solarus] [0] Info: Using modern GL Shaders
No mouse or current cursor.[Solarus] [0] Info: Renderer: GlRenderer
[Solarus] [0] Info: OpenGL: OpenGL ES 3.1 Mesa 20.1.3
[Solarus] [0] Info: OpenGL vendor: Broadcom
[Solarus] [0] Info: OpenGL renderer: V3D 4.2
[Solarus] [0] Info: OpenGL shading language: OpenGL ES GLSL ES 3.10
[Solarus] [0] Info: Quest format: 1.6
[Solarus] [0] Info: Fullscreen: no
[Solarus] [0] Info: LuaJIT: yes (LuaJIT 2.1.2)
[Solarus] [0] Warning: Running script arg "for i,id in ipairs(sol.main.get_resource_ids("shader")) do success, res=pcall(sol.shader.create, id); print(i, id, success, res) end; sol.main.exit()"
[Solarus] [0] Info: Compilation result of vertex shader '6xbrz':
0:85(20): error: initializer of global variable `VertexCoord' must be a constant expression
0:86(17): error: initializer of global variable `TexCoord' must be a constant expression
[Solarus] [0] Error: Failed to compile vertex shader '6xbrz'
[Solarus] [0] Info: Linking result of shader '6xbrz':
error: program lacks a vertex shader
[Solarus] [0] Error: Failed to link shader '6xbrz':
1 6xbrz false Failed to create shader: '6xbrz':
2 cast_shadow1d true userdata: 0xb07242c0
[Solarus] [0] Info: Linking result of shader 'fire_dist':
error: declarations for uniform `sol_time` have mismatching precision qualifiers
[Solarus] [0] Error: Failed to link shader 'fire_dist':
3 fire_dist false Failed to create shader: 'fire_dist':
[Solarus] [0] Info: Compilation result of fragment shader 'heavybloom':
0:50(25): error: initializer of global variable `sol_texture_size' must be a constant expression
[Solarus] [0] Error: Failed to compile fragment shader 'heavybloom'
[Solarus] [0] Info: Linking result of shader 'heavybloom':
error: program lacks a fragment shader
[Solarus] [0] Error: Failed to link shader 'heavybloom':
4 heavybloom false Failed to create shader: 'heavybloom':
[Solarus] [0] Info: Compilation result of fragment shader 'hq2x':
0:46(25): error: initializer of global variable `sol_texture_size' must be a constant expression
0:54(17): error: initializer of global variable `texcoord' must be a constant expression
[Solarus] [0] Error: Failed to compile fragment shader 'hq2x'
[Solarus] [0] Info: Linking result of shader 'hq2x':
error: program lacks a fragment shader
[Solarus] [0] Error: Failed to link shader 'hq2x':
5 hq2x false Failed to create shader: 'hq2x':
6 make_shadow1d true userdata: 0xb0724408
7 ntsc2pal true userdata: 0xb0724460
8 sepia true userdata: 0xb0724488
[Solarus] [0] Info: Compilation result of fragment shader 'water_effect':
0:26(16): error: array constructors forbidden in GLSL ES 1.00 (GLSL 1.20 or GLSL ES 3.00 required)
0:26(16): error: initializer of global variable `keys' must be a constant expression
0:40(28): warning: `keys' used uninitialized
0:44(21): error: methods not supported in GLSL ES 1.00 (GLSL 1.20 or GLSL ES 3.00 required)
0:45(28): warning: `keys' used uninitialized
[Solarus] [0] Error: Failed to compile fragment shader 'water_effect'
[Solarus] [0] Info: Linking result of shader 'water_effect':
error: program lacks a fragment shader
[Solarus] [0] Error: Failed to link shader 'water_effect':
9 water_effect false Failed to create shader: 'water_effect':
[Solarus] [0] Info: Fullscreen: yes
[Solarus] [0] Info: Language: fr
[Solarus] [0] Info: Lua console: yes
[Solarus] [0] Info: Turbo mode: no
[Solarus] [0] Info: Simulation started
[Solarus] [0] Info: Simulation finished