diff options
| author | 2021-06-03 22:25:06 -0400 | |
|---|---|---|
| committer | 2021-07-22 21:51:37 -0400 | |
| commit | 0a0b0a73d82057a309b6b0427c29c7e15e2b356f (patch) | |
| tree | 0982ab6ae4b27b69a97cad77beb551e9508d537e /src/shader_recompiler/backend/glsl/emit_glsl_atomic.cpp | |
| parent | glsl: Cleanup and address feedback (diff) | |
| download | yuzu-0a0b0a73d82057a309b6b0427c29c7e15e2b356f.tar.gz yuzu-0a0b0a73d82057a309b6b0427c29c7e15e2b356f.tar.xz yuzu-0a0b0a73d82057a309b6b0427c29c7e15e2b356f.zip | |
glsl: Fix <32-bit SSBO writes
and more cleanup
Diffstat (limited to 'src/shader_recompiler/backend/glsl/emit_glsl_atomic.cpp')
| -rw-r--r-- | src/shader_recompiler/backend/glsl/emit_glsl_atomic.cpp | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/shader_recompiler/backend/glsl/emit_glsl_atomic.cpp b/src/shader_recompiler/backend/glsl/emit_glsl_atomic.cpp index 5ba39261b..1568bb7cf 100644 --- a/src/shader_recompiler/backend/glsl/emit_glsl_atomic.cpp +++ b/src/shader_recompiler/backend/glsl/emit_glsl_atomic.cpp | |||
| @@ -11,11 +11,8 @@ | |||
| 11 | 11 | ||
| 12 | namespace Shader::Backend::GLSL { | 12 | namespace Shader::Backend::GLSL { |
| 13 | namespace { | 13 | namespace { |
| 14 | constexpr const char cas_loop[]{R"(for (;;){{ | 14 | constexpr char cas_loop[]{ |
| 15 | uint old_value={}; | 15 | "for (;;){{uint old={};{}=atomicCompSwap({},old,{}({},{}));if({}==old){{break;}}}}"}; |
| 16 | {}=atomicCompSwap({},old_value,{}({},{})); | ||
| 17 | if ({}==old_value){{break;}} | ||
| 18 | }})"}; | ||
| 19 | 16 | ||
| 20 | void SharedCasFunction(EmitContext& ctx, IR::Inst& inst, std::string_view offset, | 17 | void SharedCasFunction(EmitContext& ctx, IR::Inst& inst, std::string_view offset, |
| 21 | std::string_view value, std::string_view function) { | 18 | std::string_view value, std::string_view function) { |