mirror of
https://github.com/RPCS3/rpcs3.git
synced 2024-11-17 08:11:51 +00:00
rsx: Workaround for nvidia linux
- For some reason, using 1.E-x notation does not work on nvidia linux. Could be a bug in spir-v generator or the driver itself
This commit is contained in:
parent
55c324e062
commit
1ea5e7404a
@ -195,12 +195,12 @@ std::string FragmentProgramDecompiler::AddX2d()
|
||||
//Failure to catch causes infinite values since theres alot of rcp(0)
|
||||
std::string FragmentProgramDecompiler::NotZero(const std::string& code)
|
||||
{
|
||||
return "(max(abs(" + code + "), 1.E-10) * sign(" + code + "))";
|
||||
return "(max(abs(" + code + "), 0.000001) * sign(" + code + "))";
|
||||
}
|
||||
|
||||
std::string FragmentProgramDecompiler::NotZeroPositive(const std::string& code)
|
||||
{
|
||||
return "max(abs(" + code + "), 1.E-10)";
|
||||
return "max(abs(" + code + "), 0.000001)";
|
||||
}
|
||||
|
||||
std::string FragmentProgramDecompiler::ClampValue(const std::string& code, u32 precision)
|
||||
|
@ -337,7 +337,7 @@ namespace glsl
|
||||
OS << " result.x = 1.;\n";
|
||||
OS << " result.w = 1.;\n";
|
||||
OS << " result.y = clamped_val.x;\n";
|
||||
OS << " result.z = clamped_val.x > 0. ? exp(clamped_val.w * log(max(clamped_val.y, 1.E-10))) : 0.;\n";
|
||||
OS << " result.z = clamped_val.x > 0. ? exp(clamped_val.w * log(max(clamped_val.y, 0.000001))) : 0.;\n";
|
||||
OS << " return result;\n";
|
||||
OS << "}\n\n";
|
||||
|
||||
|
@ -376,7 +376,7 @@ void VertexProgramDecompiler::SetDSTSca(const std::string& code)
|
||||
|
||||
std::string VertexProgramDecompiler::NotZeroPositive(const std::string& code)
|
||||
{
|
||||
return "max(" + code + ", 1.E-10)";
|
||||
return "max(" + code + ", 0.000001)";
|
||||
}
|
||||
|
||||
std::string VertexProgramDecompiler::BuildFuncBody(const FuncInfo& func)
|
||||
|
Loading…
Reference in New Issue
Block a user