2021-03-01 01:30:09 -05:00
|
|
|
// Copyright 2021 yuzu Emulator Project
|
|
|
|
// Licensed under GPLv2 or any later version
|
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "common/common_types.h"
|
|
|
|
#include "shader_recompiler/frontend/maxwell/translate/impl/impl.h"
|
|
|
|
|
|
|
|
namespace Shader::Maxwell {
|
2021-03-02 01:05:57 -05:00
|
|
|
[[nodiscard]] IR::U1 IntegerCompare(IR::IREmitter& ir, const IR::U32& operand_1,
|
|
|
|
const IR::U32& operand_2, CompareOp compare_op, bool is_signed);
|
2021-03-01 01:30:09 -05:00
|
|
|
|
2021-03-02 01:05:57 -05:00
|
|
|
[[nodiscard]] IR::U1 PredicateCombine(IR::IREmitter& ir, const IR::U1& predicate_1,
|
2021-03-01 01:30:09 -05:00
|
|
|
const IR::U1& predicate_2, BooleanOp bop);
|
2021-03-03 00:41:05 -05:00
|
|
|
|
|
|
|
[[nodiscard]] IR::U1 PredicateOperation(IR::IREmitter& ir, const IR::U32& result, PredicateOp op);
|
2021-03-16 00:57:07 -04:00
|
|
|
|
|
|
|
[[nodiscard]] bool IsCompareOpOrdered(FPCompareOp op);
|
|
|
|
|
2021-03-21 04:33:19 +01:00
|
|
|
[[nodiscard]] IR::U1 FloatingPointCompare(IR::IREmitter& ir, const IR::F16F32F64& operand_1,
|
|
|
|
const IR::F16F32F64& operand_2, FPCompareOp compare_op,
|
2021-03-16 00:57:07 -04:00
|
|
|
IR::FpControl control = {});
|
2021-03-01 01:30:09 -05:00
|
|
|
} // namespace Shader::Maxwell
|