mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-04-20 22:05:12 +00:00
rsx/common/d3d12/gl: Mimic divsq and rsq fragment instruction behaviour with 0.
Fix Super Puzzle Turbo HD 2 and SH3 HD
This commit is contained in:
parent
31a925b4f0
commit
675ccd4510
3 changed files with 46 additions and 4 deletions
|
|
@ -141,6 +141,24 @@ void D3D12FragmentDecompiler::insertConstants(std::stringstream & OS)
|
|||
|
||||
void D3D12FragmentDecompiler::insertMainStart(std::stringstream & OS)
|
||||
{
|
||||
// "lib" function
|
||||
// 0.00001 is used as "some non zero very little number"
|
||||
OS << "float4 divsq_legacy(float4 num, float4 denum)\n";
|
||||
OS << "{\n";
|
||||
OS << " return num / sqrt(max(denum.xxxx, 0.00001));\n";
|
||||
OS << "}\n";
|
||||
|
||||
OS << "float4 rcp_legacy(float4 denum)\n";
|
||||
OS << "{\n";
|
||||
OS << " return 1. / denum;\n";
|
||||
OS << "}\n";
|
||||
|
||||
OS << "float4 rsq_legacy(float4 denum)\n";
|
||||
OS << "{\n";
|
||||
OS << " return 1. / sqrt(max(denum, 0.00001));\n";
|
||||
OS << "}\n";
|
||||
|
||||
|
||||
const std::set<std::string> output_value =
|
||||
{
|
||||
"r0", "r1", "r2", "r3", "r4",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue