Skip to content

Instantly share code, notes, and snippets.

@peacepenguin
Created July 11, 2022 17:38
Show Gist options
  • Save peacepenguin/3541255f8c8b062dc1f10b6ea35c7111 to your computer and use it in GitHub Desktop.
Save peacepenguin/3541255f8c8b062dc1f10b6ea35c7111 to your computer and use it in GitHub Desktop.
[ 0.005533] Config <Info> core/settings.cpp:LogSettings:80: Citra Configuration:
[ 0.005537] Config <Info> core/settings.cpp:operator():77: Core_UseCpuJit: true
[ 0.005538] Config <Info> core/settings.cpp:operator():77: Core_CPUClockPercentage: 100
[ 0.005538] Config <Info> core/settings.cpp:operator():77: Renderer_UseGLES: false
[ 0.005538] Config <Info> core/settings.cpp:operator():77: Renderer_UseHwRenderer: true
[ 0.005539] Config <Info> core/settings.cpp:operator():77: Renderer_UseHwShader: true
[ 0.005539] Config <Info> core/settings.cpp:operator():77: Renderer_SeparableShader: false
[ 0.005540] Config <Info> core/settings.cpp:operator():77: Renderer_ShadersAccurateMul: true
[ 0.005540] Config <Info> core/settings.cpp:operator():77: Renderer_UseShaderJit: true
[ 0.005541] Config <Info> core/settings.cpp:operator():77: Renderer_UseResolutionFactor: 1
[ 0.005541] Config <Info> core/settings.cpp:operator():77: Renderer_FrameLimit: 100
[ 0.005541] Config <Info> core/settings.cpp:operator():77: Renderer_UseFrameLimitAlternate: false
[ 0.005542] Config <Info> core/settings.cpp:operator():77: Renderer_FrameLimitAlternate: 200
[ 0.005542] Config <Info> core/settings.cpp:operator():77: Renderer_VSyncNew: true
[ 0.005542] Config <Info> core/settings.cpp:operator():77: Renderer_PostProcessingShader: none (builtin)
[ 0.005542] Config <Info> core/settings.cpp:operator():77: Renderer_FilterMode: true
[ 0.005543] Config <Info> core/settings.cpp:operator():77: Renderer_TextureFilterName: none
[ 0.005543] Config <Info> core/settings.cpp:operator():77: Stereoscopy_Render3d: 0
[ 0.005543] Config <Info> core/settings.cpp:operator():77: Stereoscopy_Factor3d: 0
[ 0.005543] Config <Info> core/settings.cpp:operator():77: Layout_LayoutOption: 0
[ 0.005544] Config <Info> core/settings.cpp:operator():77: Layout_SwapScreen: false
[ 0.005545] Config <Info> core/settings.cpp:operator():77: Layout_UprightScreen: false
[ 0.005545] Config <Info> core/settings.cpp:operator():77: Utility_DumpTextures: false
[ 0.005546] Config <Info> core/settings.cpp:operator():77: Utility_CustomTextures: false
[ 0.005546] Config <Info> core/settings.cpp:operator():77: Utility_UseDiskShaderCache: true
[ 0.005546] Config <Info> core/settings.cpp:operator():77: Audio_EnableDspLle: false
[ 0.005546] Config <Info> core/settings.cpp:operator():77: Audio_EnableDspLleMultithread: false
[ 0.005547] Config <Info> core/settings.cpp:operator():77: Audio_OutputEngine: auto
[ 0.005547] Config <Info> core/settings.cpp:operator():77: Audio_EnableAudioStretching: true
[ 0.005547] Config <Info> core/settings.cpp:operator():77: Audio_OutputDevice: auto
[ 0.005547] Config <Info> core/settings.cpp:operator():77: Audio_InputDeviceType: 0
[ 0.005547] Config <Info> core/settings.cpp:operator():77: Audio_InputDevice: Default
[ 0.005548] Config <Info> core/settings.cpp:operator():77: Camera_OuterRightName: blank
[ 0.005548] Config <Info> core/settings.cpp:operator():77: Camera_OuterRightConfig:
[ 0.005548] Config <Info> core/settings.cpp:operator():77: Camera_OuterRightFlip: 0
[ 0.005548] Config <Info> core/settings.cpp:operator():77: Camera_InnerName: blank
[ 0.005549] Config <Info> core/settings.cpp:operator():77: Camera_InnerConfig:
[ 0.005549] Config <Info> core/settings.cpp:operator():77: Camera_InnerFlip: 0
[ 0.005549] Config <Info> core/settings.cpp:operator():77: Camera_OuterLeftName: blank
[ 0.005549] Config <Info> core/settings.cpp:operator():77: Camera_OuterLeftConfig:
[ 0.005550] Config <Info> core/settings.cpp:operator():77: Camera_OuterLeftFlip: 0
[ 0.005550] Config <Info> core/settings.cpp:operator():77: DataStorage_UseVirtualSd: true
[ 0.005550] Config <Info> core/settings.cpp:operator():77: DataStorage_SdmcDir: C:\inbox\citra-windows-mingw-20220711-39584f2\canary-mingw/user/sdmc/
[ 0.005551] Config <Info> core/settings.cpp:operator():77: DataStorage_NandDir: C:\inbox\citra-windows-mingw-20220711-39584f2\canary-mingw/user/nand/
[ 0.005551] Config <Info> core/settings.cpp:operator():77: System_IsNew3ds: true
[ 0.005551] Config <Info> core/settings.cpp:operator():77: System_RegionValue: -1
[ 0.005551] Config <Info> core/settings.cpp:operator():77: Debugging_UseGdbstub: false
[ 0.005552] Config <Info> core/settings.cpp:operator():77: Debugging_GdbstubPort: 24689
[ 0.133386] Input <Info> input_common/udp/client.cpp:StartCommunication:207: Starting communication with UDP input server on 127.0.0.1:26760
[ 0.437434] Frontend <Info> citra_qt/main.cpp:GMainWindow:197: Citra Version: Canary 2199 | HEAD-39584f2
[ 0.437445] Frontend <Info> citra_qt/main.cpp:GMainWindow:213: Host CPU: AMD Ryzen 9 5900X 12-Core Processor | AVX2 | FMA
[ 0.437462] Frontend <Info> citra_qt/main.cpp:GMainWindow:215: Host OS: Windows 10 (10.0)
[ 2.347801] Frontend <Warning> citra_qt/main.cpp:CheckForUpdates:841: Unable to start check for updates
[ 13.986153] Frontend <Info> citra_qt/main.cpp:BootGame:1031: Citra starting...
[ 14.065515] Audio.DSP <Info> audio_core/hle/wmf_decoder.cpp:Impl:67: Media Foundation activated
[ 14.066418] Audio.DSP <Info> audio_core/hle/wmf_decoder_utils.cpp:MFDecoderInit:50: Windows(R) Media Foundation found 1 suitable decoder(s)
[ 14.159038] Audio.Sink <Info> audio_core/cubeb_sink.cpp:StateCallback:137: Cubeb Audio Stream Started
[ 14.159050] RPC_Server <Info> core/rpc/rpc_server.cpp:RPCServer:12: Starting RPC server ...
[ 14.159136] RPC_Server <Info> core/rpc/rpc_server.cpp:HandleRequestsLoop:113: Request handler started.
[ 14.159178] RPC_Server <Info> core/rpc/rpc_server.cpp:RPCServer:16: RPC started.
[ 14.164276] Service.FS <Error> core/file_sys/savedata_archive.cpp:OpenFile:77: Non-existing file C:\inbox\citra-windows-mingw-20220711-39584f2\canary-mingw/user/nand/data/00000000000000000000000000000000/sysdata/00010017/00000000/config can't be open without mode create.
[ 14.164338] Service.FS <Error> core/file_sys/savedata_archive.cpp:DeleteFile:120: File not found C:\inbox\citra-windows-mingw-20220711-39584f2\canary-mingw/user/nand/data/00000000000000000000000000000000/sysdata/00010017/00000000/config
[ 14.167410] Service.HTTP <Error> core/hle/service/http_c.cpp:DecryptClCertA:806: ClCertA file missing
[ 14.189984] Render.OpenGL <Info> video_core/renderer_opengl/renderer_opengl.cpp:Init:1261: GL_VERSION: 3.3.0 Core Profile Context 22.20.01.02.220615
[ 14.189988] Render.OpenGL <Info> video_core/renderer_opengl/renderer_opengl.cpp:Init:1262: GL_VENDOR: ATI Technologies Inc.
[ 14.189989] Render.OpenGL <Info> video_core/renderer_opengl/renderer_opengl.cpp:Init:1263: GL_RENDERER: AMD Radeon RX 6800 XT
[ 14.229309] Render.OpenGL <Info> video_core/renderer_opengl/gl_format_reinterpreter.cpp:ShaderD24S8toRGBA8:291: Texture views are unsupported, reinterpretation will do intermediate copy
[ 14.229316] Render.OpenGL <Info> video_core/renderer_opengl/gl_format_reinterpreter.cpp:FormatReinterpreterOpenGL:378: Using shader for D24S8 to RGBA8 reinterpretation
[ 14.231075] Render.OpenGL <Warning> video_core/renderer_opengl/gl_rasterizer.cpp:RasterizerOpenGL:61: Shadow might not be able to render because of unsupported OpenGL extensions.
[ 14.233192] Loader <Info> core/loader/ncch.cpp:Load:192: Program ID: 0004000000062300
[ 14.233238] Service.FS <Warning> core/file_sys/ncch_container.cpp:OpenFile:130: Failed to open C:\inbox\citra-windows-mingw-20220711-39584f2\canary-mingw/user/sdmc/Nintendo 3DS/00000000000000000000000000000000/00000000000000000000000000000000/title/0004000e/00062300/content/00000000.app
[ 14.261377] Loader <Info> core/hle/kernel/process.cpp:ParseKernelCaps:141: ExHeader kernel version: 2.30
[ 14.262388] Service.FS <Info> core/file_sys/ncch_container.cpp:LoadSectionExeFS:505: Attempting to load logo from the ExeFS
[ 14.263517] Service.CFG <Info> core/hle/service/cfg/cfg.cpp:SetPreferredRegionCodes:656: Preferred region code set to 1
[ 14.272094] Render.OpenGL <Info> video_core/renderer_opengl/gl_shader_disk_cache.cpp:LoadTransferable:117: No transferable shader cache found for game with title id=0004000000062300
[ 14.331350] Service.SRV <Warning> core/hle/service/sm/srv.cpp:RegisterClient:63: (STUBBED) called. Caller PID=11
[ 14.331496] Service.SRV <Warning> core/hle/service/sm/srv.cpp:EnableNotification:85: (STUBBED) called
[ 14.333044] Service.APT <Warning> core/hle/service/apt/apt.cpp:GetLockHandle:317: (STUBBED) called applet_attributes=0X00000000
[ 14.335418] Service.NDM <Warning> core/hle/service/ndm/ndm_u.cpp:OverrideDefaultDaemons:186: (STUBBED) bit_mask=0x0000000F
[ 14.335942] Service.NDM <Warning> core/hle/service/ndm/ndm_u.cpp:SuspendDaemons:74: (STUBBED) bit_mask=0x00000006
[ 14.338079] Service.FS <Error> ./core/file_sys/archive_backend.h:GetOpenDelayNs:193: Delay generator was not initalized. Using default
[ 14.342819] Service.APT <Warning> core/hle/service/apt/apt.cpp:NotifyToWait:296: (STUBBED) app_id=768
[ 14.344629] Service.APT <Warning> core/hle/service/apt/apt.cpp:AppletUtility:590: (STUBBED) called command=0X00000007, input_size=0X00000004, output_size=0X00000001
[ 14.344880] Service.APT <Warning> core/hle/service/apt/apt.cpp:AppletUtility:590: (STUBBED) called command=0X00000004, input_size=0X00000001, output_size=0X00000001
[ 14.346630] Service.FS <Error> core/file_sys/savedata_archive.cpp:CreateFile:233: C:\inbox\citra-windows-mingw-20220711-39584f2\canary-mingw/user/nand/data/00000000000000000000000000000000/extdata/00048000/F000000B/user/gamecoin.dat already exists
[ 15.311189] Service.GSP <Warning> core/hle/service/gsp/gsp_gpu.cpp:AcquireRight:705: called flag=00000000 process=11 thread_id=0
[ 15.322682] Render.OpenGL <Error> video_core/renderer_opengl/gl_rasterizer_cache.cpp:MortonCopy:188: Out of bound texture
[ 15.404709] Service.DSP <Info> audio_core/hle/hle.cpp:LoadComponent:496: Firmware hash: 0x29a93a8a5fcbb06a
[ 15.404713] Service.DSP <Info> audio_core/hle/hle.cpp:LoadComponent:500: Structures hash: 0xd194fc96db654a27
[ 15.404715] Service.DSP <Info> core/hle/service/dsp/dsp_dsp.cpp:LoadComponent:188: called size=0xBE34, prog_mask=0x000000FF, data_mask=0x000E00FF
[ 15.405111] Service.DSP <Info> core/hle/service/dsp/dsp_dsp.cpp:RegisterInterruptEvents:254: Registered interrupt=2, channel=2, event=event-0039ddb8
[ 15.405278] Service.DSP <Warning> core/hle/service/dsp/dsp_dsp.cpp:GetSemaphoreEventHandle:271: (STUBBED) called
[ 15.405425] Service.DSP <Warning> core/hle/service/dsp/dsp_dsp.cpp:SetSemaphoreMask:281: (STUBBED) called mask=0x2000
[ 15.405675] Audio.DSP <Info> audio_core/hle/hle.cpp:PipeWrite:257: Application has requested initialization of DSP hardware
[ 15.405780] Service.DSP <Info> core/hle/service/dsp/dsp_dsp.cpp:SetSemaphore:57: called, semaphore_value=4000
[ 15.408344] Service.DSP <Info> core/hle/service/dsp/dsp_dsp.cpp:SetSemaphore:57: called, semaphore_value=4000
[ 15.966442] Service.FS <Error> core/file_sys/archive_extsavedata.cpp:OpenFile:141: C:\inbox\citra-windows-mingw-20220711-39584f2\canary-mingw/user/nand/data/00000000000000000000000000000000/extdata/00048000/F000000B/user/ubll.lst not found
[ 15.966447] Service.FS <Error> core/hle/service/fs/fs_user.cpp:OpenFile:77: failed to get a handle for file [Wchar: /ubll.lst]
[ 15.978810] Service.FS <Error> core/file_sys/archive_extsavedata.cpp:OpenFile:141: C:\inbox\citra-windows-mingw-20220711-39584f2\canary-mingw/user/nand/data/00000000000000000000000000000000/extdata/00048000/F000000B/user/ublg.lst not found
[ 15.978814] Service.FS <Error> core/hle/service/fs/fs_user.cpp:OpenFile:77: failed to get a handle for file [Wchar: /ublg.lst]
[ 15.979696] Service.APT <Warning> core/hle/service/apt/apt.cpp:AppletUtility:590: (STUBBED) called command=0X00000004, input_size=0X00000001, output_size=0X00000001
[ 16.712591] Service.FS <Error> core/hle/service/fs/fs_user.cpp:OpenArchive:335: failed to get a handle for archive archive_id=0x00000004 archive_path=[Empty]
[ 16.802739] Render.OpenGL <Error> video_core/renderer_opengl/gl_shader_util.cpp:LoadShader:63: Error compiling fragment shader:
ERROR: 0:151: 'imageSize' : no matching overloaded function found
ERROR: 0:151: '' : missing #endif
ERROR: 0:151: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.
[ 16.802744] Render.OpenGL <Error> video_core/renderer_opengl/gl_shader_util.cpp:LoadShader:65: Shader source code:
#version 330
#extension GL_ARB_shader_image_load_store : enable
#extension GL_ARB_shader_image_size : enable
#if defined(GL_ARB_shader_image_load_store) && defined(GL_ARB_shader_image_size)
#define ALLOW_SHADOW 1
#endif
#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;
#ifdef ALLOW_SHADOW
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;
#endif
#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;
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;
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));
}
#ifdef ALLOW_SHADOW
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));
}
#else
vec4 shadowTexture(vec2 uv, float w) {
return vec4(1.0);
}
vec4 shadowTextureCube(vec2 uv, float w) {
return vec4(1.0);
}
#endif
void main() {
vec4 rounded_primary_color = byteround(primary_color);
vec4 primary_fragment_color = vec4(0.0);
vec4 secondary_fragment_color = vec4(0.0);
if (!(gl_FragCoord.x >= float(scissor_x1) && gl_FragCoord.y >= float(scissor_y1) && gl_FragCoord.x < float(scissor_x2) && gl_FragCoord.y < float(scissor_y2))) discard;
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 = last_tex_env_out.rgb;
vec3 color_results_0_3 = last_tex_env_out.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, last_tex_env_out.a, last_tex_env_out.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);
}
[ 16.802750] Render.OpenGL <Error> video_core/renderer_opengl/gl_shader_util.cpp:LoadProgram:102: Error linking shader:
Program Link Failed for unknown reason.
[ 16.802750] Debug <Critical> video_core/renderer_opengl/gl_shader_util.cpp:operator():106: Assertion Failed!
Shader not linked
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment