summaryrefslogtreecommitdiffstats
path: root/src/video_core/shader/shader_ir.h
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2018-12-21 03:01:03 +0100
committerReinUsesLisp <reinuseslisp@airmail.cc>2019-01-15 21:54:49 +0100
commitbf07272695b718d09f8ef532539ba625dab01d3c (patch)
tree756b0848eb8b0e94b4e650a2b3371a32e46b63a4 /src/video_core/shader/shader_ir.h
parentshader_ir: Add half float helpers (diff)
downloadyuzu-bf07272695b718d09f8ef532539ba625dab01d3c.tar
yuzu-bf07272695b718d09f8ef532539ba625dab01d3c.tar.gz
yuzu-bf07272695b718d09f8ef532539ba625dab01d3c.tar.bz2
yuzu-bf07272695b718d09f8ef532539ba625dab01d3c.tar.lz
yuzu-bf07272695b718d09f8ef532539ba625dab01d3c.tar.xz
yuzu-bf07272695b718d09f8ef532539ba625dab01d3c.tar.zst
yuzu-bf07272695b718d09f8ef532539ba625dab01d3c.zip
Diffstat (limited to 'src/video_core/shader/shader_ir.h')
-rw-r--r--src/video_core/shader/shader_ir.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/video_core/shader/shader_ir.h b/src/video_core/shader/shader_ir.h
index f3b17d2eb..372ed10da 100644
--- a/src/video_core/shader/shader_ir.h
+++ b/src/video_core/shader/shader_ir.h
@@ -660,6 +660,15 @@ private:
/// Conditionally absolute/negated half float pair. Absolute is applied first
Node GetOperandAbsNegHalf(Node value, bool absolute, bool negate);
+ /// Returns a predicate comparing two floats
+ Node GetPredicateComparisonFloat(Tegra::Shader::PredCondition condition, Node op_a, Node op_b);
+ /// Returns a predicate comparing two integers
+ Node GetPredicateComparisonInteger(Tegra::Shader::PredCondition condition, bool is_signed,
+ Node op_a, Node op_b);
+ /// Returns a predicate comparing two half floats. meta consumes how both pairs will be compared
+ Node GetPredicateComparisonHalf(Tegra::Shader::PredCondition condition,
+ const MetaHalfArithmetic& meta, Node op_a, Node op_b);
+
template <typename... T>
inline Node Operation(OperationCode code, const T*... operands) {
return StoreNode(OperationNode(code, operands...));