diff options
| author | 2021-06-11 00:33:33 -0400 | |
|---|---|---|
| committer | 2021-07-22 21:51:38 -0400 | |
| commit | 4759db28d0b98c79f9a630b63ba13c4cd0df9109 (patch) | |
| tree | 3cc20c600bf0733f464e3c844688b1cef766e191 /src/shader_recompiler/backend/glsl/emit_glsl_composite.cpp | |
| parent | glsl: Reorganize backend code, remove unneeded [[maybe_unused]] (diff) | |
| download | yuzu-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.cpp | 9 |
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 { | |||
| 13 | constexpr std::string_view SWIZZLE{"xyzw"}; | 13 | constexpr std::string_view SWIZZLE{"xyzw"}; |
| 14 | void CompositeInsert(EmitContext& ctx, std::string_view result, std::string_view composite, | 14 | void 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 | ||