mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu.git
				synced 2025-05-12 00:45:25 +00:00 
			
		
		
		
	Merge pull request #536 from bunnei/isetp_imm
gl_shader_decompiler: Implement ISETP_IMM instruction.
This commit is contained in:
		
						commit
						4732e1f064
					
				@ -1278,17 +1278,18 @@ private:
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
        case OpCode::Type::IntegerSetPredicate: {
 | 
					        case OpCode::Type::IntegerSetPredicate: {
 | 
				
			||||||
            std::string op_a = regs.GetRegisterAsInteger(instr.gpr8, 0, instr.isetp.is_signed);
 | 
					            std::string op_a = regs.GetRegisterAsInteger(instr.gpr8, 0, instr.isetp.is_signed);
 | 
				
			||||||
 | 
					            std::string op_b;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            std::string op_b{};
 | 
					            if (instr.is_b_imm) {
 | 
				
			||||||
 | 
					                op_b += '(' + std::to_string(instr.alu.GetSignedImm20_20()) + ')';
 | 
				
			||||||
            ASSERT_MSG(!instr.is_b_imm, "ISETP_IMM not implemented");
 | 
					            } else {
 | 
				
			||||||
 | 
					 | 
				
			||||||
                if (instr.is_b_gpr) {
 | 
					                if (instr.is_b_gpr) {
 | 
				
			||||||
                    op_b += regs.GetRegisterAsInteger(instr.gpr20, 0, instr.isetp.is_signed);
 | 
					                    op_b += regs.GetRegisterAsInteger(instr.gpr20, 0, instr.isetp.is_signed);
 | 
				
			||||||
                } else {
 | 
					                } else {
 | 
				
			||||||
                    op_b += regs.GetUniform(instr.cbuf34.index, instr.cbuf34.offset,
 | 
					                    op_b += regs.GetUniform(instr.cbuf34.index, instr.cbuf34.offset,
 | 
				
			||||||
                                            GLSLRegister::Type::Integer);
 | 
					                                            GLSLRegister::Type::Integer);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            using Tegra::Shader::Pred;
 | 
					            using Tegra::Shader::Pred;
 | 
				
			||||||
            // We can't use the constant predicate as destination.
 | 
					            // We can't use the constant predicate as destination.
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user