common_funcs.h 1.3 KB

123456789101112131415161718192021222324252627
  1. // Copyright 2021 yuzu Emulator Project
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #include "shader_recompiler/frontend/maxwell/translate/impl/impl.h"
  6. namespace Shader::Maxwell {
  7. [[nodiscard]] IR::U1 IntegerCompare(IR::IREmitter& ir, const IR::U32& operand_1,
  8. const IR::U32& operand_2, CompareOp compare_op, bool is_signed);
  9. [[nodiscard]] IR::U1 ExtendedIntegerCompare(IR::IREmitter& ir, const IR::U32& operand_1,
  10. const IR::U32& operand_2, CompareOp compare_op,
  11. bool is_signed);
  12. [[nodiscard]] IR::U1 PredicateCombine(IR::IREmitter& ir, const IR::U1& predicate_1,
  13. const IR::U1& predicate_2, BooleanOp bop);
  14. [[nodiscard]] IR::U1 PredicateOperation(IR::IREmitter& ir, const IR::U32& result, PredicateOp op);
  15. [[nodiscard]] bool IsCompareOpOrdered(FPCompareOp op);
  16. [[nodiscard]] IR::U1 FloatingPointCompare(IR::IREmitter& ir, const IR::F16F32F64& operand_1,
  17. const IR::F16F32F64& operand_2, FPCompareOp compare_op,
  18. IR::FpControl control = {});
  19. } // namespace Shader::Maxwell