mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-09 00:11:24 +12:00
rsx/fp: Implement TXPBEM
This commit is contained in:
parent
f7c52d3bb7
commit
e89a035e8b
1 changed files with 8 additions and 3 deletions
|
@ -263,7 +263,10 @@ std::string FragmentProgramDecompiler::Format(const std::string& code, bool igno
|
||||||
if (!ignore_redirects)
|
if (!ignore_redirects)
|
||||||
{
|
{
|
||||||
//Special processing redirects
|
//Special processing redirects
|
||||||
if (dst.opcode == RSX_FP_OPCODE_TEXBEM)
|
switch (dst.opcode)
|
||||||
|
{
|
||||||
|
case RSX_FP_OPCODE_TEXBEM:
|
||||||
|
case RSX_FP_OPCODE_TXPBEM:
|
||||||
{
|
{
|
||||||
//Redirect parameter 0 to the x2d temp register for TEXBEM
|
//Redirect parameter 0 to the x2d temp register for TEXBEM
|
||||||
//TODO: Organize this a little better
|
//TODO: Organize this a little better
|
||||||
|
@ -272,6 +275,7 @@ std::string FragmentProgramDecompiler::Format(const std::string& code, bool igno
|
||||||
|
|
||||||
return fmt::replace_all(code, repl_list);
|
return fmt::replace_all(code, repl_list);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return fmt::replace_all(code, repl_list);
|
return fmt::replace_all(code, repl_list);
|
||||||
|
@ -623,8 +627,9 @@ bool FragmentProgramDecompiler::handle_tex_srb(u32 opcode)
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
case RSX_FP_OPCODE_TXPBEM:
|
case RSX_FP_OPCODE_TXPBEM:
|
||||||
//Treat as TXP for now
|
//Untested, should be x2d followed by TXP
|
||||||
LOG_ERROR(RSX, "Unimplemented TEX_SRB instruction: TXPBEM");
|
AddX2d();
|
||||||
|
AddCode(Format("x2d = $0.xyxy + $1.xxxx * $2.xzxz + $1.yyyy * $2.ywyw", true));
|
||||||
case RSX_FP_OPCODE_TXP:
|
case RSX_FP_OPCODE_TXP:
|
||||||
switch (m_prog.get_texture_dimension(dst.tex_num))
|
switch (m_prog.get_texture_dimension(dst.tex_num))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue