Recent logs - Gangs of London™

To see your stuff show here, enable Compatibility Server Reports in PPSSPP.

Click on a version, game, or report message to show similar entries. Hover over version to see platform info, and hover over a game title to see region and version info.

Game title Version Latest Report Message
Gangs of London™ v1.8.0 2023-03-15 Unknown GE command : 29641706
Gangs of London™ v1.8.0 2023-03-13 Error in shader program link: info: Varying variable v_fogdepth is used in fragment shader, but not found in vertex shader. fs: 00000000:00a00002 Tex Fog 2x TFuncMod #version 100 precision lowp float; uniform sampler2D tex; varying vec4 v_color0; uniform vec3 u_fogcolor; varying highp float v_fogdepth; varying highp vec3 v_texcoord; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); v.rgb = clamp(v.rgb * 2.0, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; } vs: 00000000:0000001a THR C Tex #version 100 precision highp float; attribute vec4 position; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj_through; varying lowp vec4 v_color0; varying highp vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; vec4 outPos = u_proj_through * vec4(position.xyz, 1.0); gl_Position = outPos; }
Gangs of London™ v1.8.0 2023-03-13 Unknown GE command : 353a3631
Gangs of London™ v1.6.3 2023-02-07 Unknown GE command : 29453186
Gangs of London™ v1.11.3 2022-12-17 sceKernelCreateSema(RealMutex) unsupported options parameter, size = -65536
Gangs of London™ v1.13.2 2022-12-12 Rendering to framebuffer offset: 04110000 +256x0
Gangs of London™ v1.9.4 2022-11-02 Bad vertex address 03282522!
Gangs of London™ v1.9.4 2022-11-02 Bad vertex address 0c42a126!
Gangs of London™ v1.9.4 2022-11-02 Unknown GE command : ef369d18
Gangs of London™ v1.13.2 2022-12-25 Unknown GetPointer 00000010 PC 08a0d974 LR 08a12a34
Gangs of London™ v1.10.2 2022-10-01 CALL to illegal address 01500014 - ignoring! data=500014
Gangs of London™ v1.13.2 2022-12-22 sceKernelLoadModuleByID: unsupported options size=00000014, flags=089d5550, pos=0, access=1, data=2, text=2
Gangs of London™ v1.13.2 2022-12-27 GetFramebufferCandidates(COLOR): Multiple (2) candidate framebuffers. First will be chosen. texaddr: 04130000 offset: 0 (256x128 stride 256, 8888): [C:04130000/256 Z:04110000/512 X:0 Y:0 reint: false] [C:04110000/256 Z:00000000/0 X:0 Y:128 reint: false]
Gangs of London™ v1.11.3 2022-09-19 GE Interrupt: newState might be 3
Gangs of London™ v1.11.3 2022-09-19 GE Interrupt: newState might be 1
Gangs of London™ v1.11.3 2022-09-19 GE Interrupt: newState might be 0
Gangs of London™ v1.11.3 2022-09-19 GE Interrupt: newState might be 7
Gangs of London™ v1.11.3 2022-09-19 GE Interrupt: newState might be 6
Gangs of London™ v1.11.3 2022-09-19 GE Interrupt: newState might be 5
Gangs of London™ v1.11.3 2022-09-19 GE Interrupt: newState might be 4
Gangs of London™ v1.13.1 2022-09-10 Error in shader compilation: info: Vertex shader compilation failed. ERROR: 0:179: 'outerProduct' : no matching overloaded function found ERROR: 0:179: '=' : cannot convert from 'const float' to '4X4 matrix of float' ERROR: 2 compilation errors. No code generated. 80000000:00007b18 HWX C T N Tex Bezier TessC TessT TessRevN #version 300 es // Adreno (TM) 306 - GLSL 300 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; uniform sampler2D u_tess_points; uniform sampler2D u_tess_weights_u; uniform sampler2D u_tess_weights_v; uniform int u_spline_counts; vec2 tess_sample(in vec2 points[16], mat4 weights) { vec2 pos = vec2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec3 tess_sample(in vec3 points[16], mat4 weights) { vec3 pos = vec3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec4 tess_sample(in vec4 points[16], mat4 weights) { vec4 pos = vec4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } struct Tess { vec3 pos; vec2 tex; vec4 col; }; void tessellate(out Tess tess) { ivec2 point_pos = ivec2(position.z, normal.z) * 3; ivec2 weight_idx = ivec2(position.xy); vec3 _pos[16]; vec2 _tex[16]; vec4 _col[16]; int index_u, index_v; index_u = (0 + point_pos.x); index_v = (0 + point_pos.y); _pos[0] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; _tex[0] = texelFetch(u_tess_points, ivec2(index_u + u_spline_counts, index_v), 0).xy; _col[0] = texelFetch(u_tess_points, ivec2(index_u + u_spline_counts * 2, index_v), 0).rgba; index_u = (1 + point_pos.x); index_v = (0 + point_pos.y); _pos[1] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; _tex[1] = texelFetch(u_tess_points, ivec2(index_u + u_spline_counts, index_v), 0).xy; _col[1] = texelFetch(u_tess_points, ivec2(index_u + u_spline_counts * 2, index_v), 0).rgba; index_u = (2 + point_pos.x); index_v = (0 + point_pos.y); _pos[2] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; _tex[2] = texelFetch(u_tess_
Gangs of London™ v1.13.1 2022-09-10 Error in shader compilation: info: Vertex shader compilation failed. ERROR: 0:166: 'outerProduct' : no matching overloaded function found ERROR: 0:166: '=' : cannot convert from 'const float' to '4X4 matrix of float' ERROR: 2 compilation errors. No code generated. 81f70000:0000cb1d HWX C T N LM Fog Tex Light: 0: c:0 t:0 1: c:0 t:0 2: c:0 t:0 3: c:0 t:0 MatUp:7 Bezier TessN TessRevN #version 300 es // Adreno (TM) 306 - GLSL 300 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform vec3 u_lightpos2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; uniform sampler2D u_tess_points; uniform sampler2D u_tess_weights_u; uniform sampler2D u_tess_weights_v; uniform int u_spline_counts; vec2 tess_sample(in vec2 points[16], mat4 weights) { vec2 pos = vec2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec3 tess_sample(in vec3 points[16], mat4 weights) { vec3 pos = vec3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec4 tess_sample(in vec4 points[16], mat4 weights) { vec4 pos = vec4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } struct Tess { vec3 pos; vec2 tex; vec4 col; vec3 nrm; }; void tessellate(out Tess tess) { ivec2 point_pos = ivec2(position.z, normal.z) * 3; ivec2 weight_idx = ivec2(position.xy); vec3 _pos[16]; vec2 _tex[16]; vec4 _col[16]; int index_u, index_v; index_u = (0 + point_pos.x); index_v = (0 + point_pos.y); _pos[0] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; index_u = (1 + point_po
Gangs of London™ v1.13.1 2022-09-10 Error in shader compilation: info: Vertex shader compilation failed. ERROR: 0:182: 'outerProduct' : no matching overloaded function found ERROR: 0:182: '=' : cannot convert from 'const float' to '4X4 matrix of float' ERROR: 2 compilation errors. No code generated. 81f70000:0000eb1d HWX C T N LM Fog Tex Light: 0: c:0 t:0 1: c:0 t:0 2: c:0 t:0 3: c:0 t:0 MatUp:7 Bezier TessT TessN TessRevN #version 300 es // Adreno (TM) 306 - GLSL 300 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform vec3 u_lightpos2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; uniform sampler2D u_tess_points; uniform sampler2D u_tess_weights_u; uniform sampler2D u_tess_weights_v; uniform int u_spline_counts; vec2 tess_sample(in vec2 points[16], mat4 weights) { vec2 pos = vec2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec3 tess_sample(in vec3 points[16], mat4 weights) { vec3 pos = vec3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec4 tess_sample(in vec4 points[16], mat4 weights) { vec4 pos = vec4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } struct Tess { vec3 pos; vec2 tex; vec4 col; vec3 nrm; }; void tessellate(out Tess tess) { ivec2 point_pos = ivec2(position.z, normal.z) * 3; ivec2 weight_idx = ivec2(position.xy); vec3 _pos[16]; vec2 _tex[16]; vec4 _col[16]; int index_u, index_v; index_u = (0 + point_pos.x); index_v = (0 + point_pos.y); _pos[0] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; _tex[0] = texelFe
Gangs of London™ v1.13.1 2022-09-10 Error in shader compilation: info: Vertex shader compilation failed. ERROR: 0:167: 'outerProduct' : no matching overloaded function found ERROR: 0:167: '=' : cannot convert from 'const float' to '4X4 matrix of float' ERROR: 2 compilation errors. No code generated. 81f70000:0001cb1d HWX C T N LM Fog Tex TexProjPos UVMtx Light: 0: c:0 t:0 1: c:0 t:0 2: c:0 t:0 3: c:0 t:0 MatUp:7 Bezier TessN TessRevN #version 300 es // Adreno (TM) 306 - GLSL 300 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform mediump mat4 u_texmtx; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform vec3 u_lightpos2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; uniform sampler2D u_tess_points; uniform sampler2D u_tess_weights_u; uniform sampler2D u_tess_weights_v; uniform int u_spline_counts; vec2 tess_sample(in vec2 points[16], mat4 weights) { vec2 pos = vec2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec3 tess_sample(in vec3 points[16], mat4 weights) { vec3 pos = vec3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec4 tess_sample(in vec4 points[16], mat4 weights) { vec4 pos = vec4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } struct Tess { vec3 pos; vec2 tex; vec4 col; vec3 nrm; }; void tessellate(out Tess tess) { ivec2 point_pos = ivec2(position.z, normal.z) * 3; ivec2 weight_idx = ivec2(position.xy); vec3 _pos[16]; vec2 _tex[16]; vec4 _col[16]; int index_u, index_v; index_u = (0 + point_pos.x); index_v = (0 + point_pos.y); _pos[0] = texelFetch(u_tess_points, ivec2(inde
Gangs of London™ v1.13.1 2022-09-10 Error in shader compilation: info: Vertex shader compilation failed. ERROR: 0:198: 'outerProduct' : no matching overloaded function found ERROR: 0:198: '=' : cannot convert from 'const float' to '4X4 matrix of float' ERROR: 2 compilation errors. No code generated. 81f70000:0000fb1d HWX C T N LM Fog Tex Light: 0: c:0 t:0 1: c:0 t:0 2: c:0 t:0 3: c:0 t:0 MatUp:7 Bezier TessC TessT TessN TessRevN #version 300 es // Adreno (TM) 306 - GLSL 300 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform vec3 u_lightpos2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; uniform sampler2D u_tess_points; uniform sampler2D u_tess_weights_u; uniform sampler2D u_tess_weights_v; uniform int u_spline_counts; vec2 tess_sample(in vec2 points[16], mat4 weights) { vec2 pos = vec2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec3 tess_sample(in vec3 points[16], mat4 weights) { vec3 pos = vec3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec4 tess_sample(in vec4 points[16], mat4 weights) { vec4 pos = vec4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } struct Tess { vec3 pos; vec2 tex; vec4 col; vec3 nrm; }; void tessellate(out Tess tess) { ivec2 point_pos = ivec2(position.z, normal.z) * 3; ivec2 weight_idx = ivec2(position.xy); vec3 _pos[16]; vec2 _tex[16]; vec4 _col[16]; int index_u, index_v; index_u = (0 + point_pos.x); index_v = (0 + point_pos.y); _pos[0] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; _tex[0] = t
Gangs of London™ v1.13.1 2022-09-10 Error in shader compilation: info: Vertex shader compilation failed. ERROR: 0:159: 'outerProduct' : no matching overloaded function found ERROR: 0:159: '=' : cannot convert from 'const float' to '4X4 matrix of float' ERROR: 2 compilation errors. No code generated. 80000000:00005b08 HWX C T N Bezier TessC TessRevN #version 300 es // Adreno (TM) 306 - GLSL 300 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec3 position; in mediump vec3 normal; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; uniform sampler2D u_tess_points; uniform sampler2D u_tess_weights_u; uniform sampler2D u_tess_weights_v; uniform int u_spline_counts; vec2 tess_sample(in vec2 points[16], mat4 weights) { vec2 pos = vec2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec3 tess_sample(in vec3 points[16], mat4 weights) { vec3 pos = vec3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec4 tess_sample(in vec4 points[16], mat4 weights) { vec4 pos = vec4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } struct Tess { vec3 pos; vec4 col; }; void tessellate(out Tess tess) { ivec2 point_pos = ivec2(position.z, normal.z) * 3; ivec2 weight_idx = ivec2(position.xy); vec3 _pos[16]; vec2 _tex[16]; vec4 _col[16]; int index_u, index_v; index_u = (0 + point_pos.x); index_v = (0 + point_pos.y); _pos[0] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; _col[0] = texelFetch(u_tess_points, ivec2(index_u + u_spline_counts * 2, index_v), 0).rgba; index_u = (1 + point_pos.x); index_v = (0 + point_pos.y); _pos[1] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; _col[1] = texelFetch(u_tess_points, ivec2(index_u + u_spline_counts * 2, index_v), 0).rgba; index_u = (2 + point_pos.x); index_v = (0 + point_pos.y); _pos[2] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; _col[2] = texelFetch(u_tess_points, ivec2(index_u + u_spline_counts * 2, index_v), 0).rgba; index_u = (3 + point_pos.x); index_v = (0 + point_pos.y); _pos[3] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; _col[3] = texelFetch(u_tess_points, ivec2(index_u + u_spline_counts * 2, ind
Gangs of London™ v1.13.1 2022-09-10 Error in shader compilation: info: Vertex shader compilation failed. ERROR: 0:143: 'outerProduct' : no matching overloaded function found ERROR: 0:143: '=' : cannot convert from 'const float' to '4X4 matrix of float' ERROR: 2 compilation errors. No code generated. 80000000:00004b08 HWX C T N Bezier TessRevN #version 300 es // Adreno (TM) 306 - GLSL 300 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec3 position; in mediump vec3 normal; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; uniform sampler2D u_tess_points; uniform sampler2D u_tess_weights_u; uniform sampler2D u_tess_weights_v; uniform int u_spline_counts; vec2 tess_sample(in vec2 points[16], mat4 weights) { vec2 pos = vec2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec3 tess_sample(in vec3 points[16], mat4 weights) { vec3 pos = vec3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec4 tess_sample(in vec4 points[16], mat4 weights) { vec4 pos = vec4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } struct Tess { vec3 pos; vec4 col; }; void tessellate(out Tess tess) { ivec2 point_pos = ivec2(position.z, normal.z) * 3; ivec2 weight_idx = ivec2(position.xy); vec3 _pos[16]; vec2 _tex[16]; vec4 _col[16]; int index_u, index_v; index_u = (0 + point_pos.x); index_v = (0 + point_pos.y); _pos[0] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; index_u = (1 + point_pos.x); index_v = (0 + point_pos.y); _pos[1] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; index_u = (2 + point_pos.x); index_v = (0 + point_pos.y); _pos[2] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; index_u = (3 + point_pos.x); index_v = (0 + point_pos.y); _pos[3] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; index_u = (0 + point_pos.x); index_v = (1 + point_pos.y); _pos[4] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; index_u = (1 + point_pos.x); index_v = (1 + point_pos.y); _pos[5] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; index_u = (2 + point_pos.x); index_v = (1 + point_pos.y); _pos[6] = texelFetch(u_tess_points,
Gangs of London™ v1.13.1 2022-09-10 Error in shader compilation: info: Vertex shader compilation failed. ERROR: 0:166: 'outerProduct' : no matching overloaded function found ERROR: 0:166: '=' : cannot convert from 'const float' to '4X4 matrix of float' ERROR: 2 compilation errors. No code generated. 80000000:00016b1c HWX C T N Fog Tex TexProjPos UVMtx Bezier TessT TessRevN #version 300 es // Adreno (TM) 306 - GLSL 300 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform mediump mat4 u_texmtx; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; uniform sampler2D u_tess_points; uniform sampler2D u_tess_weights_u; uniform sampler2D u_tess_weights_v; uniform int u_spline_counts; vec2 tess_sample(in vec2 points[16], mat4 weights) { vec2 pos = vec2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec3 tess_sample(in vec3 points[16], mat4 weights) { vec3 pos = vec3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec4 tess_sample(in vec4 points[16], mat4 weights) { vec4 pos = vec4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } struct Tess { vec3 pos; vec2 tex; vec4 col; }; void tessellate(out Tess tess) { ivec2 point_pos = ivec2(position.z, normal.z) * 3; ivec2 weight_idx = ivec2(position.xy); vec3 _pos[16]; vec2 _tex[16]; vec4 _col[16]; int index_u, index_v; index_u = (0 + point_pos.x); index_v = (0 + point_pos.y); _pos[0] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; _tex[0] = texelFetch(u_tess_points, ivec2(index_u + u_spline_counts, index_v), 0).xy; index_u = (1 + point_pos.x); index_v = (0 + point_pos.y); _pos[1] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; _tex[1] = texelFetch(u_tess_points, ivec2(index_u + u_spline_counts, index_v), 0).xy; index_u = (2 + point_pos.x); index_v = (0 + point_pos.y); _pos[2] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; _tex[2] = texelFetch(u_tess_points, ivec2(index_u + u_spline_counts, index_v), 0).xy; index_u = (3 + point_p
Gangs of London™ v1.13.1 2022-09-10 Error in shader compilation: info: Vertex shader compilation failed. ERROR: 0:150: 'outerProduct' : no matching overloaded function found ERROR: 0:150: '=' : cannot convert from 'const float' to '4X4 matrix of float' ERROR: 2 compilation errors. No code generated. 80000000:00014b1c HWX C T N Fog Tex TexProjPos UVMtx Bezier TessRevN #version 300 es // Adreno (TM) 306 - GLSL 300 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform mediump mat4 u_texmtx; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; uniform sampler2D u_tess_points; uniform sampler2D u_tess_weights_u; uniform sampler2D u_tess_weights_v; uniform int u_spline_counts; vec2 tess_sample(in vec2 points[16], mat4 weights) { vec2 pos = vec2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec3 tess_sample(in vec3 points[16], mat4 weights) { vec3 pos = vec3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec4 tess_sample(in vec4 points[16], mat4 weights) { vec4 pos = vec4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } struct Tess { vec3 pos; vec2 tex; vec4 col; }; void tessellate(out Tess tess) { ivec2 point_pos = ivec2(position.z, normal.z) * 3; ivec2 weight_idx = ivec2(position.xy); vec3 _pos[16]; vec2 _tex[16]; vec4 _col[16]; int index_u, index_v; index_u = (0 + point_pos.x); index_v = (0 + point_pos.y); _pos[0] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; index_u = (1 + point_pos.x); index_v = (0 + point_pos.y); _pos[1] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; index_u = (2 + point_pos.x); index_v = (0 + point_pos.y); _pos[2] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; index_u = (3 + point_pos.x); index_v = (0 + point_pos.y); _pos[3] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; index_u = (0 + point_pos.x); index_v = (1 + point_pos.y); _pos[4] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; index_u = (1 + point_pos.x
Gangs of London™ v1.13.1 2022-09-10 Error in shader compilation: info: Vertex shader compilation failed. ERROR: 0:197: 'outerProduct' : no matching overloaded function found ERROR: 0:197: '=' : cannot convert from 'const float' to '4X4 matrix of float' ERROR: 2 compilation errors. No code generated. 81f70000:0000fb1c HWX C T N Fog Tex Light: 0: c:0 t:0 1: c:0 t:0 2: c:0 t:0 3: c:0 t:0 MatUp:7 Bezier TessC TessT TessN TessRevN #version 300 es // Adreno (TM) 306 - GLSL 300 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform vec3 u_lightpos2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; uniform sampler2D u_tess_points; uniform sampler2D u_tess_weights_u; uniform sampler2D u_tess_weights_v; uniform int u_spline_counts; vec2 tess_sample(in vec2 points[16], mat4 weights) { vec2 pos = vec2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec3 tess_sample(in vec3 points[16], mat4 weights) { vec3 pos = vec3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec4 tess_sample(in vec4 points[16], mat4 weights) { vec4 pos = vec4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } struct Tess { vec3 pos; vec2 tex; vec4 col; vec3 nrm; }; void tessellate(out Tess tess) { ivec2 point_pos = ivec2(position.z, normal.z) * 3; ivec2 weight_idx = ivec2(position.xy); vec3 _pos[16]; vec2 _tex[16]; vec4 _col[16]; int index_u, index_v; index_u = (0 + point_pos.x); index_v = (0 + point_pos.y); _pos[0] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; _tex[0] = texelFetch(u_tess_points, iv
Gangs of London™ v1.13.1 2022-09-10 Error in shader compilation: info: Vertex shader compilation failed. ERROR: 0:149: 'outerProduct' : no matching overloaded function found ERROR: 0:149: '=' : cannot convert from 'const float' to '4X4 matrix of float' ERROR: 2 compilation errors. No code generated. 80000000:00004b1c HWX C T N Fog Tex Bezier TessRevN #version 300 es // Adreno (TM) 306 - GLSL 300 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; uniform sampler2D u_tess_points; uniform sampler2D u_tess_weights_u; uniform sampler2D u_tess_weights_v; uniform int u_spline_counts; vec2 tess_sample(in vec2 points[16], mat4 weights) { vec2 pos = vec2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec3 tess_sample(in vec3 points[16], mat4 weights) { vec3 pos = vec3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec4 tess_sample(in vec4 points[16], mat4 weights) { vec4 pos = vec4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } struct Tess { vec3 pos; vec2 tex; vec4 col; }; void tessellate(out Tess tess) { ivec2 point_pos = ivec2(position.z, normal.z) * 3; ivec2 weight_idx = ivec2(position.xy); vec3 _pos[16]; vec2 _tex[16]; vec4 _col[16]; int index_u, index_v; index_u = (0 + point_pos.x); index_v = (0 + point_pos.y); _pos[0] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; index_u = (1 + point_pos.x); index_v = (0 + point_pos.y); _pos[1] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; index_u = (2 + point_pos.x); index_v = (0 + point_pos.y); _pos[2] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; index_u = (3 + point_pos.x); index_v = (0 + point_pos.y); _pos[3] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; index_u = (0 + point_pos.x); index_v = (1 + point_pos.y); _pos[4] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; index_u = (1 + point_pos.x); index_v = (1 + point_pos.y); _pos[5] = te
Gangs of London™ v1.13.1 2022-09-10 Error in shader compilation: info: Vertex shader compilation failed. ERROR: 0:181: 'outerProduct' : no matching overloaded function found ERROR: 0:181: '=' : cannot convert from 'const float' to '4X4 matrix of float' ERROR: 2 compilation errors. No code generated. 81f70000:0000eb1c HWX C T N Fog Tex Light: 0: c:0 t:0 1: c:0 t:0 2: c:0 t:0 3: c:0 t:0 MatUp:7 Bezier TessT TessN TessRevN #version 300 es // Adreno (TM) 306 - GLSL 300 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform vec3 u_lightpos2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; uniform sampler2D u_tess_points; uniform sampler2D u_tess_weights_u; uniform sampler2D u_tess_weights_v; uniform int u_spline_counts; vec2 tess_sample(in vec2 points[16], mat4 weights) { vec2 pos = vec2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec3 tess_sample(in vec3 points[16], mat4 weights) { vec3 pos = vec3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec4 tess_sample(in vec4 points[16], mat4 weights) { vec4 pos = vec4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } struct Tess { vec3 pos; vec2 tex; vec4 col; vec3 nrm; }; void tessellate(out Tess tess) { ivec2 point_pos = ivec2(position.z, normal.z) * 3; ivec2 weight_idx = ivec2(position.xy); vec3 _pos[16]; vec2 _tex[16]; vec4 _col[16]; int index_u, index_v; index_u = (0 + point_pos.x); index_v = (0 + point_pos.y); _pos[0] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; _tex[0] = texelFetch(u_tess_points, ivec2(in
Gangs of London™ v1.13.1 2022-09-10 Error in shader compilation: info: Vertex shader compilation failed. ERROR: 0:165: 'outerProduct' : no matching overloaded function found ERROR: 0:165: '=' : cannot convert from 'const float' to '4X4 matrix of float' ERROR: 2 compilation errors. No code generated. 81f70000:0000cb1c HWX C T N Fog Tex Light: 0: c:0 t:0 1: c:0 t:0 2: c:0 t:0 3: c:0 t:0 MatUp:7 Bezier TessN TessRevN #version 300 es // Adreno (TM) 306 - GLSL 300 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform vec3 u_lightpos2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; uniform sampler2D u_tess_points; uniform sampler2D u_tess_weights_u; uniform sampler2D u_tess_weights_v; uniform int u_spline_counts; vec2 tess_sample(in vec2 points[16], mat4 weights) { vec2 pos = vec2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec3 tess_sample(in vec3 points[16], mat4 weights) { vec3 pos = vec3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec4 tess_sample(in vec4 points[16], mat4 weights) { vec4 pos = vec4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } struct Tess { vec3 pos; vec2 tex; vec4 col; vec3 nrm; }; void tessellate(out Tess tess) { ivec2 point_pos = ivec2(position.z, normal.z) * 3; ivec2 weight_idx = ivec2(position.xy); vec3 _pos[16]; vec2 _tex[16]; vec4 _col[16]; int index_u, index_v; index_u = (0 + point_pos.x); index_v = (0 + point_pos.y); _pos[0] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; index_u = (1 + point_pos.x); index_v = (0 + poin
Gangs of London™ v1.13.1 2022-09-10 Error in shader compilation: info: Vertex shader compilation failed. ERROR: 0:166: 'outerProduct' : no matching overloaded function found ERROR: 0:166: '=' : cannot convert from 'const float' to '4X4 matrix of float' ERROR: 2 compilation errors. No code generated. 81f70000:0001cb1c HWX C T N Fog Tex TexProjPos UVMtx Light: 0: c:0 t:0 1: c:0 t:0 2: c:0 t:0 3: c:0 t:0 MatUp:7 Bezier TessN TessRevN #version 300 es // Adreno (TM) 306 - GLSL 300 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform mediump mat4 u_texmtx; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform vec3 u_lightpos2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; uniform sampler2D u_tess_points; uniform sampler2D u_tess_weights_u; uniform sampler2D u_tess_weights_v; uniform int u_spline_counts; vec2 tess_sample(in vec2 points[16], mat4 weights) { vec2 pos = vec2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec3 tess_sample(in vec3 points[16], mat4 weights) { vec3 pos = vec3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec4 tess_sample(in vec4 points[16], mat4 weights) { vec4 pos = vec4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } struct Tess { vec3 pos; vec2 tex; vec4 col; vec3 nrm; }; void tessellate(out Tess tess) { ivec2 point_pos = ivec2(position.z, normal.z) * 3; ivec2 weight_idx = ivec2(position.xy); vec3 _pos[16]; vec2 _tex[16]; vec4 _col[16]; int index_u, index_v; index_u = (0 + point_pos.x); index_v = (0 + point_pos.y); _pos[0] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; in
Gangs of London™ v1.13.1 2022-09-10 Error in shader compilation: info: Vertex shader compilation failed. ERROR: 0:163: 'outerProduct' : no matching overloaded function found ERROR: 0:163: '=' : cannot convert from 'const float' to '4X4 matrix of float' ERROR: 2 compilation errors. No code generated. 80000000:00005b18 HWX C T N Tex Bezier TessC TessRevN #version 300 es // Adreno (TM) 306 - GLSL 300 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; uniform sampler2D u_tess_points; uniform sampler2D u_tess_weights_u; uniform sampler2D u_tess_weights_v; uniform int u_spline_counts; vec2 tess_sample(in vec2 points[16], mat4 weights) { vec2 pos = vec2(0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec3 tess_sample(in vec3 points[16], mat4 weights) { vec3 pos = vec3(0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } vec4 tess_sample(in vec4 points[16], mat4 weights) { vec4 pos = vec4(0.0, 0.0, 0.0, 0.0); pos += weights[0][0] * points[0]; pos += weights[0][1] * points[1]; pos += weights[0][2] * points[2]; pos += weights[0][3] * points[3]; pos += weights[1][0] * points[4]; pos += weights[1][1] * points[5]; pos += weights[1][2] * points[6]; pos += weights[1][3] * points[7]; pos += weights[2][0] * points[8]; pos += weights[2][1] * points[9]; pos += weights[2][2] * points[10]; pos += weights[2][3] * points[11]; pos += weights[3][0] * points[12]; pos += weights[3][1] * points[13]; pos += weights[3][2] * points[14]; pos += weights[3][3] * points[15]; return pos; } struct Tess { vec3 pos; vec2 tex; vec4 col; }; void tessellate(out Tess tess) { ivec2 point_pos = ivec2(position.z, normal.z) * 3; ivec2 weight_idx = ivec2(position.xy); vec3 _pos[16]; vec2 _tex[16]; vec4 _col[16]; int index_u, index_v; index_u = (0 + point_pos.x); index_v = (0 + point_pos.y); _pos[0] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; _col[0] = texelFetch(u_tess_points, ivec2(index_u + u_spline_counts * 2, index_v), 0).rgba; index_u = (1 + point_pos.x); index_v = (0 + point_pos.y); _pos[1] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; _col[1] = texelFetch(u_tess_points, ivec2(index_u + u_spline_counts * 2, index_v), 0).rgba; index_u = (2 + point_pos.x); index_v = (0 + point_pos.y); _pos[2] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz; _col[2] = texelFetch(u_tess_points, ivec2(index_u + u_spline_counts * 2, index_v), 0).rgba; index_u = (3 + point_pos.x); index_v = (0 + point_pos.y); _pos[3] = texelFetch(u_tess_points, ivec2(index_u, ind
Gangs of London™ v1.13.1 2022-08-28 80000107=sceDisplaySetFrameBuf(04000000, 512, 0, 0): must change latched framebuf first
Gangs of London™ v1.13.1 2022-08-28 80000107=sceDisplaySetFrameBuf(04088000, 512, 0, 0): must change latched framebuf first
Gangs of London™ v1.13.1 2022-08-24 sceKernelLoadModule: unsupported options size=00000014, flags=0899a904, pos=0, access=1, data=2, text=2
Gangs of London™ v1.13.1 2022-08-24 sceKernelCreateSema(SNDMUTEX) unsupported options parameter, size = 167508176
Gangs of London™ v1.9.4 2022-08-16 Unknown GE command : 5aeb5aeb
Gangs of London™ v1.9.4 2022-08-16 Unknown GE command : 5aeb6b6d
Gangs of London™ v1.7.4 2022-08-10 Bad vertex address 01000006!
Gangs of London™ v1.7.4 2022-08-10 Bad vertex address 010000ff!
Gangs of London™ v1.7.4 2022-08-10 Bad vertex address 01000007!
Gangs of London™ v1.7.4 2022-08-10 Bad vertex address 01000003!
Gangs of London™ v1.7.4 2022-08-10 Unknown GE command : 52444849
Gangs of London™ v1.7.4 2022-08-10 Bad vertex address 01000002!
Gangs of London™ v1.7.4 2022-08-10 Bad vertex address 01000000!
Gangs of London™ v1.7.4 2022-08-10 Bad vertex address 01000001!
Gangs of London™ v1.9.4 2022-07-31 sceDmacMemcpy(dest=04000000, src=08c7fac0, size=557056): overlapping read
Gangs of London™ v1.12.3 2022-07-23 sceKernelLoadModule: unsupported options size=00000014, flags=08d20000, pos=0, access=1, data=2, text=2
Gangs of London™ v1.10.2 2022-07-19 sceKernelCreateSema(SNDMUTEX) unsupported options parameter, size = 145635464
Gangs of London™ v1.10.2 2022-07-19 sceKernelCreateSema(SNDMUTEX) unsupported options parameter, size = 145544000
Gangs of London™ v1.10.2 2022-07-19 sceKernelCreateSema(RealMutex) unsupported options parameter, size = 16
Gangs of London™ v1.10.2 2022-07-19 sceKernelCreateSema(RealMutex) unsupported options parameter, size = 34520
Gangs of London™ v1.10.2 2022-07-19 sceKernelCreateSema(RealMutex) unsupported options parameter, size = 143964328
Gangs of London™ v1.6.3 2022-04-18 Unknown GE command : 299126e0
Gangs of London™ v1.12.3 2022-04-15 sceKernelLoadModule: unsupported options size=00000014, flags=00000000, pos=1, access=1, data=2, text=2
Gangs of London™ v1.10.3 2022-01-23 sceKernelLoadModuleByID: unsupported options size=00000014, flags=089d5494, pos=0, access=1, data=2, text=2
Gangs of London™ v1.10.3 2022-01-23 sceKernelLoadModuleByID: unsupported options size=00000014, flags=08aa3278, pos=0, access=1, data=1, text=1
Gangs of London™ v1.12.3 2021-12-25 Unknown GetPointer 00000023 PC 08a0d974 LR 08a12a34
Gangs of London™ v1.12.3 2021-12-19 Unknown GetPointer 00001170 PC 08a12a2c LR 08a12a34
Gangs of London™ v1.9.4 2021-12-02 CALL to illegal address 00900014 - ignoring! data=900014
Gangs of London™ v1.12.3 2021-11-08 Waiting thread for 20 that was already waiting for 20
Gangs of London™ v1.9.4 2021-10-16 Unknown GE command : 35aca2ad
Gangs of London™ v1.10.3 2021-09-15 ReadFromHardware: Invalid address 1909a9c2 near PC 088ca4d0 LR 088ca4f4
Gangs of London™ v1.10.3 2021-09-15 sceDmacMemcpy(dest=04088000, src=08d07b40, size=557056): overlapping read
Gangs of London™ v1.11.3 2021-09-01 sceKernelCreateThread(name=god_m002_Movie): unsupported attributes 00000006
Gangs of London™ v1.10.3 2021-08-30 sceKernelLoadModule: unsupported options size=00000014, flags=08c98210, pos=0, access=1, data=2, text=2
Gangs of London™ v1.11.3 2021-08-13 Video out requested, not supported: mode=0 size=0,0
Gangs of London™ v1.9.4 2021-08-10 Bad vertex address 00ff32b4!
Gangs of London™ v1.9.4 2021-08-10 Render to texture using CLUT with different strides 512 != 524
Gangs of London™ v1.9.4 2021-08-10 Bad vertex address 0047ff86!
Gangs of London™ v1.9.4 2021-08-10 Bad vertex address 00100004!
Gangs of London™ v1.9.4 2021-08-10 Unknown GE command : 52455643
Gangs of London™ v1.9.4 2021-08-09 Bad vertex address 07100004!
Gangs of London™ v1.9.4 2021-08-09 Bad vertex address 0747ff86!
Gangs of London™ v1.9.3 2021-08-08 Unknown GetPointer 00000110 PC 00000110 LR 08887f50
Gangs of London™ v1.9.3 2021-08-08 CALL to illegal address 0f187fd0 - ignoring! data=187fd1
Gangs of London™ v1.9.3 2021-08-08 Unknown GetPointer 00000000 PC 00000000 LR 08887f50
Gangs of London™ v1.9.4 2021-08-04 ReadFromHardware: Invalid address 00000000 near PC 00000000 LR 08887f50
Gangs of London™ v1.11.3 2021-07-29 sceKernelLoadModule: unsupported options size=00000014, flags=000001a4, pos=0, access=1, data=2, text=2
Gangs of London™ v1.11.3 2021-07-29 sceKernelLoadModule: unsupported options size=00000014, flags=000001a4, pos=0, access=1, data=1, text=1
Gangs of London™ v1.13.1 2022-08-24 sceKernelLoadModule: unsupported options size=00000014, flags=0899a904, pos=0, access=1, data=1, text=1
Gangs of London™ v1.10.2 2021-07-11 CALL to illegal address 025b8084 - ignoring! data=5b8084
Gangs of London™ v1.11.3 2021-07-08 80630007=sceAtracSetData(2, 08d13140, 00038000): atracID uses different codec type than data
Gangs of London™ v1.11.3 2022-04-13 80630006=sceAtracSetData(2, 08d13140, 00038000): invalid RIFF header
Gangs of London™ v1.11.3 2021-07-08 sceGeBreak(mode=0, unknown=08d098b8): unknown ptr (valid)
Gangs of London™ v1.4.2 2021-07-06 Unknown GE command : fab58c6c
Gangs of London™ v1.11.3 2021-06-13 Jump to invalid address: 03040310
Gangs of London™ v1.11.3 2021-06-13 Jump to invalid address: 02ecd2e0
Gangs of London™ v1.11.3 2021-06-13 Jump to invalid address: 03146480
Gangs of London™ v1.11.3 2021-06-13 Jump to invalid address: 030402e0
Gangs of London™ v1.11.3 2021-06-13 Jump to invalid address: 02eccf90
Gangs of London™ v1.11.3 2021-06-13 Jump to invalid address: 0314c080
Gangs of London™ v1.11.3 2021-06-13 Jump to invalid address: 030402b0
Gangs of London™ v1.11.3 2021-06-13 Jump to invalid address: 02eccc40
Gangs of London™ v1.11.3 2021-06-13 Jump to invalid address: 0314bfe0
Gangs of London™ v1.11.3 2021-06-13 Jump to invalid address: 03040280
Gangs of London™ v1.11.3 2021-06-13 Jump to invalid address: 02ecc8f0