View: 1355|Reply: 2

Panfrost Mali-G610 : Error w Dolphin emulator - illegal use sampler2DMSArray

[Copy link]

2

threads

3

posts

16

credits

Novice

Rank: 1

credits
16
Published in 2023-3-3 01:32:20 | Show all floors |Read mode
This post was finally edited by fredrum at 2023-3-3 01:40

System information:

Hardware:  Orange Pi 5
OS: Armbian (23.02.2) aarch64
GPU:  Mali-G610
Kernel version: Linux orangepi5 5.10.110-rockchip-rk3588 #23.02.2 SMP Fri Feb 17 23:59:20 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux

Mesa version:
Extended renderer info (GLX_MESA_query_renderer):
Vendor: Panfrost (0xffffffff)
Device: Mali-G610 (Panfrost) (0xffffffff)
Version: 23.0.0
Accelerated: yes
Video memory: 7689MB
Unified memory: yes
Preferred profile: compat (0x2)
Max core profile version: 0.0
Max compat profile version: 3.0
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.1
OpenGL vendor string: Panfrost
OpenGL renderer string: Mali-G610 (Panfrost)
OpenGL version string: 3.0 Mesa 23.0.0-devel
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 23.0.0-devel
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10

Desktop manager and compositor: Wayland



I built the HoT dolphin emulator. It went through and gave me executables.
Then I changed the config to use GLES like this,

nano ~./config/dolphin-emu/GFX.ini
adding
PreferGLES = True


The gui of dolphin runs fine.
I didn't change any settings from default except to make sure 'OpenGL' was selected as graphics backend.
When I try to run a game I only get a black screen and immediate crash followed by this error message,

----------
Failed to compile vs shader: /home/fred/.local/share/dolphin-emu/Dump/bad_vs_OGL_0.txt
Debug info (Panfrost, Mali-G610 (Panfrost), OpenGL ES 3.1 Mesa 23.0.0-devel):
0:36(17): error: illegal use of reserved word `sampler2DMSArray'
0:36(17): error: syntax error, unexpected ERROR_TOK
---------


When I read the file /home/fred/.local/share/dolphin-emu/Dump/bad_vs_OGL_0.txt
I see that it starts by announcing its a #version 310 es  which it seems this environment and gl drivers should be able to support?

Does anyone know how to build Dolphin on an Orange Pi 5 with Linux?

Cheers and thanks for all your hard work!

The shader text:
-----------------------------------
#version 310 es

#define FORCE_EARLY_Z layout(early_fragment_tests) in

#define ATTRIBUTE_LOCATION(x)
#define FRAGMENT_OUTPUT_LOCATION(x)
#define FRAGMENT_OUTPUT_LOCATION_INDEXED(x, y)
#define UBO_BINDING(packing, x) layout(packing, binding = x)
#define SAMPLER_BINDING(x) layout(binding = x)
#define TEXEL_BUFFER_BINDING(x) layout(binding = x)
#define SSBO_BINDING(x) layout(std430, binding = x)
#define IMAGE_BINDING(format, x) layout(format, binding = x)

#define VARYING_LOCATION(x)

#extension GL_OES_texture_buffer : enable
#extension GL_EXT_blend_func_extended : enable

#extension GL_EXT_shader_framebuffer_fetch: enable
#define FRAGMENT_INOUT inout

precision highp float;
precision highp int;
precision highp sampler2DArray;
precision highp usamplerBuffer;
precision highp sampler2DMSArray;
precision highp image2DArray;
#define API_OPENGL 1
#define float2 vec2
#define float3 vec3
#define float4 vec4
#define uint2 uvec2
#define uint3 uvec3
#define uint4 uvec4
#define int2 ivec2
#define int3 ivec3
#define int4 ivec4
#define frac fract
#define lerp mix
VARYING_LOCATION(0) out float3 v_tex0;
#define opos gl_Position
#define id gl_VertexID

void main()
{
...
}

2

threads

3

posts

16

credits

Novice

Rank: 1

credits
16
 Author| Published in 2023-3-3 09:36:40 | Show all floors
I got a reply on Mesa gitlab,

"Hi, sampler2DMSArray requires 3.20 es. This is a bug in the emulator.
On page 17 of the GLSL ES 3.10 spec its listed under The following are the keywords reserved for future use. Using them will result in an error:"

0

threads

2

posts

18

credits

Novice

Rank: 1

credits
18
Published in 2023-9-13 06:03:51 | Show all floors
This post was finally edited by militen at 2023-9-14 02:40

This setup indicates that you have a modern ARM-based system with good graphics capabilities running a recent version of the Armbian operating system. You're using the Panfrost driver for your Mali-G610 GPU, which is an open-source driver that provides OpenGL support. This also works in the gaming world, for example I heard about Jackpot City Casino Canada from https://casinosanalyzer.ca/online-casinos/jackpotcitycasino.com it's a cool review. Additionally, you're using the Wayland display server as your desktop manager and compositor, which is known for its modern and efficient graphics handling. If you have any specific questions or need assistance with this setup, feel free to ask!
You need to log in before you can reply login | Register

Points Rule

Quick reply Top Return list