From ccbde0196ef24e4512b445e3c0a17b6686b2698f Mon Sep 17 00:00:00 2001 From: Swung0x48 Date: Sat, 21 Mar 2026 23:07:27 +0800 Subject: [PATCH] [Fix] (MG_Test/ProgramTest): fix wrong decomp source output --- MobileGL/MG_Test/Program/ProgramTest.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/MobileGL/MG_Test/Program/ProgramTest.cpp b/MobileGL/MG_Test/Program/ProgramTest.cpp index 1da44ad5..cc571775 100644 --- a/MobileGL/MG_Test/Program/ProgramTest.cpp +++ b/MobileGL/MG_Test/Program/ProgramTest.cpp @@ -1063,6 +1063,7 @@ float fog_cylindrical_distance(vec3 pos) { return max(distXZ, distY); } +uniform float fTime; layout(std140) uniform Globals { ivec3 CameraBlockPos; @@ -1165,7 +1166,7 @@ vec4 sampleRGSS(sampler2D source, vec2 uv, vec2 pixelSize) { void main() { vec4 color = (UseRgss == 1 ? sampleRGSS(Sampler0, texCoord0, 1.0f / TextureSize) : sampleNearest(Sampler0, texCoord0, 1.0f / TextureSize)) * vertexColor; - color = mix(FogColor * vec4(1, 1, 1, color.a), color, ChunkVisibility); + color = mix(FogColor * vec4(1, 1, 1, color.a * fTime), color, ChunkVisibility); #ifdef ALPHA_CUTOUT if (color.a < ALPHA_CUTOUT) { discard; @@ -1207,8 +1208,7 @@ TEST_F(ProgramTest, CompileShaderWithSamplerAsVarName) { auto programObject = MG_State::pGLContext->GetCurrentProgram(); auto& spirvs = programObject->GetGeneratedSpirv(); - auto& fragSpirv = spirvs[0]; // 0 - fragment, 1 - vertex - char* pSrcfragOut = nullptr; + auto& fragSpirv = spirvs[programObject->GetShaderIndexByStage(ShaderStage::Fragment)]; MG_Util::ShaderTranspiler::SpvcSession spvcSession(fragSpirv); spvc_compiler_options options; spvcSession.CreateOptions(&options); @@ -1221,5 +1221,5 @@ TEST_F(ProgramTest, CompileShaderWithSamplerAsVarName) { const char* result = nullptr; spvcSession.Compile(&result); - printf("%s\n\n", result); + printf("decomp from fragSpirv:\n%s\n\n", result); }