shader_ir/decode: Reduce severity of unimplemented half-float FTZ
This commit is contained in:
parent
acf618afbc
commit
90cbf89303
|
@ -18,7 +18,9 @@ u32 ShaderIR::DecodeArithmeticHalf(NodeBlock& bb, u32 pc) {
|
||||||
|
|
||||||
if (opcode->get().GetId() == OpCode::Id::HADD2_C ||
|
if (opcode->get().GetId() == OpCode::Id::HADD2_C ||
|
||||||
opcode->get().GetId() == OpCode::Id::HADD2_R) {
|
opcode->get().GetId() == OpCode::Id::HADD2_R) {
|
||||||
UNIMPLEMENTED_IF(instr.alu_half.ftz != 0);
|
if (instr.alu_half.ftz != 0) {
|
||||||
|
LOG_WARNING(HW_GPU, "{} FTZ not implemented", opcode->get().GetName());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
UNIMPLEMENTED_IF_MSG(instr.alu_half.saturate != 0, "Half float saturation not implemented");
|
UNIMPLEMENTED_IF_MSG(instr.alu_half.saturate != 0, "Half float saturation not implemented");
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,9 @@ u32 ShaderIR::DecodeArithmeticHalfImmediate(NodeBlock& bb, u32 pc) {
|
||||||
const auto opcode = OpCode::Decode(instr);
|
const auto opcode = OpCode::Decode(instr);
|
||||||
|
|
||||||
if (opcode->get().GetId() == OpCode::Id::HADD2_IMM) {
|
if (opcode->get().GetId() == OpCode::Id::HADD2_IMM) {
|
||||||
UNIMPLEMENTED_IF(instr.alu_half_imm.ftz != 0);
|
if (instr.alu_half_imm.ftz != 0) {
|
||||||
|
LOG_WARNING(HW_GPU, "{} FTZ not implemented", opcode->get().GetName());
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
UNIMPLEMENTED_IF(instr.alu_half_imm.precision != Tegra::Shader::HalfPrecision::None);
|
UNIMPLEMENTED_IF(instr.alu_half_imm.precision != Tegra::Shader::HalfPrecision::None);
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,9 @@ u32 ShaderIR::DecodeHalfSet(NodeBlock& bb, u32 pc) {
|
||||||
const Instruction instr = {program_code[pc]};
|
const Instruction instr = {program_code[pc]};
|
||||||
const auto opcode = OpCode::Decode(instr);
|
const auto opcode = OpCode::Decode(instr);
|
||||||
|
|
||||||
UNIMPLEMENTED_IF(instr.hset2.ftz != 0);
|
if (instr.hset2.ftz != 0) {
|
||||||
|
LOG_WARNING(HW_GPU, "{} FTZ not implemented", opcode->get().GetName());
|
||||||
|
}
|
||||||
|
|
||||||
// instr.hset2.type_a
|
// instr.hset2.type_a
|
||||||
// instr.hset2.type_b
|
// instr.hset2.type_b
|
||||||
|
|
Reference in New Issue