From 4759db28d0b98c79f9a630b63ba13c4cd0df9109 Mon Sep 17 00:00:00 2001
From: ameerj <52414509+ameerj@users.noreply.github.com>
Date: Fri, 11 Jun 2021 00:33:33 -0400
Subject: glsl: Address Rodrigo's feedback

---
 src/shader_recompiler/backend/glsl/emit_glsl_composite.cpp | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

(limited to 'src/shader_recompiler/backend/glsl/emit_glsl_composite.cpp')

diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_composite.cpp b/src/shader_recompiler/backend/glsl/emit_glsl_composite.cpp
index 954fc67b1b..7421ce97d0 100644
--- a/src/shader_recompiler/backend/glsl/emit_glsl_composite.cpp
+++ b/src/shader_recompiler/backend/glsl/emit_glsl_composite.cpp
@@ -13,8 +13,13 @@ namespace {
 constexpr std::string_view SWIZZLE{"xyzw"};
 void CompositeInsert(EmitContext& ctx, std::string_view result, std::string_view composite,
                      std::string_view object, u32 index) {
-    ctx.Add("{}={};", result, composite);
-    ctx.Add("{}.{}={};", result, SWIZZLE[index], object);
+    if (result == composite) {
+        // The result is aliased with the composite
+        ctx.Add("{}.{}={};", composite, SWIZZLE[index], object);
+    } else {
+        ctx.Add("{}={};", result, composite);
+        ctx.Add("{}.{}={};", result, SWIZZLE[index], object);
+    }
 }
 } // Anonymous namespace
 
-- 
cgit v1.2.3-70-g09d2