From 76d61407977b61b9d474eac578ed45ed7e39f33d Mon Sep 17 00:00:00 2001
From: fleroviux <fleroviux@gmail.com>
Date: Sat, 17 Jun 2023 00:12:07 +0200
Subject: [PATCH] [GPU] Fix order of operands to mix() in the interpolation
 combine mode.

---
 src/core/renderer_gl/renderer_gl.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/core/renderer_gl/renderer_gl.cpp b/src/core/renderer_gl/renderer_gl.cpp
index 1a75ab0f..204b3d52 100644
--- a/src/core/renderer_gl/renderer_gl.cpp
+++ b/src/core/renderer_gl/renderer_gl.cpp
@@ -139,7 +139,7 @@ const char* fragmentShader = R"(
 			case 1u: result.rgb = source0.rgb * source1.rgb; break; // Modulate
 			case 2u: result.rgb = min(vec3(1.0), source0.rgb + source1.rgb); break; // Add
 			case 3u: result.rgb = clamp(source0.rgb + source1.rgb - 0.5, vec3(0.0), vec3(1.0)); break; // Add signed
-			case 4u: result.rgb = mix(source0.rgb, source1.rgb, source2.rgb); break; // Interpolate
+			case 4u: result.rgb = mix(source1.rgb, source0.rgb, source2.rgb); break; // Interpolate
 			case 5u: result.rgb = max(vec3(0.0), source0.rgb - source1.rgb); break; // Subtract
 			case 6u: result.rgb = vec3(dot(source0.rgb, source1.rgb)); break; // Dot3 RGB
 			case 7u: result.rgb = vec3(dot(source0, source1)); break; // Dot3 RGBA, TODO: not sure if this is correct?
@@ -153,7 +153,7 @@ const char* fragmentShader = R"(
 			case 1u: result.a = source0.a * source1.a; break; // Modulate
 			case 2u: result.a = min(1.0, source0.a + source1.a); break; // Add
 			case 3u: result.a = clamp(source0.a + source1.a - 0.5, 0.0, 1.0); break; // Add signed
-			case 4u: result.a = mix(source0.a, source1.a, source2.a); break; // Interpolate
+			case 4u: result.a = mix(source1.a, source0.a, source2.a); break; // Interpolate
 			case 5u: result.a = max(0.0, source0.a - source1.a); break; // Subtract
 			case 6u: result.a = dot(source0.rgb, source1.rgb); break; // Dot3 RGB
 			case 7u: result.a = dot(source0, source1); break; // Dot3 RGBA, TODO: not sure if this is correct?