diff options
author | Lioncash <mathew1800@gmail.com> | 2019-05-19 10:47:00 +0200 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2019-05-19 14:23:14 +0200 |
commit | 212b148923f1d2d193d79e75dde565cedc095252 (patch) | |
tree | 192d530fa48805357d615c5d6d45aec1d3c1743f | |
parent | shader/shader_ir: Remove unnecessary template parameter packs from Operation() overloads where applicable (diff) | |
download | yuzu-212b148923f1d2d193d79e75dde565cedc095252.tar yuzu-212b148923f1d2d193d79e75dde565cedc095252.tar.gz yuzu-212b148923f1d2d193d79e75dde565cedc095252.tar.bz2 yuzu-212b148923f1d2d193d79e75dde565cedc095252.tar.lz yuzu-212b148923f1d2d193d79e75dde565cedc095252.tar.xz yuzu-212b148923f1d2d193d79e75dde565cedc095252.tar.zst yuzu-212b148923f1d2d193d79e75dde565cedc095252.zip |
-rw-r--r-- | src/video_core/shader/shader_ir.h | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/src/video_core/shader/shader_ir.h b/src/video_core/shader/shader_ir.h index 5f3aef7ce..b93cde71a 100644 --- a/src/video_core/shader/shader_ir.h +++ b/src/video_core/shader/shader_ir.h @@ -336,32 +336,23 @@ using Meta = std::variant<MetaArithmetic, MetaTexture, Tegra::Shader::HalfType>; /// Holds any kind of operation that can be done in the IR class OperationNode final { public: - template <typename... T> - explicit constexpr OperationNode(OperationCode code) : code{code}, meta{} {} + explicit OperationNode(OperationCode code) : code{code} {} - template <typename... T> - explicit constexpr OperationNode(OperationCode code, Meta&& meta) - : code{code}, meta{std::move(meta)} {} + explicit OperationNode(OperationCode code, Meta&& meta) : code{code}, meta{std::move(meta)} {} template <typename... T> - explicit constexpr OperationNode(OperationCode code, const T*... operands) + explicit OperationNode(OperationCode code, const T*... operands) : OperationNode(code, {}, operands...) {} template <typename... T> - explicit constexpr OperationNode(OperationCode code, Meta&& meta, const T*... operands_) - : code{code}, meta{std::move(meta)} { - - auto operands_list = {operands_...}; - for (auto& operand : operands_list) { - operands.push_back(operand); - } - } + explicit OperationNode(OperationCode code, Meta&& meta, const T*... operands_) + : code{code}, meta{std::move(meta)}, operands{operands_...} {} explicit OperationNode(OperationCode code, Meta&& meta, std::vector<Node>&& operands) : code{code}, meta{meta}, operands{std::move(operands)} {} explicit OperationNode(OperationCode code, std::vector<Node>&& operands) - : code{code}, meta{}, operands{std::move(operands)} {} + : code{code}, operands{std::move(operands)} {} OperationCode GetCode() const { return code; |