summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar bunnei2020-03-17 10:53:38 -0400
committerGravatar GitHub2020-03-17 10:53:38 -0400
commit1c45c8086e316b16a526dc8ed5e1259d3725b45e (patch)
tree08d0b0f63157cac43f0d6389ea7442383d95079d
parentMerge pull request #3521 from ReinUsesLisp/nsight-debug (diff)
parentgl_shader_decompiler: Add layer component to texelFetch (diff)
downloadyuzu-1c45c8086e316b16a526dc8ed5e1259d3725b45e.tar.gz
yuzu-1c45c8086e316b16a526dc8ed5e1259d3725b45e.tar.xz
yuzu-1c45c8086e316b16a526dc8ed5e1259d3725b45e.zip
Merge pull request #3498 from ReinUsesLisp/texel-fetch-glsl
gl_shader_decompiler: Add layer component to texelFetch
-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 3adf7f0cb..849839fe3 100644
--- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
@@ -2009,16 +2009,19 @@ private:
2009 expr += GetSampler(meta->sampler); 2009 expr += GetSampler(meta->sampler);
2010 expr += ", "; 2010 expr += ", ";
2011 2011
2012 expr += constructors.at(operation.GetOperandsCount() - 1); 2012 expr += constructors.at(operation.GetOperandsCount() + (meta->array ? 1 : 0) - 1);
2013 expr += '('; 2013 expr += '(';
2014 for (std::size_t i = 0; i < count; ++i) { 2014 for (std::size_t i = 0; i < count; ++i) {
2015 expr += VisitOperand(operation, i).AsInt(); 2015 if (i > 0) {
2016 const std::size_t next = i + 1;
2017 if (next == count)
2018 expr += ')';
2019 else if (next < count)
2020 expr += ", "; 2016 expr += ", ";
2017 }
2018 expr += VisitOperand(operation, i).AsInt();
2021 } 2019 }
2020 if (meta->array) {
2021 expr += ", ";
2022 expr += Visit(meta->array).AsInt();
2023 }
2024 expr += ')';
2022 2025
2023 if (meta->lod && !meta->sampler.IsBuffer()) { 2026 if (meta->lod && !meta->sampler.IsBuffer()) {
2024 expr += ", "; 2027 expr += ", ";