[ 0.000338] Config common/settings.cpp:LogSettings:114: Citra Configuration: [ 0.000367] Config common/settings.cpp:operator():111: Core_UseCpuJit: true [ 0.000372] Config common/settings.cpp:operator():111: Core_CPUClockPercentage: 100 [ 0.000374] Config common/settings.cpp:operator():111: Renderer_UseGLES: false [ 0.000376] Config common/settings.cpp:operator():111: Renderer_GraphicsAPI: OpenGL [ 0.000378] Config common/settings.cpp:operator():111: Renderer_Debug: false [ 0.000380] Config common/settings.cpp:operator():111: Renderer_UseHwShader: true [ 0.000385] Config common/settings.cpp:operator():111: Renderer_SeparableShader: false [ 0.000386] Config common/settings.cpp:operator():111: Renderer_ShadersAccurateMul: true [ 0.000388] Config common/settings.cpp:operator():111: Renderer_UseShaderJit: true [ 0.000390] Config common/settings.cpp:operator():111: Renderer_UseResolutionFactor: 1 [ 0.000392] Config common/settings.cpp:operator():111: Renderer_FrameLimit: 100 [ 0.000394] Config common/settings.cpp:operator():111: Renderer_VSyncNew: false [ 0.000396] Config common/settings.cpp:operator():111: Renderer_PostProcessingShader: none (builtin) [ 0.000398] Config common/settings.cpp:operator():111: Renderer_FilterMode: true [ 0.000402] Config common/settings.cpp:operator():111: Renderer_TextureFilterName: Linear (Default) [ 0.000407] Config common/settings.cpp:operator():111: Stereoscopy_Render3d: 0 [ 0.000409] Config common/settings.cpp:operator():111: Stereoscopy_Factor3d: 0 [ 0.000411] Config common/settings.cpp:operator():111: Stereoscopy_MonoRenderOption: 0 [ 0.000416] Config common/settings.cpp:operator():111: Layout_LayoutOption: 0 [ 0.000418] Config common/settings.cpp:operator():111: Layout_SwapScreen: false [ 0.000421] Config common/settings.cpp:operator():111: Layout_UprightScreen: false [ 0.000425] Config common/settings.cpp:operator():111: Layout_LargeScreenProportion: 3 [ 0.000430] Config common/settings.cpp:operator():111: Utility_DumpTextures: false [ 0.000432] Config common/settings.cpp:operator():111: Utility_CustomTextures: false [ 0.000433] Config common/settings.cpp:operator():111: Utility_UseDiskShaderCache: true [ 0.000436] Config common/settings.cpp:operator():111: Audio_Emulation: HLE [ 0.000437] Config common/settings.cpp:operator():111: Audio_OutputEngine: auto [ 0.000439] Config common/settings.cpp:operator():111: Audio_EnableAudioStretching: false [ 0.000441] Config common/settings.cpp:operator():111: Audio_OutputDevice: auto [ 0.000444] Config common/settings.cpp:operator():111: Audio_InputDeviceType: 1 [ 0.000447] Config common/settings.cpp:operator():111: Audio_InputDevice: Default [ 0.000451] Config common/settings.cpp:operator():111: Camera_OuterRightName: blank [ 0.000453] Config common/settings.cpp:operator():111: Camera_OuterRightConfig: [ 0.000455] Config common/settings.cpp:operator():111: Camera_OuterRightFlip: 0 [ 0.000456] Config common/settings.cpp:operator():111: Camera_InnerName: blank [ 0.000461] Config common/settings.cpp:operator():111: Camera_InnerConfig: [ 0.000462] Config common/settings.cpp:operator():111: Camera_InnerFlip: 0 [ 0.000464] Config common/settings.cpp:operator():111: Camera_OuterLeftName: blank [ 0.000466] Config common/settings.cpp:operator():111: Camera_OuterLeftConfig: [ 0.000468] Config common/settings.cpp:operator():111: Camera_OuterLeftFlip: 0 [ 0.000470] Config common/settings.cpp:operator():111: DataStorage_UseVirtualSd: true [ 0.000471] Config common/settings.cpp:operator():111: DataStorage_UseCustomStorage: false [ 0.000473] Config common/settings.cpp:operator():111: System_IsNew3ds: true [ 0.000478] Config common/settings.cpp:operator():111: System_RegionValue: -1 [ 0.000480] Config common/settings.cpp:operator():111: System_PluginLoader: false [ 0.000484] Config common/settings.cpp:operator():111: System_PluginLoaderAllowed: true [ 0.000487] Config common/settings.cpp:operator():111: Debugging_UseGdbstub: false [ 0.000490] Config common/settings.cpp:operator():111: Debugging_GdbstubPort: 24689 [ 0.140947] Input input_common/udp/client.cpp:StartCommunication:206: Starting communication with UDP input server on 127.0.0.1:26760 [ 0.223325] Frontend citra_qt/main.cpp:GMainWindow:233: Citra Version: Nightly 1871 | HEAD-f96047f18 [ 0.223335] Frontend citra_qt/main.cpp:GMainWindow:249: Host CPU: AMD Athlon Silver 3050U with Radeon Graphics | AVX2 | FMA [ 0.223650] Frontend citra_qt/main.cpp:GMainWindow:251: Host OS: KDE Flatpak runtime [ 0.223662] Frontend citra_qt/main.cpp:GMainWindow:254: Host RAM: 5.67 GiB [ 0.223665] Frontend citra_qt/main.cpp:GMainWindow:255: Host Swap: 2.83 GiB [ 0.288994] Frontend citra_qt/main.cpp:CheckForUpdates:898: Unable to start check for updates [ 0.641181] HW.AES core/hw/aes/key.cpp:LoadPresetKeys:472: Invalid key name generator [ 0.733004] Service.FS core/file_sys/ncch_container.cpp:Load:347: NCCH is marked as encrypted but with decrypted exheader. Force no crypto scheme. [ 0.776797] Service.FS core/file_sys/ncch_container.cpp:Load:347: NCCH is marked as encrypted but with decrypted exheader. Force no crypto scheme. [ 0.821768] Service.FS core/file_sys/ncch_container.cpp:Load:347: NCCH is marked as encrypted but with decrypted exheader. Force no crypto scheme. [ 0.844812] Loader core/loader/loader.cpp:GetLoader:131: File /media/HDD 500/Emulation/Games/Nintendo 3DS/Shin Metami Tensei - Strange Journey Redux (USA).3ds has a different type than its extension. [ 3.812400] HW.AES core/hw/aes/key.cpp:LoadPresetKeys:472: Invalid key name generator [ 3.812732] Service.FS core/file_sys/savedata_archive.cpp:OpenFile:77: Non-existing file /home/enzed/.var/app/org.citra_emu.citra/data/citra-emu/nand/data/00000000000000000000000000000000/sysdata/00010017/00000000/config can't be open without mode create. [ 3.812745] Service.FS core/file_sys/savedata_archive.cpp:DeleteFile:120: File not found /home/enzed/.var/app/org.citra_emu.citra/data/citra-emu/nand/data/00000000000000000000000000000000/sysdata/00010017/00000000/config [ 3.812972] Service.PTM core/hle/service/ptm/ptm.cpp:ReadGameCoinData:176: Could not open the PTM SharedExtSaveData archive! [ 57.575438] Config common/settings.cpp:LogSettings:114: Citra Configuration: [ 57.575476] Config common/settings.cpp:operator():111: Core_UseCpuJit: true [ 57.575485] Config common/settings.cpp:operator():111: Core_CPUClockPercentage: 100 [ 57.575495] Config common/settings.cpp:operator():111: Renderer_UseGLES: false [ 57.575503] Config common/settings.cpp:operator():111: Renderer_GraphicsAPI: OpenGL [ 57.575512] Config common/settings.cpp:operator():111: Renderer_Debug: false [ 57.575520] Config common/settings.cpp:operator():111: Renderer_UseHwShader: true [ 57.575528] Config common/settings.cpp:operator():111: Renderer_SeparableShader: false [ 57.575536] Config common/settings.cpp:operator():111: Renderer_ShadersAccurateMul: true [ 57.575544] Config common/settings.cpp:operator():111: Renderer_UseShaderJit: true [ 57.575553] Config common/settings.cpp:operator():111: Renderer_UseResolutionFactor: 1 [ 57.575561] Config common/settings.cpp:operator():111: Renderer_FrameLimit: 100 [ 57.575569] Config common/settings.cpp:operator():111: Renderer_VSyncNew: false [ 57.575577] Config common/settings.cpp:operator():111: Renderer_PostProcessingShader: none (builtin) [ 57.575586] Config common/settings.cpp:operator():111: Renderer_FilterMode: true [ 57.575594] Config common/settings.cpp:operator():111: Renderer_TextureFilterName: Linear (Default) [ 57.575603] Config common/settings.cpp:operator():111: Stereoscopy_Render3d: 0 [ 57.575611] Config common/settings.cpp:operator():111: Stereoscopy_Factor3d: 0 [ 57.575620] Config common/settings.cpp:operator():111: Stereoscopy_MonoRenderOption: 0 [ 57.575628] Config common/settings.cpp:operator():111: Layout_LayoutOption: 0 [ 57.575636] Config common/settings.cpp:operator():111: Layout_SwapScreen: false [ 57.575644] Config common/settings.cpp:operator():111: Layout_UprightScreen: false [ 57.575654] Config common/settings.cpp:operator():111: Layout_LargeScreenProportion: 3 [ 57.575662] Config common/settings.cpp:operator():111: Utility_DumpTextures: false [ 57.575670] Config common/settings.cpp:operator():111: Utility_CustomTextures: false [ 57.575678] Config common/settings.cpp:operator():111: Utility_UseDiskShaderCache: true [ 57.575686] Config common/settings.cpp:operator():111: Audio_Emulation: HLE [ 57.575694] Config common/settings.cpp:operator():111: Audio_OutputEngine: auto [ 57.575718] Config common/settings.cpp:operator():111: Audio_EnableAudioStretching: false [ 57.575726] Config common/settings.cpp:operator():111: Audio_OutputDevice: auto [ 57.575735] Config common/settings.cpp:operator():111: Audio_InputDeviceType: 1 [ 57.575743] Config common/settings.cpp:operator():111: Audio_InputDevice: Default [ 57.575751] Config common/settings.cpp:operator():111: Camera_OuterRightName: blank [ 57.575759] Config common/settings.cpp:operator():111: Camera_OuterRightConfig: [ 57.575767] Config common/settings.cpp:operator():111: Camera_OuterRightFlip: 0 [ 57.575775] Config common/settings.cpp:operator():111: Camera_InnerName: blank [ 57.575783] Config common/settings.cpp:operator():111: Camera_InnerConfig: [ 57.575791] Config common/settings.cpp:operator():111: Camera_InnerFlip: 0 [ 57.575799] Config common/settings.cpp:operator():111: Camera_OuterLeftName: blank [ 57.575807] Config common/settings.cpp:operator():111: Camera_OuterLeftConfig: [ 57.575815] Config common/settings.cpp:operator():111: Camera_OuterLeftFlip: 0 [ 57.575823] Config common/settings.cpp:operator():111: DataStorage_UseVirtualSd: true [ 57.575831] Config common/settings.cpp:operator():111: DataStorage_UseCustomStorage: false [ 57.575839] Config common/settings.cpp:operator():111: System_IsNew3ds: true [ 57.575847] Config common/settings.cpp:operator():111: System_RegionValue: -1 [ 57.575900] Config common/settings.cpp:operator():111: System_PluginLoader: false [ 57.575909] Config common/settings.cpp:operator():111: System_PluginLoaderAllowed: true [ 57.575917] Config common/settings.cpp:operator():111: Debugging_UseGdbstub: false [ 57.575925] Config common/settings.cpp:operator():111: Debugging_GdbstubPort: 24689 [ 57.576826] Frontend citra_qt/game_list.cpp:RefreshGameDirectory:793: Change detected in the games directory. Reloading game list. [ 57.594264] Service.FS core/file_sys/ncch_container.cpp:Load:347: NCCH is marked as encrypted but with decrypted exheader. Force no crypto scheme. [ 57.598642] Service.FS core/file_sys/ncch_container.cpp:Load:347: NCCH is marked as encrypted but with decrypted exheader. Force no crypto scheme. [ 57.600212] Service.FS core/file_sys/ncch_container.cpp:Load:347: NCCH is marked as encrypted but with decrypted exheader. Force no crypto scheme. [ 57.601661] Loader core/loader/loader.cpp:GetLoader:131: File /media/HDD 500/Emulation/Games/Nintendo 3DS/Shin Metami Tensei - Strange Journey Redux (USA).3ds has a different type than its extension. [ 58.673987] Frontend citra_qt/main.cpp:BootGame:1120: Citra starting... [ 58.674097] Service.FS core/file_sys/ncch_container.cpp:LoadHeader:161: 16384 [ 58.690429] Frontend citra_qt/main.cpp:BootGame:1142: Using per game config file for title id 0004000000033500 [ 58.690439] Config common/settings.cpp:LogSettings:114: Citra Configuration: [ 58.690444] Config common/settings.cpp:operator():111: Core_UseCpuJit: true [ 58.690448] Config common/settings.cpp:operator():111: Core_CPUClockPercentage: 100 [ 58.690453] Config common/settings.cpp:operator():111: Renderer_UseGLES: false [ 58.690459] Config common/settings.cpp:operator():111: Renderer_GraphicsAPI: OpenGL [ 58.690465] Config common/settings.cpp:operator():111: Renderer_Debug: false [ 58.690467] Config common/settings.cpp:operator():111: Renderer_UseHwShader: true [ 58.690471] Config common/settings.cpp:operator():111: Renderer_SeparableShader: false [ 58.690476] Config common/settings.cpp:operator():111: Renderer_ShadersAccurateMul: true [ 58.690481] Config common/settings.cpp:operator():111: Renderer_UseShaderJit: true [ 58.690486] Config common/settings.cpp:operator():111: Renderer_UseResolutionFactor: 1 [ 58.690490] Config common/settings.cpp:operator():111: Renderer_FrameLimit: 100 [ 58.690495] Config common/settings.cpp:operator():111: Renderer_VSyncNew: false [ 58.690500] Config common/settings.cpp:operator():111: Renderer_PostProcessingShader: none (builtin) [ 58.690504] Config common/settings.cpp:operator():111: Renderer_FilterMode: true [ 58.690509] Config common/settings.cpp:operator():111: Renderer_TextureFilterName: Linear (Default) [ 58.690514] Config common/settings.cpp:operator():111: Stereoscopy_Render3d: 0 [ 58.690519] Config common/settings.cpp:operator():111: Stereoscopy_Factor3d: 0 [ 58.690523] Config common/settings.cpp:operator():111: Stereoscopy_MonoRenderOption: 0 [ 58.690528] Config common/settings.cpp:operator():111: Layout_LayoutOption: 0 [ 58.690533] Config common/settings.cpp:operator():111: Layout_SwapScreen: false [ 58.690538] Config common/settings.cpp:operator():111: Layout_UprightScreen: false [ 58.690542] Config common/settings.cpp:operator():111: Layout_LargeScreenProportion: 3 [ 58.690547] Config common/settings.cpp:operator():111: Utility_DumpTextures: false [ 58.690555] Config common/settings.cpp:operator():111: Utility_CustomTextures: false [ 58.690557] Config common/settings.cpp:operator():111: Utility_UseDiskShaderCache: true [ 58.690562] Config common/settings.cpp:operator():111: Audio_Emulation: HLE [ 58.690565] Config common/settings.cpp:operator():111: Audio_OutputEngine: auto [ 58.690570] Config common/settings.cpp:operator():111: Audio_EnableAudioStretching: false [ 58.690572] Config common/settings.cpp:operator():111: Audio_OutputDevice: auto [ 58.690576] Config common/settings.cpp:operator():111: Audio_InputDeviceType: 1 [ 58.690582] Config common/settings.cpp:operator():111: Audio_InputDevice: Default [ 58.690584] Config common/settings.cpp:operator():111: Camera_OuterRightName: blank [ 58.690589] Config common/settings.cpp:operator():111: Camera_OuterRightConfig: [ 58.690594] Config common/settings.cpp:operator():111: Camera_OuterRightFlip: 0 [ 58.690598] Config common/settings.cpp:operator():111: Camera_InnerName: blank [ 58.690603] Config common/settings.cpp:operator():111: Camera_InnerConfig: [ 58.690606] Config common/settings.cpp:operator():111: Camera_InnerFlip: 0 [ 58.690610] Config common/settings.cpp:operator():111: Camera_OuterLeftName: blank [ 58.690615] Config common/settings.cpp:operator():111: Camera_OuterLeftConfig: [ 58.690620] Config common/settings.cpp:operator():111: Camera_OuterLeftFlip: 0 [ 58.690626] Config common/settings.cpp:operator():111: DataStorage_UseVirtualSd: true [ 58.690630] Config common/settings.cpp:operator():111: DataStorage_UseCustomStorage: false [ 58.690634] Config common/settings.cpp:operator():111: System_IsNew3ds: true [ 58.690639] Config common/settings.cpp:operator():111: System_RegionValue: -1 [ 58.690644] Config common/settings.cpp:operator():111: System_PluginLoader: false [ 58.690646] Config common/settings.cpp:operator():111: System_PluginLoaderAllowed: true [ 58.690650] Config common/settings.cpp:operator():111: Debugging_UseGdbstub: false [ 58.690653] Config common/settings.cpp:operator():111: Debugging_GdbstubPort: 24689 [ 58.765962] Service.FS core/file_sys/ncch_container.cpp:Load:347: NCCH is marked as encrypted but with decrypted exheader. Force no crypto scheme. [ 58.948987] Audio.DSP audio_core/hle/fdk_decoder.cpp:Impl:43: Using fdk_aac version 3.0.0 (build date: Nov 10 2011) [ 58.979987] Audio.Sink audio_core/cubeb_sink.cpp:StateCallback:137: Cubeb Audio Stream Started [ 58.980024] RPC_Server core/rpc/rpc_server.cpp:RPCServer:12: Starting RPC server ... [ 58.980123] RPC_Server core/rpc/rpc_server.cpp:RPCServer:16: RPC started. [ 58.981747] RPC_Server core/rpc/rpc_server.cpp:HandleRequestsLoop:113: Request handler started. [ 58.991838] Service.HTTP core/hle/service/http_c.cpp:DecryptClCertA:806: ClCertA file missing [ 58.991884] Render.OpenGL video_core/renderer_opengl/gl_driver.cpp:ReportDriverInfo:99: GL_VERSION: 4.6 (Core Profile) Mesa 22.3.5 (git-6570a15662) [ 58.991887] Render.OpenGL video_core/renderer_opengl/gl_driver.cpp:ReportDriverInfo:100: GL_VENDOR: AMD [ 58.991889] Render.OpenGL video_core/renderer_opengl/gl_driver.cpp:ReportDriverInfo:101: GL_RENDERER: AMD Radeon Graphics (raven2, LLVM 15.0.7, DRM 3.49, 6.2.8-zen1-1-zen) [ 59.000848] Render.OpenGL video_core/renderer_opengl/gl_format_reinterpreter.cpp:ShaderD24S8toRGBA8:167: Texture views are unsupported, reinterpretation will do intermediate copy [ 59.000862] Render.OpenGL video_core/renderer_opengl/gl_format_reinterpreter.cpp:FormatReinterpreterOpenGL:255: Using shader for D24S8 to RGBA8 reinterpretation [ 59.003518] Loader core/loader/ncch.cpp:Load:211: Program ID: 0004000000033500 [ 59.003559] Service.FS core/file_sys/ncch_container.cpp:OpenFile:130: Failed to open /home/enzed/.var/app/org.citra_emu.citra/data/citra-emu/sdmc/Nintendo 3DS/00000000000000000000000000000000/00000000000000000000000000000000/title/0004000e/00033500/content/00000000.app [ 59.054374] Service.FS core/file_sys/ncch_container.cpp:LoadSectionExeFS:510: Attempting to load logo from the ExeFS [ 59.054613] Service.CFG core/hle/service/cfg/cfg.cpp:SetPreferredRegionCodes:761: Preferred region code set to 1 [ 59.088198] Render.OpenGL video_core/renderer_opengl/gl_shader_disk_cache.cpp:LoadTransferable:172: Found a transferable disk cache with 60 entries [ 59.090231] Render.OpenGL video_core/renderer_opengl/gl_shader_disk_cache.cpp:LoadPrecompiled:182: No precompiled shader cache found for game with title id=0004000000033500 [ 59.106396] Render.OpenGL video_core/renderer_opengl/gl_shader_util.cpp:LoadShader:63: Error compiling fragment shader: [ 59.106459] Render.OpenGL video_core/renderer_opengl/gl_shader_util.cpp:LoadShader:65: Shader source code: #version 430 core #extension GL_ARB_separate_shader_objects : enable layout (location=1) in vec4 primary_color; layout (location=2) in vec2 texcoord0; layout (location=3) in vec2 texcoord1; layout (location=4) in vec2 texcoord2; layout (location=5) in float texcoord0_w; layout (location=6) in vec4 normquat; layout (location=7) in vec3 view; #ifndef CITRA_GLES in vec4 gl_FragCoord; #endif // CITRA_GLES out vec4 color; uniform sampler2D tex0; uniform sampler2D tex1; uniform sampler2D tex2; uniform samplerCube tex_cube; uniform samplerBuffer texture_buffer_lut_lf; uniform samplerBuffer texture_buffer_lut_rg; uniform samplerBuffer texture_buffer_lut_rgba; layout(r32ui) uniform readonly uimage2D shadow_texture_px; layout(r32ui) uniform readonly uimage2D shadow_texture_nx; layout(r32ui) uniform readonly uimage2D shadow_texture_py; layout(r32ui) uniform readonly uimage2D shadow_texture_ny; layout(r32ui) uniform readonly uimage2D shadow_texture_pz; layout(r32ui) uniform readonly uimage2D shadow_texture_nz; layout(r32ui) uniform uimage2D shadow_buffer; #define NUM_TEV_STAGES 6 #define NUM_LIGHTS 8 #define NUM_LIGHTING_SAMPLERS 24 struct LightSrc { vec3 specular_0; vec3 specular_1; vec3 diffuse; vec3 ambient; vec3 position; vec3 spot_direction; float dist_atten_bias; float dist_atten_scale; }; layout (std140) uniform shader_data { int framebuffer_scale; int alphatest_ref; float depth_scale; float depth_offset; float shadow_bias_constant; float shadow_bias_linear; int scissor_x1; int scissor_y1; int scissor_x2; int scissor_y2; int fog_lut_offset; int proctex_noise_lut_offset; int proctex_color_map_offset; int proctex_alpha_map_offset; int proctex_lut_offset; int proctex_diff_lut_offset; float proctex_bias; int shadow_texture_bias; bool enable_clip1; ivec4 lighting_lut_offset[NUM_LIGHTING_SAMPLERS / 4]; vec3 fog_color; vec2 proctex_noise_f; vec2 proctex_noise_a; vec2 proctex_noise_p; vec3 lighting_global_ambient; LightSrc light_src[NUM_LIGHTS]; vec4 const_color[NUM_TEV_STAGES]; vec4 tev_combiner_buffer_color; vec3 tex_lod_bias; vec4 clip_coef; }; // Rotate the vector v by the quaternion q vec3 quaternion_rotate(vec4 q, vec3 v) { return v + 2.0 * cross(q.xyz, cross(q.xyz, v) + q.w * v); } float LookupLightingLUT(int lut_index, int index, float delta) { vec2 entry = texelFetch(texture_buffer_lut_lf, lighting_lut_offset[lut_index >> 2][lut_index & 3] + index).rg; return entry.r + entry.g * delta; } float LookupLightingLUTUnsigned(int lut_index, float pos) { int index = clamp(int(pos * 256.0), 0, 255); float delta = pos * 256.0 - float(index); return LookupLightingLUT(lut_index, index, delta); } float LookupLightingLUTSigned(int lut_index, float pos) { int index = clamp(int(pos * 128.0), -128, 127); float delta = pos * 128.0 - float(index); if (index < 0) index += 256; return LookupLightingLUT(lut_index, index, delta); } float byteround(float x) { return round(x * 255.0) * (1.0 / 255.0); } vec2 byteround(vec2 x) { return round(x * 255.0) * (1.0 / 255.0); } vec3 byteround(vec3 x) { return round(x * 255.0) * (1.0 / 255.0); } vec4 byteround(vec4 x) { return round(x * 255.0) * (1.0 / 255.0); } // PICA's LOD formula for 2D textures. // This LOD formula is the same as the LOD lower limit defined in OpenGL. // f(x, y) >= max{m_u, m_v, m_w} // (See OpenGL 4.6 spec, 8.14.1 - Scale Factor and Level-of-Detail) float getLod(vec2 coord) { vec2 d = max(abs(dFdx(coord)), abs(dFdy(coord))); return log2(max(d.x, d.y)); } uvec2 DecodeShadow(uint pixel) { return uvec2(pixel >> 8, pixel & 0xFFu); } uint EncodeShadow(uvec2 pixel) { return (pixel.x << 8) | pixel.y; } float CompareShadow(uint pixel, uint z) { uvec2 p = DecodeShadow(pixel); return mix(float(p.y) * (1.0 / 255.0), 0.0, p.x <= z); } float SampleShadow2D(ivec2 uv, uint z) { if (any(bvec4( lessThan(uv, ivec2(0)), greaterThanEqual(uv, imageSize(shadow_texture_px)) ))) return 1.0; return CompareShadow(imageLoad(shadow_texture_px, uv).x, z); } float mix2(vec4 s, vec2 a) { vec2 t = mix(s.xy, s.zw, a.yy); return mix(t.x, t.y, a.x); } vec4 shadowTexture(vec2 uv, float w) { uv /= w;uint z = uint(max(0, int(min(abs(w), 1.0) * float(0xFFFFFF)) - shadow_texture_bias)); vec2 coord = vec2(imageSize(shadow_texture_px)) * uv - vec2(0.5); vec2 coord_floor = floor(coord); vec2 f = coord - coord_floor; ivec2 i = ivec2(coord_floor); vec4 s = vec4( SampleShadow2D(i , z), SampleShadow2D(i + ivec2(1, 0), z), SampleShadow2D(i + ivec2(0, 1), z), SampleShadow2D(i + ivec2(1, 1), z)); return vec4(mix2(s, f)); } vec4 shadowTextureCube(vec2 uv, float w) { ivec2 size = imageSize(shadow_texture_px); vec3 c = vec3(uv, w); vec3 a = abs(c); if (a.x > a.y && a.x > a.z) { w = a.x; uv = -c.zy; if (c.x < 0.0) uv.x = -uv.x; } else if (a.y > a.z) { w = a.y; uv = c.xz; if (c.y < 0.0) uv.y = -uv.y; } else { w = a.z; uv = -c.xy; if (c.z > 0.0) uv.x = -uv.x; } uint z = uint(max(0, int(min(w, 1.0) * float(0xFFFFFF)) - shadow_texture_bias)); vec2 coord = vec2(size) * (uv / w * vec2(0.5) + vec2(0.5)) - vec2(0.5); vec2 coord_floor = floor(coord); vec2 f = coord - coord_floor; ivec2 i00 = ivec2(coord_floor); ivec2 i10 = i00 + ivec2(1, 0); ivec2 i01 = i00 + ivec2(0, 1); ivec2 i11 = i00 + ivec2(1, 1); ivec2 cmin = ivec2(0), cmax = size - ivec2(1, 1); i00 = clamp(i00, cmin, cmax); i10 = clamp(i10, cmin, cmax); i01 = clamp(i01, cmin, cmax); i11 = clamp(i11, cmin, cmax); uvec4 pixels; // This part should have been refactored into functions, // but many drivers don't like passing uimage2D as parameters if (a.x > a.y && a.x > a.z) { if (c.x > 0.0) pixels = uvec4( imageLoad(shadow_texture_px, i00).r, imageLoad(shadow_texture_px, i10).r, imageLoad(shadow_texture_px, i01).r, imageLoad(shadow_texture_px, i11).r); else pixels = uvec4( imageLoad(shadow_texture_nx, i00).r, imageLoad(shadow_texture_nx, i10).r, imageLoad(shadow_texture_nx, i01).r, imageLoad(shadow_texture_nx, i11).r); } else if (a.y > a.z) { if (c.y > 0.0) pixels = uvec4( imageLoad(shadow_texture_py, i00).r, imageLoad(shadow_texture_py, i10).r, imageLoad(shadow_texture_py, i01).r, imageLoad(shadow_texture_py, i11).r); else pixels = uvec4( imageLoad(shadow_texture_ny, i00).r, imageLoad(shadow_texture_ny, i10).r, imageLoad(shadow_texture_ny, i01).r, imageLoad(shadow_texture_ny, i11).r); } else { if (c.z > 0.0) pixels = uvec4( imageLoad(shadow_texture_pz, i00).r, imageLoad(shadow_texture_pz, i10).r, imageLoad(shadow_texture_pz, i01).r, imageLoad(shadow_texture_pz, i11).r); else pixels = uvec4( imageLoad(shadow_texture_nz, i00).r, imageLoad(shadow_texture_nz, i10).r, imageLoad(shadow_texture_nz, i01).r, imageLoad(shadow_texture_nz, i11).r); } vec4 s = vec4( CompareShadow(pixels.x, z), CompareShadow(pixels.y, z), CompareShadow(pixels.z, z), CompareShadow(pixels.w, z)); return vec4(mix2(s, f)); } void main() { vec4 rounded_primary_color = byteround(primary_color); vec4 primary_fragment_color = vec4(0.0); vec4 secondary_fragment_color = vec4(0.0); float z_over_w = 2.0 * gl_FragCoord.z - 1.0; float depth = z_over_w * depth_scale + depth_offset; vec4 combiner_buffer = vec4(0.0); vec4 next_combiner_buffer = tev_combiner_buffer_color; vec4 last_tex_env_out = vec4(0.0); vec3 color_results_0_1 = rounded_primary_color.rgb; vec3 color_results_0_2 = textureLod(tex0, texcoord0, getLod(texcoord0 * vec2(textureSize(tex0, 0)))).rgb; vec3 color_results_0_3 = const_color[0].rgb; vec3 color_results_0[3] = vec3[3](color_results_0_1, color_results_0_2, color_results_0_3); vec3 color_output_0 = byteround(clamp(color_results_0[0], vec3(0.0), vec3(1.0))); float alpha_results_0[3] = float[3](rounded_primary_color.a, textureLod(tex0, texcoord0, getLod(texcoord0 * vec2(textureSize(tex0, 0)))).a, const_color[0].a); float alpha_output_0 = byteround(clamp(alpha_results_0[0], 0.0, 1.0)); last_tex_env_out = vec4(clamp(color_output_0 * 1.0, vec3(0.0), vec3(1.0)), clamp(alpha_output_0 * 1.0, 0.0, 1.0)); combiner_buffer = next_combiner_buffer; combiner_buffer = next_combiner_buffer; combiner_buffer = next_combiner_buffer; combiner_buffer = next_combiner_buffer; combiner_buffer = next_combiner_buffer; combiner_buffer = next_combiner_buffer; gl_FragDepth = depth; color = byteround(last_tex_env_out); } [ 59.106521] Render.OpenGL video_core/renderer_opengl/gl_shader_util.cpp:LoadProgram:102: Error linking shader: [ 59.106534] Debug video_core/renderer_opengl/gl_shader_util.cpp:operator():106: Assertion Failed! Shader not linked