diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2021-02-20 07:30:13 +0100 |
---|---|---|
committer | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-07-23 03:51:22 +0200 |
commit | e2bc05b17d91854cbb9c0ce3647141bf7d33143e (patch) | |
tree | 96769db006b6015cd536483db98ee0697aee4992 /src/shader_recompiler/frontend/ir/ir_emitter.cpp | |
parent | spirv: Add lower fp16 to fp32 pass (diff) | |
download | yuzu-e2bc05b17d91854cbb9c0ce3647141bf7d33143e.tar yuzu-e2bc05b17d91854cbb9c0ce3647141bf7d33143e.tar.gz yuzu-e2bc05b17d91854cbb9c0ce3647141bf7d33143e.tar.bz2 yuzu-e2bc05b17d91854cbb9c0ce3647141bf7d33143e.tar.lz yuzu-e2bc05b17d91854cbb9c0ce3647141bf7d33143e.tar.xz yuzu-e2bc05b17d91854cbb9c0ce3647141bf7d33143e.tar.zst yuzu-e2bc05b17d91854cbb9c0ce3647141bf7d33143e.zip |
Diffstat (limited to '')
-rw-r--r-- | src/shader_recompiler/frontend/ir/ir_emitter.cpp | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/src/shader_recompiler/frontend/ir/ir_emitter.cpp b/src/shader_recompiler/frontend/ir/ir_emitter.cpp index 559ab9cca..8f120a2f6 100644 --- a/src/shader_recompiler/frontend/ir/ir_emitter.cpp +++ b/src/shader_recompiler/frontend/ir/ir_emitter.cpp @@ -558,53 +558,53 @@ F16F32F64 IREmitter::FPSaturate(const F16F32F64& value) { } } -F16F32F64 IREmitter::FPRoundEven(const F16F32F64& value) { +F16F32F64 IREmitter::FPRoundEven(const F16F32F64& value, FpControl control) { switch (value.Type()) { case Type::F16: - return Inst<F16>(Opcode::FPRoundEven16, value); + return Inst<F16>(Opcode::FPRoundEven16, Flags{control}, value); case Type::F32: - return Inst<F32>(Opcode::FPRoundEven32, value); + return Inst<F32>(Opcode::FPRoundEven32, Flags{control}, value); case Type::F64: - return Inst<F64>(Opcode::FPRoundEven64, value); + return Inst<F64>(Opcode::FPRoundEven64, Flags{control}, value); default: ThrowInvalidType(value.Type()); } } -F16F32F64 IREmitter::FPFloor(const F16F32F64& value) { +F16F32F64 IREmitter::FPFloor(const F16F32F64& value, FpControl control) { switch (value.Type()) { case Type::F16: - return Inst<F16>(Opcode::FPFloor16, value); + return Inst<F16>(Opcode::FPFloor16, Flags{control}, value); case Type::F32: - return Inst<F32>(Opcode::FPFloor32, value); + return Inst<F32>(Opcode::FPFloor32, Flags{control}, value); case Type::F64: - return Inst<F64>(Opcode::FPFloor64, value); + return Inst<F64>(Opcode::FPFloor64, Flags{control}, value); default: ThrowInvalidType(value.Type()); } } -F16F32F64 IREmitter::FPCeil(const F16F32F64& value) { +F16F32F64 IREmitter::FPCeil(const F16F32F64& value, FpControl control) { switch (value.Type()) { case Type::F16: - return Inst<F16>(Opcode::FPCeil16, value); + return Inst<F16>(Opcode::FPCeil16, Flags{control}, value); case Type::F32: - return Inst<F32>(Opcode::FPCeil32, value); + return Inst<F32>(Opcode::FPCeil32, Flags{control}, value); case Type::F64: - return Inst<F64>(Opcode::FPCeil64, value); + return Inst<F64>(Opcode::FPCeil64, Flags{control}, value); default: ThrowInvalidType(value.Type()); } } -F16F32F64 IREmitter::FPTrunc(const F16F32F64& value) { +F16F32F64 IREmitter::FPTrunc(const F16F32F64& value, FpControl control) { switch (value.Type()) { case Type::F16: - return Inst<F16>(Opcode::FPTrunc16, value); + return Inst<F16>(Opcode::FPTrunc16, Flags{control}, value); case Type::F32: - return Inst<F32>(Opcode::FPTrunc32, value); + return Inst<F32>(Opcode::FPTrunc32, Flags{control}, value); case Type::F64: - return Inst<F64>(Opcode::FPTrunc64, value); + return Inst<F64>(Opcode::FPTrunc64, Flags{control}, value); default: ThrowInvalidType(value.Type()); } |