diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2020-03-12 21:43:03 +0100 |
---|---|---|
committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2020-03-12 22:10:29 +0100 |
commit | 38fe070d78324afd735709a70fc52b97f84bca1e (patch) | |
tree | 788a0276c669a51b22d74d69b05ab6adb2b49ee5 /src/video_core/renderer_opengl/gl_shader_decompiler.cpp | |
parent | Merge pull request #3494 from ReinUsesLisp/fix-cs-pipeline (diff) | |
download | yuzu-38fe070d78324afd735709a70fc52b97f84bca1e.tar yuzu-38fe070d78324afd735709a70fc52b97f84bca1e.tar.gz yuzu-38fe070d78324afd735709a70fc52b97f84bca1e.tar.bz2 yuzu-38fe070d78324afd735709a70fc52b97f84bca1e.tar.lz yuzu-38fe070d78324afd735709a70fc52b97f84bca1e.tar.xz yuzu-38fe070d78324afd735709a70fc52b97f84bca1e.tar.zst yuzu-38fe070d78324afd735709a70fc52b97f84bca1e.zip |
Diffstat (limited to '')
-rw-r--r-- | src/video_core/renderer_opengl/gl_shader_decompiler.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp index 3a41ed30c..b148aa057 100644 --- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp +++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp @@ -1822,16 +1822,19 @@ private: expr += GetSampler(meta->sampler); expr += ", "; - expr += constructors.at(operation.GetOperandsCount() - 1); + expr += constructors.at(operation.GetOperandsCount() + (meta->array ? 1 : 0) - 1); expr += '('; for (std::size_t i = 0; i < count; ++i) { - expr += VisitOperand(operation, i).AsInt(); - const std::size_t next = i + 1; - if (next == count) - expr += ')'; - else if (next < count) + if (i > 0) { expr += ", "; + } + expr += VisitOperand(operation, i).AsInt(); } + if (meta->array) { + expr += ", "; + expr += Visit(meta->array).AsInt(); + } + expr += ')'; if (meta->lod && !meta->sampler.IsBuffer()) { expr += ", "; |