summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend/glsl/emit_glsl_composite.cpp
diff options
context:
space:
mode:
authorGravatar ameerj2021-06-11 00:33:33 -0400
committerGravatar ameerj2021-07-22 21:51:38 -0400
commit4759db28d0b98c79f9a630b63ba13c4cd0df9109 (patch)
tree3cc20c600bf0733f464e3c844688b1cef766e191 /src/shader_recompiler/backend/glsl/emit_glsl_composite.cpp
parentglsl: Reorganize backend code, remove unneeded [[maybe_unused]] (diff)
downloadyuzu-4759db28d0b98c79f9a630b63ba13c4cd0df9109.tar.gz
yuzu-4759db28d0b98c79f9a630b63ba13c4cd0df9109.tar.xz
yuzu-4759db28d0b98c79f9a630b63ba13c4cd0df9109.zip
glsl: Address Rodrigo's feedback
Diffstat (limited to 'src/shader_recompiler/backend/glsl/emit_glsl_composite.cpp')
-rw-r--r--src/shader_recompiler/backend/glsl/emit_glsl_composite.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_composite.cpp b/src/shader_recompiler/backend/glsl/emit_glsl_composite.cpp
index 954fc67b1..7421ce97d 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 {
13constexpr std::string_view SWIZZLE{"xyzw"}; 13constexpr std::string_view SWIZZLE{"xyzw"};
14void CompositeInsert(EmitContext& ctx, std::string_view result, std::string_view composite, 14void CompositeInsert(EmitContext& ctx, std::string_view result, std::string_view composite,
15 std::string_view object, u32 index) { 15 std::string_view object, u32 index) {
16 ctx.Add("{}={};", result, composite); 16 if (result == composite) {
17 ctx.Add("{}.{}={};", result, SWIZZLE[index], object); 17 // The result is aliased with the composite
18 ctx.Add("{}.{}={};", composite, SWIZZLE[index], object);
19 } else {
20 ctx.Add("{}={};", result, composite);
21 ctx.Add("{}.{}={};", result, SWIZZLE[index], object);
22 }
18} 23}
19} // Anonymous namespace 24} // Anonymous namespace
20 25