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 |
Hits |
Message |
| Def Jam® Fight For NY™: The Takeover |
v1.14.4 |
2023-04-04 |
1 |
UNTESTED sceNetAdhocctlCreateEnterGameMode(0c583ef, 1, 2, 09fbf960, 20000000, 0) at 0897ec84 |
| Def Jam® Fight For NY™: The Takeover |
v1.14.4 |
2023-04-04 |
1 |
UNTESTED sceNetAdhocctlJoinEnterGameMode(a4b86e7, 70:07:45:b0:03:a9, 20000000, 0) at 0897eeec |
| Kenka Bancho: Badass Rumble |
v1.14.4 |
2023-04-04 |
7 |
00000000=sceUtilityScreenshotInitStart(091a3b40) |
| Def Jam® Fight For NY™: The Takeover |
v1.14.4 |
2023-04-04 |
1 |
UNTESTED sceNetAdhocctlCreateEnterGameMode(4d5301b, 1, 2, 09fbf960, 20000000, 0) at 0897ec84 |
| eFootball PES 2022 Danilo Gamer |
v1.14.4 |
2023-04-04 |
2 |
Error in shader compilation: info: Vertex shader compilation failed.
ERROR: 0:125: 'comp' : redefinition
ERROR: 0:126: 'type' : redefinition
ERROR: 0:174: 'comp' : redefinition
ERROR: 0:175: 'type' : redefinition
ERROR: 0:223: 'comp' : redefinition
ERROR: 0:224: 'type' : redefinition
ERROR: 6 compilation errors. No code generated.
01000000:80000b30 HWX T N Tex Light: LightUberShader Cull
#version 300 es
// Driver: Adreno (TM) 320 - GLSL 300
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01000000:80000b30 HWX T N Tex Light: LightUberShader Cull
in vec3 position;
in mediump vec3 normal;
in vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform uint u_lightControl;
uniform vec3 u_lightpos0;
uniform mediump vec3 u_lightatt0;
uniform mediump vec3 u_lightdir0;
uniform mediump vec2 u_lightangle_spotCoef0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform lowp vec3 u_lightspecular0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform mediump vec3 u_lightdir1;
uniform mediump vec2 u_lightangle_spotCoef1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform lowp vec3 u_lightspecular1;
uniform vec3 u_lightpos2;
uniform mediump vec3 u_lightatt2;
uniform mediump vec3 u_lightdir2;
uniform mediump vec2 u_lightangle_spotCoef2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform lowp vec3 u_lightspecular2;
uniform vec3 u_lightpos3;
uniform mediump vec3 u_lightatt3;
uniform mediump vec3 u_lightdir3;
uniform mediump vec2 u_lightangle_spotCoef3;
uniform lowp vec3 u_lightambient3;
uniform lowp vec3 u_lightdiffuse3;
uniform lowp vec3 u_lightspecular3;
uniform lowp vec4 u_ambient;
uniform lowp vec3 u_matdiffuse;
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;
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 = u_matambientalpha;
vec3 diffuseColor = u_matdiffuse.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
if ((u_lightControl & 1u) != 0x0u) {
uint comp = (u_lightControl >> 0x04u) & 0x3u;
uint type = (u_lightControl >> 0x06u) & 0x3u;
if (type == 0x0u) {
toLight = u_lightpos0;
} else {
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
}
ldot = dot(toLight, worldnormal);
if (comp == 0x2u) {
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
}
switch (int(type)) {
case 1:
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
break;
case 2:
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
break;
default:
lightScale = 1.0;
break;
}
diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0);
if (comp == 0x1u) {
if ( |
| eFootball PES By HAROUN Z |
v1.14.4 |
2023-04-04 |
1 |
Replacement rowPitch=512, but w=1200 (level=0) |
| Secret Agent Clank™ |
v1.14.4 |
2023-04-04 |
1 |
Truncating vertex count from 21900 to 21845 |
| BRIAN LARA 2007: PRESSURE PLAY |
v1.14.4 |
2023-04-04 |
1 |
Replacement rowPitch=256, but w=7092 (level=0) |
| Prince of Persia - Revelations |
v1.14.4 |
2023-04-04 |
1 |
80630006=sceAtracSetDataAndGetID(0956cc80, 00000800): invalid RIFF header |
| グランナイツヒストリー |
v1.14.4 |
2023-04-04 |
2 |
00000000=sceUtilityScreenshotInitStart(08d3f950) |
| グランナイツヒストリー |
v1.14.4 |
2023-04-04 |
4 |
00000000=sceUtilityScreenshotInitStart(08d3eff0) |
| グランナイツヒストリー |
v1.14.4 |
2023-04-04 |
3 |
00000000=sceUtilityScreenshotInitStart(08d3f300) |
| グランナイツヒストリー |
v1.14.4 |
2023-04-04 |
2 |
00000000=sceUtilityScreenshotInitStart(08d3d420) |
| グランナイツヒストリー |
v1.16.1 |
2023-09-19 |
2 |
00000000=sceUtilityScreenshotInitStart(08dea7f0) |
| グランナイツヒストリー |
v1.17.1 |
2024-02-24 |
6 |
00000000=sceUtilityScreenshotInitStart(08de3580) |
| Prince of Persia - Revelations |
v1.14.4 |
2023-04-04 |
1 |
80630006=sceAtracSetDataAndGetID(09a1d380, 00000800): invalid RIFF header |
| Prince of Persia - Revelations |
v1.14.4 |
2023-04-04 |
1 |
80630006=sceAtracSetDataAndGetID(09926200, 00000800): invalid RIFF header |
| Prince of Persia - Revelations |
v1.14.4 |
2023-04-04 |
1 |
80630006=sceAtracSetDataAndGetID(09a1d480, 00000800): invalid RIFF header |
| PES 2014 |
v1.14.4 |
2023-04-04 |
1 |
Replacement rowPitch=1024, but w=4096 (level=0) |
| Prince of Persia - Revelations |
v1.14.4 |
2023-04-04 |
1 |
80630006=sceAtracSetDataAndGetID(0909e340, 00000800): invalid RIFF header |
| PES 2014 |
v1.14.4 |
2023-05-04 |
4 |
Replacement rowPitch=256, but w=800 (level=0) |
| Dragon Ball Z: Tenkaichi Tag Team |
v1.14.4 |
2023-04-04 |
1 |
WriteToHardware: Invalid address 0a841460 near PC 08902c38 LR 08902c38 |
| Prince of Persia - Revelations |
v1.14.4 |
2023-04-04 |
1 |
80630006=sceAtracSetDataAndGetID(09a7fac0, 00000800): invalid RIFF header |
| Prince of Persia - Revelations |
v1.14.4 |
2023-04-04 |
1 |
80630006=sceAtracSetDataAndGetID(09a81c80, 00000800): invalid RIFF header |
| Prince of Persia - Revelations |
v1.14.4 |
2023-04-04 |
1 |
80630006=sceAtracSetDataAndGetID(09671f40, 00000800): invalid RIFF header |
| Prince of Persia - Revelations |
v1.14.4 |
2023-04-04 |
2 |
80630006=sceAtracSetDataAndGetID(09ac5240, 00000800): invalid RIFF header |
| Silent Hill: Shattered Memories |
v1.14.4 |
2023-04-04 |
1 |
Ignoring possible texturing from framebuffer at 08bb4780 +96x-22558 / 64x256 |
| Prince of Persia - Revelations |
v1.18.1-846-gab47c3cb1f |
2026-10-25 |
3 |
80630006=sceAtracSetDataAndGetID(09aa1c40, 00000800): invalid RIFF header |
| Midnight Club: L.A. Remix® |
v1.18.1 |
2025-06-12 |
4 |
80630006=sceAtracSetDataAndGetID(08c9d8c0, 0000610c): invalid RIFF header |
| Def Jam® Fight For NY™: The Takeover |
v1.14.4 |
2023-04-04 |
1 |
UNTESTED sceNetAdhocctlCreateEnterGameMode(412719e, 1, 2, 09fbf960, 20000000, 0) at 0897ec84 |
| FIFA 14 |
v1.14.4 |
2023-04-04 |
1 |
Replacement rowPitch=1024, but w=3072 (level=0) |
| Mortal Kombat: Unchained |
v1.14.4 |
2023-04-04 |
1 |
Unknown GetPointerWrite fac02fb4 PC 088df98c LR 088df9a4 |
| FIFA 14 |
v1.14.4 |
2023-04-04 |
1 |
Replacement rowPitch=512, but w=800 (level=0) |
| The King Of Fighters - The Orochi Saga |
v1.14.4 |
2023-04-04 |
1 |
UNTESTED sceNetAdhocctlJoinEnterGameMode(TRI1886, 6c:30:52:6e:18:86, 20000000, 0) at 0888c440 |
| The King Of Fighters - The Orochi Saga |
v1.14.4 |
2023-04-04 |
1 |
UNTESTED sceNetAdhocctlCreateEnterGameMode(TRI80ac, 3, 2, 09fff8e0, 20000000, 0) at 0888c318 |
| TEKKEN 6 |
v1.14.4 |
2023-04-04 |
1 |
Replacement rowPitch=384, but w=1024 (level=0) |
| Def Jam® Fight For NY™: The Takeover |
v1.14.4 |
2023-04-04 |
1 |
UNTESTED sceNetAdhocctlCreateEnterGameMode(445ddcf, 1, 2, 09fbf960, 20000000, 0) at 0897ec84 |
| Mortal Kombat: Unchained |
v1.14.4 |
2023-04-04 |
1 |
80630007=sceAtracSetData(2, 08bd5600, 00004d00): atracID uses different codec type than data |
| Mortal Kombat: Unchained |
v1.16.6 |
2023-10-27 |
3 |
80630007=sceAtracSetData(2, 08bd5600, 0000fe00): atracID uses different codec type than data |
| Mortal Kombat: Unchained |
v1.16.6 |
2023-10-27 |
3 |
80630007=sceAtracSetData(2, 08bd5600, 00005000): atracID uses different codec type than data |
| Mortal Kombat: Unchained |
v1.16.6 |
2023-10-27 |
6 |
80630007=sceAtracSetData(2, 08bd5600, 00018700): atracID uses different codec type than data |
| Mortal Kombat: Unchained |
v1.14.4 |
2023-04-04 |
1 |
80630007=sceAtracSetData(2, 08bd5600, 00004000): atracID uses different codec type than data |
| Mortal Kombat: Unchained |
v1.16.6 |
2023-10-27 |
14 |
80630007=sceAtracSetData(2, 08bd5600, 00015700): atracID uses different codec type than data |
| Mortal Kombat: Unchained |
v1.16.6 |
2023-10-27 |
3 |
80630007=sceAtracSetData(2, 08bd5600, 00018000): atracID uses different codec type than data |
| Mortal Kombat: Unchained |
v1.16.6 |
2023-10-27 |
7 |
80630007=sceAtracSetData(2, 08bd5600, 00012e00): atracID uses different codec type than data |
| God of War: Chains of Olympus |
v1.18.1 |
2025-07-20 |
48 |
Failed to truncate file. |
| Assassin's Creed: Bloodlines™ |
v1.14.4 |
2023-04-04 |
1 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09c3f754, 4, 00000000, 0) |
| Assassin's Creed: Bloodlines™ |
v1.14.4 |
2023-04-04 |
1 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09c3f754, 4, 00000000, 0) |
| eFootball PES 2021 DraycEM "C19" |
v1.14.4 |
2023-04-04 |
1 |
Replacement rowPitch=1024, but w=3200 (level=0) |
| CAPCOM CLASSICS COLLECTION RELOADED |
v1.14.4 |
2023-04-04 |
1 |
00000400=sceGeEdramSetAddrTranslation(00000800) |
| Assassin's Creed: Bloodlines™ |
v1.14.4 |
2023-04-04 |
1 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09b095c4, 4, 00000000, 0) |
| Assassin's Creed: Bloodlines™ |
v1.14.4 |
2023-04-04 |
1 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09b095c4, 4, 00000000, 0) |
| MLB 10 The Show ™ |
v1.17.1 |
2024-09-06 |
4 |
scePsmfPlayerSetPsmf*: incorrect PSMF magic (d2b1eb72), bad data |
| Ben 10 Alien Force: Vilgax Attacks |
v1.14.4 |
2023-04-04 |
1 |
MIPSCompileOp: Invalid instruction 00000ffb |
| Ben 10 Alien Force: Vilgax Attacks |
v1.14.4 |
2023-04-04 |
1 |
MIPSCompileOp: Invalid instruction 00000ffa |
| Ben 10 Alien Force: Vilgax Attacks |
v1.14.4 |
2023-04-04 |
1 |
MIPSCompileOp: Invalid instruction 00000ff9 |
| Ben 10 Alien Force: Vilgax Attacks |
v1.14.4 |
2023-04-04 |
1 |
MIPSCompileOp: Invalid instruction 02420001 |
| FIFA 22 - Es |
v1.14.4 |
2023-04-04 |
1 |
Block transfer invalid: 1d436fe0/0 -> 04110000/0, 1024x1024x2 (0,0)->(0,0) |
| FIFA 22 - Es |
v1.14.4 |
2023-04-04 |
1 |
Block transfer invalid: 322d5110/0 -> 04110000/0, 1024x1024x2 (0,0)->(0,0) |
| Mortal Kombat: Unchained |
v1.14.4 |
2023-04-04 |
1 |
Unknown GetPointerWrite eb029b78 PC 088df980 LR 088df9a4 |
| Patapon 3 - DxD Edition v1.0 |
v1.18.1 |
2025-01-22 |
3 |
Unknown GetPointerWrite 0a000001 PC 0881845c LR 088113f8 |
| Dragon Ball Z: Tenkaichi Tag Team |
v1.14.4 |
2023-04-04 |
1 |
MIPSCompileOp: Invalid instruction d1a64340 |
| Dragon Ball Z: Tenkaichi Tag Team |
v1.14.4 |
2023-04-04 |
1 |
MIPSCompileOp: Invalid instruction ce749140 |
| eFOOTBALL 2022 by Cris17Gaming |
v1.14.4 |
2023-04-04 |
1 |
Replacement rowPitch=512, but w=1360 (level=0) |
| PES 2019 BY CHELITO 19 |
v1.14.4 |
2023-04-04 |
1 |
Replacement rowPitch=512, but w=1200 (level=0) |
| Gladiator Begins |
v1.14.4 |
2023-04-04 |
1 |
WriteToHardware: Invalid address 000000af near PC 0882867c LR 088287d8 |
| eFOOTBALL 2022 by Cris17Gaming |
v1.14.4 |
2023-04-03 |
1 |
Replacement rowPitch=256, but w=1200 (level=0) |
| Secret Agent Clank™ |
v1.14.4 |
2023-04-03 |
1 |
Truncating vertex count from 22854 to 21845 |
| eFootball PES 2022 Danilo Gamer |
v1.14.4 |
2023-04-03 |
1 |
Unknown GetPointerWrite 00000005 PC 08a02afc LR 0887138c |
| Real Madrid |
v1.14.4 |
2023-04-04 |
3 |
80630011=sceAtracSetDataAndGetID(094f67c0, 00000000): buffer too small |
| MTX Mototrax |
v1.14.4 |
2023-04-03 |
2 |
80000107=sceDisplaySetFrameBuf(44000000, 512, 0, 0): must change latched framebuf first |
| Prince of Persia - Revelations |
v1.14.4 |
2023-04-04 |
4 |
80630006=sceAtracSetDataAndGetID(096486c0, 00000800): invalid RIFF header |
| Prince of Persia - Revelations |
v1.14.4 |
2023-04-03 |
1 |
80630006=sceAtracSetDataAndGetID(099397c0, 00000800): invalid RIFF header |
| Crash™ Tag Team Racing |
v1.14.4 |
2023-04-03 |
5 |
80630006=sceAtracSetDataAndGetID(099bc780, 00014000): invalid RIFF header |
| Crash™ Tag Team Racing |
v1.14.4 |
2023-04-03 |
5 |
80630006=sceAtracSetDataAndGetID(099d8900, 00014000): invalid RIFF header |
| Crash™ Tag Team Racing |
v1.16.6 |
2023-12-09 |
4 |
80630006=sceAtracSetDataAndGetID(099a8700, 00014000): invalid RIFF header |
| Crash™ Tag Team Racing |
v1.14.4 |
2023-04-03 |
2 |
80630006=sceAtracSetDataAndGetID(09cad8c0, 00014000): invalid RIFF header |
| Crash™ Tag Team Racing |
v1.14.4 |
2023-04-03 |
1 |
80630006=sceAtracSetDataAndGetID(09b23d80, 00014000): invalid RIFF header |
| Crash™ Tag Team Racing |
v1.14.4 |
2023-04-03 |
2 |
80630006=sceAtracSetDataAndGetID(09b3fe40, 00014000): invalid RIFF header |
| SBK-07 |
v1.17 |
2024-03-14 |
4 |
sceKernelRegisterSubIntrHandler(30, 0, 08a24354, 08f84b40): duplicate handler |
| Dragon Ball Z: Tenkaichi Tag Team |
v1.14.4 |
2023-04-03 |
1 |
MIPSCompileOp: Invalid instruction 73c5c442 |
| Dragon Ball Z: Tenkaichi Tag Team |
v1.14.4 |
2023-04-03 |
1 |
MIPSCompileOp: Invalid instruction 78fa163b |
| Dragon Ball Z: Tenkaichi Tag Team |
v1.14.4 |
2023-04-03 |
1 |
MIPSCompileOp: Invalid instruction 7a777de4 |
| RA-PATCH EDISI FIFA WORLD CUP 2022 |
v1.14.4 |
2023-04-03 |
1 |
Replacement rowPitch=512, but w=2048 (level=0) |
| eFOOTBALL 2022 by Cris17Gaming |
v1.14.4 |
2023-06-28 |
7 |
Replacement rowPitch=256, but w=1024 (level=0) |
| Ben 10 Ultimate Alien Cosmic Destruction |
v1.14.4 |
2023-04-03 |
4 |
scePsmfPlayerSetPsmf*: incorrect PSMF magic (01400140), bad data |
| eFootball PES 2021 By TM ARTS |
v1.14.4 |
2023-04-03 |
1 |
Replacement rowPitch=512, but w=4800 (level=0) |
| UO gpSP kai 3.4 test 4 Build 225 |
v1.16.6 |
2024-11-24 |
2 |
sceKernelCreateThread(name=MediaEngine): unsupported attributes 00001006 |
| ATV Offroad Fury™ Pro |
v1.9.4 |
2025-05-04 |
3 |
MIPSCompileOp: Invalid instruction 00000005 |
| ATV Offroad Fury™ Pro |
v1.9.4 |
2025-05-04 |
7 |
MIPSCompileOp: Invalid instruction 00000001 |
| F1 2022 AVIGAMERS SP |
v1.14.4 |
2023-04-03 |
1 |
Replacement rowPitch=128, but w=2048 (level=0) |
| PES FL 2022 |
v1.14.4 |
2023-04-03 |
1 |
Replacement rowPitch=1024, but w=4800 (level=0) |
| 仮面ライダー クライマックスヒーローズ フォーゼ |
v1.14.4 |
2023-04-03 |
1 |
WriteToHardware: Invalid address 00000150 near PC 0887e25c LR 0887e25c |
| FOOTBALL 2022 LIGA BETPLAY MASTIV VELASQUEZ Y YUNIER PB |
v1.14.4 |
2023-04-03 |
1 |
80630006=sceAtracSetDataAndGetID(09a25200, 00004000): invalid RIFF header |
| Mortal Kombat: Unchained |
v1.14.4 |
2023-04-03 |
1 |
Error in shader compilation: info: Vertex shader compilation failed.
ERROR: 0:126: 'comp' : redefinition
ERROR: 0:127: 'type' : redefinition
ERROR: 0:175: 'comp' : redefinition
ERROR: 0:176: 'type' : redefinition
ERROR: 0:224: 'comp' : redefinition
ERROR: 0:225: 'type' : redefinition
ERROR: 6 compilation errors. No code generated.
01000000:80000b38 HWX C T N Tex Light: LightUberShader Cull
#version 300 es
// Driver: Adreno (TM) 305 - GLSL 300
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01000000:80000b38 HWX C T N Tex Light: LightUberShader Cull
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 uint u_lightControl;
uniform vec3 u_lightpos0;
uniform mediump vec3 u_lightatt0;
uniform mediump vec3 u_lightdir0;
uniform mediump vec2 u_lightangle_spotCoef0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform lowp vec3 u_lightspecular0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform mediump vec3 u_lightdir1;
uniform mediump vec2 u_lightangle_spotCoef1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform lowp vec3 u_lightspecular1;
uniform vec3 u_lightpos2;
uniform mediump vec3 u_lightatt2;
uniform mediump vec3 u_lightdir2;
uniform mediump vec2 u_lightangle_spotCoef2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform lowp vec3 u_lightspecular2;
uniform vec3 u_lightpos3;
uniform mediump vec3 u_lightatt3;
uniform mediump vec3 u_lightdir3;
uniform mediump vec2 u_lightangle_spotCoef3;
uniform lowp vec3 u_lightambient3;
uniform lowp vec3 u_lightdiffuse3;
uniform lowp vec3 u_lightspecular3;
uniform lowp vec4 u_ambient;
uniform lowp vec3 u_matdiffuse;
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;
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 = ((u_lightControl & (1u << 0x14u)) != 0x0u) ? color0 : u_matambientalpha;
vec3 diffuseColor = ((u_lightControl & (1u << 0x15u)) != 0x0u) ? color0.rgb : u_matdiffuse;
vec3 specularColor = ((u_lightControl & (1u << 0x16u)) != 0x0u) ? color0.rgb : u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
if ((u_lightControl & 1u) != 0x0u) {
uint comp = (u_lightControl >> 0x04u) & 0x3u;
uint type = (u_lightControl >> 0x06u) & 0x3u;
if (type == 0x0u) {
toLight = u_lightpos0;
} else {
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
}
ldot = dot(toLight, worldnormal);
if (comp == 0x2u) {
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
}
switch (int(type)) {
case 1:
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
break;
case 2:
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lig |
| Mortal Kombat: Unchained |
v1.14.4 |
2023-04-03 |
2 |
Error in shader compilation: info: Vertex shader compilation failed.
ERROR: 0:123: 'comp' : redefinition
ERROR: 0:124: 'type' : redefinition
ERROR: 0:172: 'comp' : redefinition
ERROR: 0:173: 'type' : redefinition
ERROR: 0:221: 'comp' : redefinition
ERROR: 0:222: 'type' : redefinition
ERROR: 6 compilation errors. No code generated.
01000000:80000328 HWX C N Light: LightUberShader Cull
#version 300 es
// Driver: Adreno (TM) 305 - GLSL 300
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01000000:80000328 HWX C N Light: LightUberShader Cull
in vec3 position;
in mediump vec3 normal;
in lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform uint u_lightControl;
uniform vec3 u_lightpos0;
uniform mediump vec3 u_lightatt0;
uniform mediump vec3 u_lightdir0;
uniform mediump vec2 u_lightangle_spotCoef0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform lowp vec3 u_lightspecular0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform mediump vec3 u_lightdir1;
uniform mediump vec2 u_lightangle_spotCoef1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform lowp vec3 u_lightspecular1;
uniform vec3 u_lightpos2;
uniform mediump vec3 u_lightatt2;
uniform mediump vec3 u_lightdir2;
uniform mediump vec2 u_lightangle_spotCoef2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform lowp vec3 u_lightspecular2;
uniform vec3 u_lightpos3;
uniform mediump vec3 u_lightatt3;
uniform mediump vec3 u_lightdir3;
uniform mediump vec2 u_lightangle_spotCoef3;
uniform lowp vec3 u_lightambient3;
uniform lowp vec3 u_lightdiffuse3;
uniform lowp vec3 u_lightspecular3;
uniform lowp vec4 u_ambient;
uniform lowp vec3 u_matdiffuse;
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 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 = ((u_lightControl & (1u << 0x14u)) != 0x0u) ? color0 : u_matambientalpha;
vec3 diffuseColor = ((u_lightControl & (1u << 0x15u)) != 0x0u) ? color0.rgb : u_matdiffuse;
vec3 specularColor = ((u_lightControl & (1u << 0x16u)) != 0x0u) ? color0.rgb : u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
if ((u_lightControl & 1u) != 0x0u) {
uint comp = (u_lightControl >> 0x04u) & 0x3u;
uint type = (u_lightControl >> 0x06u) & 0x3u;
if (type == 0x0u) {
toLight = u_lightpos0;
} else {
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
}
ldot = dot(toLight, worldnormal);
if (comp == 0x2u) {
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
}
switch (int(type)) {
case 1:
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
break;
case 2:
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
break;
default:
lightScale = 1.0;
break;
|
| Mortal Kombat: Unchained |
v1.14.4 |
2023-04-03 |
2 |
Error in shader compilation: info: Vertex shader compilation failed.
ERROR: 0:122: 'comp' : redefinition
ERROR: 0:123: 'type' : redefinition
ERROR: 0:171: 'comp' : redefinition
ERROR: 0:172: 'type' : redefinition
ERROR: 0:220: 'comp' : redefinition
ERROR: 0:221: 'type' : redefinition
ERROR: 6 compilation errors. No code generated.
01000000:80000320 HWX N Light: LightUberShader Cull
#version 300 es
// Driver: Adreno (TM) 305 - GLSL 300
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01000000:80000320 HWX N Light: LightUberShader Cull
in vec3 position;
in mediump vec3 normal;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform uint u_lightControl;
uniform vec3 u_lightpos0;
uniform mediump vec3 u_lightatt0;
uniform mediump vec3 u_lightdir0;
uniform mediump vec2 u_lightangle_spotCoef0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform lowp vec3 u_lightspecular0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform mediump vec3 u_lightdir1;
uniform mediump vec2 u_lightangle_spotCoef1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform lowp vec3 u_lightspecular1;
uniform vec3 u_lightpos2;
uniform mediump vec3 u_lightatt2;
uniform mediump vec3 u_lightdir2;
uniform mediump vec2 u_lightangle_spotCoef2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform lowp vec3 u_lightspecular2;
uniform vec3 u_lightpos3;
uniform mediump vec3 u_lightatt3;
uniform mediump vec3 u_lightdir3;
uniform mediump vec2 u_lightangle_spotCoef3;
uniform lowp vec3 u_lightambient3;
uniform lowp vec3 u_lightdiffuse3;
uniform lowp vec3 u_lightspecular3;
uniform lowp vec4 u_ambient;
uniform lowp vec3 u_matdiffuse;
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 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 = u_matambientalpha;
vec3 diffuseColor = u_matdiffuse.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
if ((u_lightControl & 1u) != 0x0u) {
uint comp = (u_lightControl >> 0x04u) & 0x3u;
uint type = (u_lightControl >> 0x06u) & 0x3u;
if (type == 0x0u) {
toLight = u_lightpos0;
} else {
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
}
ldot = dot(toLight, worldnormal);
if (comp == 0x2u) {
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
}
switch (int(type)) {
case 1:
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
break;
case 2:
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
break;
default:
lightScale = 1.0;
break;
}
diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0);
if (comp == 0x1u) {
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); |
| Mortal Kombat: Unchained |
v1.14.4 |
2023-04-03 |
1 |
Error in shader compilation: info: Fragment shader compilation failed.
ERROR: 0:16: '>>' : wrong operand types no operation '>>' exists that takes a left-hand operand of type 'in uint' and a right operand of type 'const int' (or there is no acceptable conversion)
ERROR: 1 compilation errors. No code generated.
reinterpret
#version 300 es
// Driver: Adreno (TM) 305 - GLSL 300
#define DISCARD discard
precision lowp float;
precision highp int;
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
precision highp float;
uniform sampler2D tex;
uint packColor(vec2 val) {
return uint(val.r * 255.99) | (uint(val.g * 255.99) << 8u);
}
vec4 unpackColor(uint color) {
vec4 outColor = vec4(float(color & 0x1FU), float((color >> 5u) & 0x1FU), float((color >> 10u) & 0x1FU), 0.0);
outColor.rgb *= 1.0 / 31.0;
outColor.a = float(color >> 15);
return outColor;
}
in highp vec2 v_texcoord; // TEXCOORD0
uniform vec2 texSize;
uniform float scaleFactor;
out vec4 fragColor0;
void main() {
vec4 val = texture(tex, v_texcoord.xy);
float u = mod(floor(v_texcoord.x * texSize.x * 2.0), 2.0);
vec4 outColor = unpackColor(u == 0.0 ? packColor(val.rg) : packColor(val.ba));
fragColor0 = outColor;
}
|
| Mortal Kombat: Unchained |
v1.14.4 |
2023-04-03 |
2 |
Error in shader compilation: info: Vertex shader compilation failed.
ERROR: 0:125: 'comp' : redefinition
ERROR: 0:126: 'type' : redefinition
ERROR: 0:174: 'comp' : redefinition
ERROR: 0:175: 'type' : redefinition
ERROR: 0:223: 'comp' : redefinition
ERROR: 0:224: 'type' : redefinition
ERROR: 6 compilation errors. No code generated.
01000000:80000b30 HWX T N Tex Light: LightUberShader Cull
#version 300 es
// Driver: Adreno (TM) 305 - GLSL 300
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01000000:80000b30 HWX T N Tex Light: LightUberShader Cull
in vec3 position;
in mediump vec3 normal;
in vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform uint u_lightControl;
uniform vec3 u_lightpos0;
uniform mediump vec3 u_lightatt0;
uniform mediump vec3 u_lightdir0;
uniform mediump vec2 u_lightangle_spotCoef0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform lowp vec3 u_lightspecular0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform mediump vec3 u_lightdir1;
uniform mediump vec2 u_lightangle_spotCoef1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform lowp vec3 u_lightspecular1;
uniform vec3 u_lightpos2;
uniform mediump vec3 u_lightatt2;
uniform mediump vec3 u_lightdir2;
uniform mediump vec2 u_lightangle_spotCoef2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform lowp vec3 u_lightspecular2;
uniform vec3 u_lightpos3;
uniform mediump vec3 u_lightatt3;
uniform mediump vec3 u_lightdir3;
uniform mediump vec2 u_lightangle_spotCoef3;
uniform lowp vec3 u_lightambient3;
uniform lowp vec3 u_lightdiffuse3;
uniform lowp vec3 u_lightspecular3;
uniform lowp vec4 u_ambient;
uniform lowp vec3 u_matdiffuse;
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;
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 = u_matambientalpha;
vec3 diffuseColor = u_matdiffuse.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
if ((u_lightControl & 1u) != 0x0u) {
uint comp = (u_lightControl >> 0x04u) & 0x3u;
uint type = (u_lightControl >> 0x06u) & 0x3u;
if (type == 0x0u) {
toLight = u_lightpos0;
} else {
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
}
ldot = dot(toLight, worldnormal);
if (comp == 0x2u) {
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
}
switch (int(type)) {
case 1:
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
break;
case 2:
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
break;
default:
lightScale = 1.0;
break;
}
diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0);
if (comp == 0x1u) {
if ( |
| Mortal Kombat: Unchained |
v1.14.4 |
2023-04-03 |
2 |
Error in shader compilation: info: Vertex shader compilation failed.
ERROR: 0:125: 'comp' : redefinition
ERROR: 0:126: 'type' : redefinition
ERROR: 0:174: 'comp' : redefinition
ERROR: 0:175: 'type' : redefinition
ERROR: 0:223: 'comp' : redefinition
ERROR: 0:224: 'type' : redefinition
ERROR: 6 compilation errors. No code generated.
01000000:80000938 HWX C T Tex Light: LightUberShader Cull
#version 300 es
// Driver: Adreno (TM) 305 - GLSL 300
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01000000:80000938 HWX C T Tex Light: LightUberShader Cull
in vec3 position;
in vec2 texcoord;
in lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform uint u_lightControl;
uniform vec3 u_lightpos0;
uniform mediump vec3 u_lightatt0;
uniform mediump vec3 u_lightdir0;
uniform mediump vec2 u_lightangle_spotCoef0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform lowp vec3 u_lightspecular0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform mediump vec3 u_lightdir1;
uniform mediump vec2 u_lightangle_spotCoef1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform lowp vec3 u_lightspecular1;
uniform vec3 u_lightpos2;
uniform mediump vec3 u_lightatt2;
uniform mediump vec3 u_lightdir2;
uniform mediump vec2 u_lightangle_spotCoef2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform lowp vec3 u_lightspecular2;
uniform vec3 u_lightpos3;
uniform mediump vec3 u_lightatt3;
uniform mediump vec3 u_lightdir3;
uniform mediump vec2 u_lightangle_spotCoef3;
uniform lowp vec3 u_lightambient3;
uniform lowp vec3 u_lightdiffuse3;
uniform lowp vec3 u_lightspecular3;
uniform lowp vec4 u_ambient;
uniform lowp vec3 u_matdiffuse;
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;
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(0.0, 0.0, 1.0, 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 = ((u_lightControl & (1u << 0x14u)) != 0x0u) ? color0 : u_matambientalpha;
vec3 diffuseColor = ((u_lightControl & (1u << 0x15u)) != 0x0u) ? color0.rgb : u_matdiffuse;
vec3 specularColor = ((u_lightControl & (1u << 0x16u)) != 0x0u) ? color0.rgb : u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
if ((u_lightControl & 1u) != 0x0u) {
uint comp = (u_lightControl >> 0x04u) & 0x3u;
uint type = (u_lightControl >> 0x06u) & 0x3u;
if (type == 0x0u) {
toLight = u_lightpos0;
} else {
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
}
ldot = dot(toLight, worldnormal);
if (comp == 0x2u) {
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
}
switch (int(type)) {
case 1:
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
break;
case 2:
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
|