mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-08 16:01:42 +12:00
Improved unknown HLE functions logging
Fixed Fragment Shader Decompiler
This commit is contained in:
parent
f8e8e2f624
commit
a4740d5f09
6 changed files with 3844 additions and 3855 deletions
|
@ -71,9 +71,7 @@ private:
|
||||||
|
|
||||||
if(Ini.HLELogging.GetValue())
|
if(Ini.HLELogging.GetValue())
|
||||||
{
|
{
|
||||||
ConLog.Warning("SysCall[0x%llx] done with code [0x%llx]! #pc: 0x%llx", CPU.GPR[11], CPU.GPR[3], CPU.PC);
|
ConLog.Warning("SysCall[0x%llx ('%s')] done with code [0x%llx]! #pc: 0x%llx", CPU.GPR[11], SysCalls::GetHLEFuncName(CPU.GPR[11]).c_str(), CPU.GPR[3], CPU.PC);
|
||||||
if(CPU.GPR[11] > 1024)
|
|
||||||
SysCalls::DoFunc(CPU.GPR[11]);
|
|
||||||
}
|
}
|
||||||
/*else if ((s64)CPU.GPR[3] < 0) // probably, error code
|
/*else if ((s64)CPU.GPR[3] < 0) // probably, error code
|
||||||
{
|
{
|
||||||
|
|
|
@ -78,12 +78,6 @@ std::string GLFragmentDecompilerThread::GetMask()
|
||||||
|
|
||||||
std::string GLFragmentDecompilerThread::AddReg(u32 index, int fp16)
|
std::string GLFragmentDecompilerThread::AddReg(u32 index, int fp16)
|
||||||
{
|
{
|
||||||
if(index >= 2 && index <= 4)
|
|
||||||
{
|
|
||||||
return m_parr.AddParam(PARAM_OUT, "vec4", std::string(fp16 ? "h" : "r") + std::to_string(index),
|
|
||||||
(fp16) ? -1 : (index - 1));
|
|
||||||
}
|
|
||||||
|
|
||||||
return m_parr.AddParam(PARAM_NONE, "vec4", std::string(fp16 ? "h" : "r") + std::to_string(index), "vec4(0.0, 0.0, 0.0, 0.0)");
|
return m_parr.AddParam(PARAM_NONE, "vec4", std::string(fp16 ? "h" : "r") + std::to_string(index), "vec4(0.0, 0.0, 0.0, 0.0)");
|
||||||
|
|
||||||
//return m_parr.AddParam((index >= 2 && index <= 4) ? PARAM_OUT : PARAM_NONE, "vec4",
|
//return m_parr.AddParam((index >= 2 && index <= 4) ? PARAM_OUT : PARAM_NONE, "vec4",
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -580,10 +580,9 @@ void SysCalls::DoSyscall(u32 code)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//ConLog.Error("Unknown function 0x%08x", code);
|
|
||||||
//return 0;
|
|
||||||
|
|
||||||
//TODO: remove this
|
|
||||||
|
ConLog.Error("Unknown function 0x%08x", code);
|
||||||
declCPU();
|
declCPU();
|
||||||
RESULT(DoFunc(code));
|
RESULT(0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -451,7 +451,7 @@ class SysCalls
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
static void DoSyscall(u32 code);
|
static void DoSyscall(u32 code);
|
||||||
static s64 DoFunc(const u32 id);
|
static std::string GetHLEFuncName(const u32 fid);
|
||||||
};
|
};
|
||||||
|
|
||||||
//extern SysCalls SysCallsManager;
|
//extern SysCalls SysCallsManager;
|
||||||
|
|
|
@ -374,8 +374,7 @@ bool ELF64Loader::LoadPhdrData(u64 offset)
|
||||||
{
|
{
|
||||||
if(!module->Load(nid))
|
if(!module->Load(nid))
|
||||||
{
|
{
|
||||||
ConLog.Warning("Unknown function 0x%08x in '%s' module", nid, module_name.c_str());
|
ConLog.Warning("Unimplemented function '%s' in '%s' module", SysCalls::GetHLEFuncName(nid).c_str(), module_name.c_str());
|
||||||
SysCalls::DoFunc(nid);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#ifdef LOADER_DEBUG
|
#ifdef LOADER_DEBUG
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue