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.15.4 2024-03-14 sceKernelCreateThread(name=scePsmf_library): unsupported attributes 00000006
Gangs of London™ v1.15.4 2024-03-14 sceKernelLoadModule: unsupported options size=00000014, flags=08cacd90, pos=0, access=1, data=2, text=2
Gangs of London™ v1.16.6 2024-02-29 sceKernelLoadModule: unsupported options size=00000014, flags=09fffad0, pos=0, access=1, data=2, text=2
Gangs of London™ v1.16.6 2024-02-29 sceKernelLoadModule: unsupported options size=00000014, flags=09fffad0, pos=0, access=1, data=1, text=1
Gangs of London™ v1.16.6 2023-12-30 sceKernelLoadModule: unsupported options size=00000014, flags=0000a018, pos=0, access=1, data=1, text=1
Gangs of London™ v1.16.6 2023-12-30 sceKernelLoadModule: unsupported options size=00000014, flags=08dd5138, pos=0, access=1, data=2, text=2
Gangs of London™ v1.16.6 2023-11-21 sceKernelLoadModule: unsupported options size=00000014, flags=08a2fb00, pos=0, access=1, data=2, text=2
Gangs of London™ v1.16.6 2023-10-22 Savedata loading with detected hashmode 5 instead of file's 1
Gangs of London™ v1.17 2024-02-04 sceNetAdhocMatchingInit(32768) at 089249c4
Gangs of London™ v1.15.4 2023-09-08 sceKernelLoadModule: unsupported options size=00000014, flags=0899b0cc, pos=0, access=1, data=2, text=2
Gangs of London™ v1.15.4 2023-09-08 sceKernelLoadModule: unsupported options size=00000014, flags=0899b0cc, pos=0, access=1, data=1, text=1
Gangs of London™ v1.15.4 2023-08-24 sceKernelLoadModule: unsupported options size=00000014, flags=088eb174, pos=0, access=1, data=1, text=1
Gangs of London™ v1.4.2 2023-08-22 BJUMP to illegal address 00710000 - ignoring! data=710000
Gangs of London™ v1.4.2 2023-08-22 Unknown GE command : 0383063f
Gangs of London™ v1.4.2 2023-08-22 BJUMP to illegal address 00770000 - ignoring! data=770000
Gangs of London™ v1.12.3 2023-07-08 80630007=sceAtracSetData(2, 08d4b180, 00005000): atracID uses different codec type than data
Gangs of London™ v1.12.3 2023-07-08 80630007=sceAtracSetData(2, 08d4b180, 0000fe00): atracID uses different codec type than data
Gangs of London™ v1.12.3 2023-07-08 80630007=sceAtracSetData(2, 08d4b180, 0000d800): atracID uses different codec type than data
Gangs of London™ v1.12.3 2023-07-08 80630007=sceAtracSetData(2, 08d4b180, 00004d00): atracID uses different codec type than data
Gangs of London™ v1.13.1 2023-07-03 sceKernelLoadModule: unsupported options size=00000014, flags=deadbeef, pos=0, access=1, data=1, text=1
Gangs of London™ v1.13.1 2023-07-03 80020001=sceKernelCreateSema(): invalid name
Gangs of London™ v1.13.1 2023-07-03 __KernelStopThread: thread 308 does not exist
Gangs of London™ v1.13.1 2023-10-22 Failed to read valid video stream data from header
Gangs of London™ v1.13.1 2023-07-03 Could not setup streams, unexpected stream count: 13414
Gangs of London™ v1.13.1 2023-07-03 Unexpected mpeg first timestamp: d59a080000 / 917412249600
Gangs of London™ v1.15.4 2023-08-24 sceKernelLoadModule: unsupported options size=00000014, flags=089d33b8, pos=0, access=1, data=2, text=2
Gangs of London™ v1.14.4 2023-06-17 sceKernelLoadModuleByID: unsupported options size=00000014, flags=00000000, pos=1, access=0, data=0, text=2
Gangs of London™ v1.15.3 2023-05-31 Unknown GetPointer ffffffff PC 08a0d974 LR 08a12a34
Gangs of London™ v1.15.3 2023-05-19 Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader. Please contact [email protected] with the shader causing the problem, along with this error message. Mali online shader compiler r7p0-00rel1 [Revision 96995]. 01f70444:00000b28 HWX C T N Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:0 MatUp:7 Cull #version 100 // Driver: Mali-450 MP - GLSL 100 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01f70444:00000b28 HWX C T N Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:0 MatUp:7 Cull attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; 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; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = color0; vec3 diffuseColor = color0.rgb; vec3 specularColor = color0.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0); lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0); lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * diffuseColor) * max(ldot, 0.0); lightSum0.rgb += (u_lightambient2 * ambientColor.rgb + diffuse) * lightScale; toLight = u_lightpos3; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse3 * diffuseColor) * max(ldot, 0.0); lightSum0.rgb += (u_lightambient3 * ambientColor.rgb + diffuse); lightSum0 = clamp(lightSum0, 0.0, 1.0); v_color0 = lightSum0; v_color1 = splat3(0.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); if (u_fogcoef.x <= -65535.0 && u_fogcoef.y <= -65535.0) { v_fogdepth = 1.0; } else { v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; } vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ
Gangs of London™ v1.15.3 2023-05-19 Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader. Please contact [email protected] with the shader causing the problem, along with this error message. Mali online shader compiler r7p0-00rel1 [Revision 96995]. 01f70444:00000b29 HWX C T N LM Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:0 MatUp:7 Cull #version 100 // Driver: Mali-450 MP - GLSL 100 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01f70444:00000b29 HWX C T N LM Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:0 MatUp:7 Cull attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; 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; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = color0; vec3 diffuseColor = color0.rgb; vec3 specularColor = color0.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0); lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0); lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * diffuseColor) * max(ldot, 0.0); lightSum0.rgb += (u_lightambient2 * ambientColor.rgb + diffuse) * lightScale; toLight = u_lightpos3; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse3 * diffuseColor) * max(ldot, 0.0); lightSum0.rgb += (u_lightambient3 * ambientColor.rgb + diffuse); lightSum0 = clamp(lightSum0, 0.0, 1.0); v_color0 = lightSum0; v_color1 = splat3(0.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); if (u_fogcoef.x <= -65535.0 && u_fogcoef.y <= -65535.0) { v_fogdepth = 1.0; } else { v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; } vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 ||
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.17.1 2024-04-05 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.13.1 2023-07-03 Video out requested, not supported: mode=0 size=0,0