mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2024-12-29 11:06:07 +00:00
more dummy patching functions
This commit is contained in:
parent
3cbbdd5b2f
commit
d9da9ade78
|
@ -12,8 +12,44 @@ namespace HLE::Libs::LibC {
|
||||||
//__debugbreak();//if we reach here it will be a great progress :D
|
//__debugbreak();//if we reach here it will be a great progress :D
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int __cxa_guard_acquire(u64* guard_object)
|
||||||
|
{ return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int __cxa_guard_release(u64* guard_object)
|
||||||
|
{ return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int memcmp(const void* s1, const void* s2, size_t n) {
|
||||||
|
return ::memcmp(s1, s2, n);
|
||||||
|
}
|
||||||
|
|
||||||
|
void* memcpy(void* dest, const void* src, size_t n) {
|
||||||
|
return ::memcpy(dest, src, n);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void catchReturnFromMain(int status)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
static void exit(int code)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
static int atexit(void (*func)())
|
||||||
|
{ return 0;
|
||||||
|
}
|
||||||
|
|
||||||
void LibC_Register(SymbolsResolver* sym)
|
void LibC_Register(SymbolsResolver* sym)
|
||||||
{
|
{
|
||||||
LIB_FUNCTION("bzQExy189ZI", "libc", 1, "libc", 1, 1, init_env);
|
LIB_FUNCTION("bzQExy189ZI", "libc", 1, "libc", 1, 1, init_env);
|
||||||
}
|
LIB_FUNCTION("3GPpjQdAMTw", "libc", 1, "libc", 1, 1, __cxa_guard_acquire);
|
||||||
|
LIB_FUNCTION("9rAeANT2tyE", "libc", 1, "libc", 1, 1, __cxa_guard_release);
|
||||||
|
LIB_FUNCTION("DfivPArhucg", "libc", 1, "libc", 1, 1, memcmp);
|
||||||
|
LIB_FUNCTION("Q3VBxCXhUHs", "libc", 1, "libc", 1, 1, memcpy);
|
||||||
|
LIB_FUNCTION("XKRegsFpEpk", "libc", 1, "libc", 1, 1, catchReturnFromMain);
|
||||||
|
LIB_FUNCTION("uMei1W9uyNo", "libc", 1, "libc", 1, 1, exit);
|
||||||
|
LIB_FUNCTION("8G2LB+A3rzg", "libc", 1, "libc", 1, 1, atexit);
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
|
@ -6,5 +6,9 @@ namespace HLE::Libs::LibC {
|
||||||
void LibC_Register(SymbolsResolver* sym);
|
void LibC_Register(SymbolsResolver* sym);
|
||||||
//functions
|
//functions
|
||||||
static void init_env();
|
static void init_env();
|
||||||
|
static void exit(int code);
|
||||||
|
static void catchReturnFromMain(int status);
|
||||||
|
int __cxa_guard_acquire(u64* guard_object);
|
||||||
|
int memcmp(const void* s1, const void* s2, size_t n);
|
||||||
|
void* memcpy(void* dest, const void* src, size_t n);
|
||||||
};
|
};
|
|
@ -16,7 +16,15 @@ namespace HLE::Libs::LibKernel {
|
||||||
int sceKernelCreateEqueue(/* SceKernelEqueue* eq*/int eq,const char* name)
|
int sceKernelCreateEqueue(/* SceKernelEqueue* eq*/int eq,const char* name)
|
||||||
{ return 0;
|
{ return 0;
|
||||||
}
|
}
|
||||||
|
int sceKernelWaitEqueue(/*SceKernelEqueue eq, SceKernelEvent* ev,*/ int num, int* out /*, SceKernelUseconds* timo*/) { return 0;
|
||||||
|
}
|
||||||
|
int sceKernelIsNeoMode()
|
||||||
|
{ return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void stack_chk_fail() {
|
||||||
|
|
||||||
|
}
|
||||||
void LibKernel_Register(SymbolsResolver* sym) {
|
void LibKernel_Register(SymbolsResolver* sym) {
|
||||||
//memory
|
//memory
|
||||||
LIB_FUNCTION("rTXw65xmLIA", "libkernel", 1, "libkernel", 1, 1, sceKernelAllocateDirectMemory);
|
LIB_FUNCTION("rTXw65xmLIA", "libkernel", 1, "libkernel", 1, 1, sceKernelAllocateDirectMemory);
|
||||||
|
@ -25,6 +33,10 @@ namespace HLE::Libs::LibKernel {
|
||||||
LIB_FUNCTION("MBuItvba6z8", "libkernel", 1, "libkernel", 1, 1, sceKernelReleaseDirectMemory);
|
LIB_FUNCTION("MBuItvba6z8", "libkernel", 1, "libkernel", 1, 1, sceKernelReleaseDirectMemory);
|
||||||
//equeue
|
//equeue
|
||||||
LIB_FUNCTION("D0OdFMjp46I", "libkernel", 1, "libkernel", 1, 1, sceKernelCreateEqueue);
|
LIB_FUNCTION("D0OdFMjp46I", "libkernel", 1, "libkernel", 1, 1, sceKernelCreateEqueue);
|
||||||
|
LIB_FUNCTION("fzyMKs9kim0", "libkernel", 1, "libkernel", 1, 1, sceKernelWaitEqueue);
|
||||||
|
//misc
|
||||||
|
LIB_FUNCTION("WslcK1FQcGI", "libkernel", 1, "libkernel", 1, 1, sceKernelIsNeoMode);
|
||||||
|
LIB_FUNCTION("Ou3iL1abvng", "libkernel", 1, "libkernel", 1, 1, stack_chk_fail);
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
|
@ -9,5 +9,6 @@ size_t sceKernelGetDirectMemorySize();
|
||||||
int sceKernelCreateEqueue(/* SceKernelEqueue* eq*/ int eq, const char* name);
|
int sceKernelCreateEqueue(/* SceKernelEqueue* eq*/ int eq, const char* name);
|
||||||
int32_t sceKernelMapDirectMemory(void** addr, size_t len, int prot, int flags, off_t directMemoryStart, size_t alignment);
|
int32_t sceKernelMapDirectMemory(void** addr, size_t len, int prot, int flags, off_t directMemoryStart, size_t alignment);
|
||||||
int32_t sceKernelReleaseDirectMemory(off_t start, size_t len);
|
int32_t sceKernelReleaseDirectMemory(off_t start, size_t len);
|
||||||
|
int sceKernelIsNeoMode();
|
||||||
|
int sceKernelWaitEqueue(/*SceKernelEqueue eq, SceKernelEvent* ev,*/ int num, int* out /*, SceKernelUseconds* timo*/);
|
||||||
}; // namespace HLE::Libs::LibKernel
|
}; // namespace HLE::Libs::LibKernel
|
|
@ -4,9 +4,101 @@
|
||||||
|
|
||||||
namespace HLE::Libs::LibSceGnmDriver {
|
namespace HLE::Libs::LibSceGnmDriver {
|
||||||
|
|
||||||
void LibSceGnmDriver_Register(SymbolsResolver* sym)
|
int sceGnmAddEqEvent(/* SceKernelEqueue eq, EqEventType id,*/ void* udata)
|
||||||
|
{ return 0;
|
||||||
|
}
|
||||||
|
bool sceGnmAreSubmitsAllowed()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
int /* WorkloadStatus*/ sceGnmBeginWorkload(uint64_t* workload /*, WorkloadStream stream*/)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int /* WorkloadStatus*/ sceGnmCreateWorkloadStream(/* WorkloadStream* workloadStream,*/ const char* name)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
void sceGnmDebugHardwareStatus(/* HardwareStatus flag*/) {
|
||||||
|
|
||||||
|
}
|
||||||
|
void sceGnmSetGsRingSizes(/* GsRingSizeSetup esgsRingSize, GsRingSizeSetup gsvsRingSize*/)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
int32_t sceGnmSetWaveLimitMultipliers(uint16_t targetPipeMask, uint8_t gfxRatio, const uint8_t (*pipeRatios)[7])
|
||||||
|
{ return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int /*MipStatsError*/ sceGnmSetupMipStatsReport(void* outputBuffer, uint32_t sizeInBytes, uint8_t intervalsBetweenReports,
|
||||||
|
uint8_t numReportsBeforeReset /*, MipStatsResetForce mipStatsResetForce*/)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int sceGnmSubmitCommandBuffers(uint32_t count, void* dcb_gpu_addrs[], const uint32_t* dcb_sizes_in_bytes, void* ccb_gpu_addrs[],
|
||||||
|
const uint32_t* ccb_sizes_in_bytes)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int sceGnmSubmitAndFlipCommandBuffers(uint32_t count, void* dcb_gpu_addrs[], const uint32_t* dcb_sizes_in_bytes,
|
||||||
|
void* ccb_gpu_addrs[], const uint32_t* ccb_sizes_in_bytes, int handle, int index,
|
||||||
|
int flip_mode, int64_t flip_arg)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
void LibSceGnmDriver_Register(SymbolsResolver* sym)
|
||||||
|
{
|
||||||
|
LIB_FUNCTION("b0xyllnVY-I", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmAddEqEvent);
|
||||||
|
LIB_FUNCTION("b08AgtPlHPg", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmAreSubmitsAllowed);
|
||||||
|
LIB_FUNCTION("ihxrbsoSKWc", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmBeginWorkload);
|
||||||
|
LIB_FUNCTION("5udAm+6boVg", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmCreateWorkloadStream);
|
||||||
|
LIB_FUNCTION("qpGITzPE+Zc", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmDebugHardwareStatus);
|
||||||
|
LIB_FUNCTION("jtkqXpAOY6w", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmSetGsRingSizes);
|
||||||
|
LIB_FUNCTION("XiyzNZ9J4nQ", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmSetWaveLimitMultipliers);
|
||||||
|
LIB_FUNCTION("+xuDhxlWRPg", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmSetupMipStatsReport);
|
||||||
|
LIB_FUNCTION("zwY0YV91TTI", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmSubmitCommandBuffers);
|
||||||
|
LIB_FUNCTION("xbxNatawohc", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmSubmitAndFlipCommandBuffers);
|
||||||
|
|
||||||
|
/*LIB_FUNCTION("Ga6r7H6Y0RI", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmSubmitAndFlipCommandBuffersForWorkload);
|
||||||
|
LIB_FUNCTION("f33OrruQYbM", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceRazorIsLoaded);
|
||||||
|
LIB_FUNCTION("jRcI8VcgTz4", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmSubmitCommandBuffersForWorkload);
|
||||||
|
LIB_FUNCTION("PVT+fuoS9gU", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmDeleteEqEvent);
|
||||||
|
LIB_FUNCTION("yvZ73uQUqrk", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmSubmitDone);
|
||||||
|
LIB_FUNCTION("UtObDRQiGbs", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmDestroyWorkloadStream);
|
||||||
|
LIB_FUNCTION("bX5IbRvECXk", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmDingDong);
|
||||||
|
LIB_FUNCTION("byXlqupd8cE", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmDingDongForWorkload);
|
||||||
|
LIB_FUNCTION("HHo1BAljZO8", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmDisableMipStatsReport);
|
||||||
|
LIB_FUNCTION("TLV4mswiZ4A", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmDriverCaptureInProgress);
|
||||||
|
LIB_FUNCTION("ArSg-TGinhk", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmUnmapComputeQueue);
|
||||||
|
LIB_FUNCTION("R6z1xM3pW-w", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmDriverTraceInProgress);
|
||||||
|
LIB_FUNCTION("d88anrgNoKY", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmDriverTriggerCapture);
|
||||||
|
LIB_FUNCTION("Fa3x75OOLRA", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmEndWorkload);
|
||||||
|
LIB_FUNCTION("iBt3Oe00Kvc", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmFlushGarlic);
|
||||||
|
LIB_FUNCTION("UoYY0DWMC0U", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmGetEqEventType);
|
||||||
|
LIB_FUNCTION("H7-fgvEutM0", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmGetEqTimeStamp);
|
||||||
|
LIB_FUNCTION("oL4hGI1PMpw", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmGetGpuBlockStatus);
|
||||||
|
LIB_FUNCTION("tZCSL5ulnB4", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmGetGpuInfoStatus);
|
||||||
|
LIB_FUNCTION("iFirFzgYsvw", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmGetLastWaitedAddress);
|
||||||
|
LIB_FUNCTION("KnldROUkWJY", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmGetNumTcaUnits);
|
||||||
|
LIB_FUNCTION("FFVZcCu3zWU", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmGetOffChipTessellationBufferSize);
|
||||||
|
LIB_FUNCTION("dewXw5roLs0", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmGetPhysicalCounterFromVirtualized);
|
||||||
|
LIB_FUNCTION("fzJdEihTFV4", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmGetProtectionFaultTimeStamp);
|
||||||
|
LIB_FUNCTION("nEyFbYUloIM", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmGetShaderProgramBaseAddress);
|
||||||
|
LIB_FUNCTION("k7iGTvDQPLQ", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmGetShaderStatus);
|
||||||
|
LIB_FUNCTION("ln33zjBrfjk", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmGetTheTessellationFactorRingBufferBaseAddress);
|
||||||
|
LIB_FUNCTION("jg33rEKLfVs", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmIsUserPaEnabled);
|
||||||
|
LIB_FUNCTION("26PM5Mzl8zc", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmLogicalCuIndexToPhysicalCuIndex);
|
||||||
|
LIB_FUNCTION("RU74kek-N0c", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmLogicalCuMaskToPhysicalCuMask);
|
||||||
|
LIB_FUNCTION("29oKvKXzEZo", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmMapComputeQueue);
|
||||||
|
LIB_FUNCTION("A+uGq+3KFtQ", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmMapComputeQueueWithPriority);
|
||||||
|
LIB_FUNCTION("u9YKpRRHe-M", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceRazorCaptureImmediate);
|
||||||
|
LIB_FUNCTION("gObODli-OH8", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmRequestFlipAndSubmitDone);
|
||||||
|
LIB_FUNCTION("6YRHhh5mHCs", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmRequestFlipAndSubmitDoneForWorkload);
|
||||||
|
LIB_FUNCTION("f85orjx7qts", "libSceGnmDriver", 1, "libSceGnmDriver", 1, 1, sceGnmRequestMipStatsReportAndReset);*/
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
|
@ -5,4 +5,18 @@ namespace HLE::Libs::LibSceGnmDriver {
|
||||||
|
|
||||||
void LibSceGnmDriver_Register(SymbolsResolver* sym);
|
void LibSceGnmDriver_Register(SymbolsResolver* sym);
|
||||||
|
|
||||||
|
//functions
|
||||||
|
int sceGnmAddEqEvent(/* SceKernelEqueue eq, EqEventType id,*/ void* udata);
|
||||||
|
bool sceGnmAreSubmitsAllowed();
|
||||||
|
int /* WorkloadStatus*/ sceGnmBeginWorkload(uint64_t* workload /*, WorkloadStream stream*/);
|
||||||
|
int /* WorkloadStatus*/ sceGnmCreateWorkloadStream(/* WorkloadStream* workloadStream,*/ const char* name);
|
||||||
|
void sceGnmDebugHardwareStatus(/* HardwareStatus flag*/);
|
||||||
|
void sceGnmSetGsRingSizes(/* GsRingSizeSetup esgsRingSize, GsRingSizeSetup gsvsRingSize*/);
|
||||||
|
int32_t sceGnmSetWaveLimitMultipliers(uint16_t targetPipeMask, uint8_t gfxRatio, const uint8_t (*pipeRatios)[7]);
|
||||||
|
int /*MipStatsError*/ sceGnmSetupMipStatsReport(void* outputBuffer, uint32_t sizeInBytes, uint8_t intervalsBetweenReports,
|
||||||
|
uint8_t numReportsBeforeReset /*, MipStatsResetForce mipStatsResetForce*/);
|
||||||
|
int sceGnmSubmitCommandBuffers(uint32_t count, void* dcb_gpu_addrs[], const uint32_t* dcb_sizes_in_bytes, void* ccb_gpu_addrs[],
|
||||||
|
const uint32_t* ccb_sizes_in_bytes);
|
||||||
|
int sceGnmSubmitAndFlipCommandBuffers(uint32_t count, void* dcb_gpu_addrs[], const uint32_t* dcb_sizes_in_bytes, void* ccb_gpu_addrs[],
|
||||||
|
const uint32_t* ccb_sizes_in_bytes, int handle, int index, int flip_mode, int64_t flip_arg);
|
||||||
}; // namespace HLE::Libs::LibSceGnmDriver
|
}; // namespace HLE::Libs::LibSceGnmDriver
|
Loading…
Reference in a new issue