diff --git a/src/Graphics/OpenGLContext/GLSL/glsl_CombinerProgramBuilder.cpp b/src/Graphics/OpenGLContext/GLSL/glsl_CombinerProgramBuilder.cpp index dfd02433..2c152aaa 100644 --- a/src/Graphics/OpenGLContext/GLSL/glsl_CombinerProgramBuilder.cpp +++ b/src/Graphics/OpenGLContext/GLSL/glsl_CombinerProgramBuilder.cpp @@ -1684,24 +1684,27 @@ public: " if (magnify && (uTextureDetail == 1 || uTextureDetail == 3)) \n" " lod_frac = 1.0 - lod_frac; \n" " if (uMaxTile == 0) { \n" - " if (uEnableLod != 0 && uTextureDetail < 2) \n" - " readtex1 = readtex0; \n" + " if (uEnableLod != 0) { \n" + " if (uTextureDetail < 2) readtex1 = readtex0; \n" + " else if (!magnify) readtex0 = readtex1; \n" + " } \n" " return lod_frac; \n" " } \n" " if (uEnableLod == 0) return lod_frac; \n" " \n" " lod_tile = min(lod_tile, fMaxTile); \n" " lowp float lod_tile_m1 = max(0.0, lod_tile - 1.0); \n" + " lowp float lod_tile_p1 = min(fMaxTile - 1.0, lod_tile + 1.0); \n" " lowp vec4 lodT = texture2DLodEXT(uTex1, vTexCoord1, lod_tile); \n" " lowp vec4 lodT_m1 = texture2DLodEXT(uTex1, vTexCoord1, lod_tile_m1); \n" - " lowp vec4 lodT_p1 = texture2DLodEXT(uTex1, vTexCoord1, lod_tile + 1.0); \n" + " lowp vec4 lodT_p1 = texture2DLodEXT(uTex1, vTexCoord1, lod_tile_p1); \n" " if (lod_tile < 1.0) { \n" " if (magnify) { \n" // !sharpen && !detail " if (uTextureDetail == 0) readtex1 = readtex0; \n" " } else { \n" // detail - " if (uTextureDetail > 1) { \n" + " if (uTextureDetail > 1) { \n" " readtex0 = lodT; \n" " readtex1 = lodT_p1; \n" " } \n"