Virgl Failed to run flutter-drm-gbm-backend due to 'shader failed to compile'
Here is the log, Seen like the issue occurred at 'in vec4 in_0[2];'
ERROR: 0:5: 'attribute 4-component vector of float' : cannot declare arrays of this qualifier
ERROR: 0:28: 'in_0' : undeclared identifier
ERROR: 0:28: 'expression' : left of '[' is not of type array, matrix, or vector
ERROR: 0:35: 'expression' : left of '[' is not of type array, matrix, or vector
ERROR: 4 compilation errors. No code generated.
vrend_compile_shader: context error reported 1 "flutter-drm-gbm-backend" Illegal shader 0
shader failed to compile
ERROR: 0:5: 'attribute 4-component vector of float' : cannot declare arrays of this qualifier
ERROR: 0:28: 'in_0' : undeclared identifier
ERROR: 0:28: 'expression' : left of '[' is not of type array, matrix, or vector
ERROR: 0:35: 'expression' : left of '[' is not of type array, matrix, or vector
ERROR: 4 compilation errors. No code generated.
vs: 27 GLSL:
1: #version 320 es
2: #extension GL_EXT_clip_cull_distance : require
3: precision highp float;
4: precision highp int;
5: in vec4 in_0[2];
6: flat out vec4 vso_c0;
7: flat out vec4 vso_g0;
8: vec4 clip_dist_temp[2];
9: vec4 temp0;
10: vec4 temp1;
11: vec4 temp2;
12: vec4 temp3;
13: vec4 temp4;
14: vec4 temp5;
15: vec4 temp6;
16: vec4 temp7;
17: uniform uvec4 vsconst0[4];
18: layout (std140) uniform VirglBlock {
19: vec4 clipp[8];
20: uint stipple_pattern[32];
21: float winsys_adjust_y;
22: float alpha_ref_val;
23: bool clip_plane_enabled;
24: int drawid_base;
25: };
26: void main(void)
27: {
28: temp0.xy = vec2(((in_0[0]) * uintBitsToFloat(vsconst0[2].xyyy) + uintBitsToFloat(vsconst0[1].zwww)).xy);
29: temp1.xy = vec2(( temp0 * uintBitsToFloat(vsconst0[1].xyyy) + (vec4(-1,-1,-1,-1))).xy);
30: temp2 = vec4((( temp1.xyxy * uintBitsToFloat(vsconst0[3]))));
31: gl_Position.xy = vec2((( temp2.xzzz + temp2.ywww )).xy);
32: gl_Position.zw = vec2(((vec4(-1,0,0,1)).zw));
33: temp7 = vec4((uintBitsToFloat(vsconst0[0])));
34: vso_c0 = vec4(( temp7 ));
35: vso_g0 = vec4(((in_0[1])));
36: if (clip_plane_enabled) {
37: gl_ClipDistance[0] = dot(gl_Position, clipp[0]);
38: gl_ClipDistance[1] = dot(gl_Position, clipp[1]);
39: gl_ClipDistance[2] = dot(gl_Position, clipp[2]);
40: gl_ClipDistance[3] = dot(gl_Position, clipp[3]);
41: gl_ClipDistance[4] = dot(gl_Position, clipp[4]);
42: gl_ClipDistance[5] = dot(gl_Position, clipp[5]);
43: gl_ClipDistance[6] = dot(gl_Position, clipp[6]);
44: gl_ClipDistance[7] = dot(gl_Position, clipp[7]);
45: }
46: gl_Position.y = gl_Position.y * winsys_adjust_y;
47: }