summaryrefslogtreecommitdiffstats
path: root/src/video_core
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2020-03-12 21:43:03 +0100
committerReinUsesLisp <reinuseslisp@airmail.cc>2020-03-12 22:10:29 +0100
commit38fe070d78324afd735709a70fc52b97f84bca1e (patch)
tree788a0276c669a51b22d74d69b05ab6adb2b49ee5 /src/video_core
parentMerge pull request #3494 from ReinUsesLisp/fix-cs-pipeline (diff)
downloadyuzu-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 'src/video_core')
-rw-r--r--src/video_core/renderer_opengl/gl_shader_decompiler.cpp15
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 += ", ";