summaryrefslogtreecommitdiffstats
path: root/src/video_core/shader/glsl_decompiler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/shader/glsl_decompiler.cpp')
-rw-r--r--src/video_core/shader/glsl_decompiler.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/video_core/shader/glsl_decompiler.cpp b/src/video_core/shader/glsl_decompiler.cpp
index 8a2cc3c31..2e9323df7 100644
--- a/src/video_core/shader/glsl_decompiler.cpp
+++ b/src/video_core/shader/glsl_decompiler.cpp
@@ -1012,6 +1012,11 @@ private:
return GenerateUnary(operation, "!", Type::Bool, Type::Bool, false);
}
+ std::string LogicalPick2(Operation operation) {
+ const std::string pair = VisitOperand(operation, 0, Type::Bool2);
+ return pair + '[' + VisitOperand(operation, 1, Type::Uint) + ']';
+ }
+
std::string LogicalAll2(Operation operation) {
return GenerateUnary(operation, "all", Type::Bool, Type::Bool2);
}
@@ -1306,6 +1311,7 @@ private:
&LogicalOr,
&LogicalXor,
&LogicalNegate,
+ &LogicalPick2,
&LogicalAll2,
&LogicalAny2,