mirror of
https://github.com/KytyPS5/KytyPS5.git
synced 2026-10-28 00:12:40 +00:00
graphics: support RDNA2 custom pixel interpolation
Co-authored-by: Senaxx <Senaxx@users.noreply.github.com>
This commit is contained in:
1 parent
17c2b4cc7d
commit
5e64efce4f
14 files changed
+414
-28
No files matched your search
@@ -866,9 +866,9 @@ bool LowerVInterpP1F32(const Decoder::Instruction& decoded, BasicBlock& block) {
|
||||
|
||||
bool LowerVInterpLoadF32(const Decoder::Instruction& decoded, BasicBlock& block,
|
||||
std::string* error) {
|
||||
if (decoded.opcode == Decoder::Opcode::V_INTERP_MOV_F32 && decoded.src0.value != 2u) {
|
||||
if (decoded.opcode == Decoder::Opcode::V_INTERP_MOV_F32 && decoded.src0.value >= 3u) {
|
||||
if (error != nullptr) {
|
||||
*error = fmt::format("v_interp_mov_f32 mode {} is not implemented at pc 0x{:08x}",
|
||||
*error = fmt::format("v_interp_mov_f32 mode {} is reserved at pc 0x{:08x}",
|
||||
decoded.src0.value, decoded.pc);
|
||||
}
|
||||
return false;
|
||||
@@ -879,6 +879,9 @@ bool LowerVInterpLoadF32(const Decoder::Instruction& decoded, BasicBlock& block,
|
||||
inst.op = Opcode::LoadInputF32;
|
||||
inst.input_info.attr = decoded.src1.value;
|
||||
inst.input_info.chan = decoded.src2.value;
|
||||
if (decoded.opcode == Decoder::Opcode::V_INTERP_MOV_F32) {
|
||||
inst.input_info.interpolation_mode = decoded.src0.value;
|
||||
}
|
||||
if (!LowerRegisterOperand(decoded.dst, inst.dst, error)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user