mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-08-04 16:32:39 +00:00
libraries: Add libSceRazorCpu HLE skeleton.
This commit is contained in:
parent
666b0609f7
commit
1a49c9d5ba
@ -318,6 +318,8 @@ set(SYSTEM_LIBS src/core/libraries/system/commondialog.cpp
|
|||||||
src/core/libraries/remote_play/remoteplay.h
|
src/core/libraries/remote_play/remoteplay.h
|
||||||
src/core/libraries/share_play/shareplay.cpp
|
src/core/libraries/share_play/shareplay.cpp
|
||||||
src/core/libraries/share_play/shareplay.h
|
src/core/libraries/share_play/shareplay.h
|
||||||
|
src/core/libraries/razor_cpu/razor_cpu.cpp
|
||||||
|
src/core/libraries/razor_cpu/razor_cpu.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set(VIDEOOUT_LIB src/core/libraries/videoout/buffer.h
|
set(VIDEOOUT_LIB src/core/libraries/videoout/buffer.h
|
||||||
|
@ -121,6 +121,7 @@ bool ParseFilterRule(Filter& instance, Iterator begin, Iterator end) {
|
|||||||
SUB(Lib, Fiber) \
|
SUB(Lib, Fiber) \
|
||||||
SUB(Lib, Vdec2) \
|
SUB(Lib, Vdec2) \
|
||||||
SUB(Lib, Videodec) \
|
SUB(Lib, Videodec) \
|
||||||
|
SUB(Lib, RazorCpu) \
|
||||||
CLS(Frontend) \
|
CLS(Frontend) \
|
||||||
CLS(Render) \
|
CLS(Render) \
|
||||||
SUB(Render, Vulkan) \
|
SUB(Render, Vulkan) \
|
||||||
|
@ -88,6 +88,7 @@ enum class Class : u8 {
|
|||||||
Lib_Fiber, ///< The LibSceFiber implementation.
|
Lib_Fiber, ///< The LibSceFiber implementation.
|
||||||
Lib_Vdec2, ///< The LibSceVideodec2 implementation.
|
Lib_Vdec2, ///< The LibSceVideodec2 implementation.
|
||||||
Lib_Videodec, ///< The LibSceVideodec implementation.
|
Lib_Videodec, ///< The LibSceVideodec implementation.
|
||||||
|
Lib_RazorCpu, ///< The LibRazorCpu implementation.
|
||||||
Frontend, ///< Emulator UI
|
Frontend, ///< Emulator UI
|
||||||
Render, ///< Video Core
|
Render, ///< Video Core
|
||||||
Render_Vulkan, ///< Vulkan backend
|
Render_Vulkan, ///< Vulkan backend
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
#include "core/libraries/pad/pad.h"
|
#include "core/libraries/pad/pad.h"
|
||||||
#include "core/libraries/playgo/playgo.h"
|
#include "core/libraries/playgo/playgo.h"
|
||||||
#include "core/libraries/random/random.h"
|
#include "core/libraries/random/random.h"
|
||||||
|
#include "core/libraries/razor_cpu/razor_cpu.h"
|
||||||
#include "core/libraries/remote_play/remoteplay.h"
|
#include "core/libraries/remote_play/remoteplay.h"
|
||||||
#include "core/libraries/rtc/rtc.h"
|
#include "core/libraries/rtc/rtc.h"
|
||||||
#include "core/libraries/save_data/dialog/savedatadialog.h"
|
#include "core/libraries/save_data/dialog/savedatadialog.h"
|
||||||
@ -87,6 +88,7 @@ void InitHLELibs(Core::Loader::SymbolsResolver* sym) {
|
|||||||
Libraries::SharePlay::RegisterlibSceSharePlay(sym);
|
Libraries::SharePlay::RegisterlibSceSharePlay(sym);
|
||||||
Libraries::Remoteplay::RegisterlibSceRemoteplay(sym);
|
Libraries::Remoteplay::RegisterlibSceRemoteplay(sym);
|
||||||
Libraries::Videodec::RegisterlibSceVideodec(sym);
|
Libraries::Videodec::RegisterlibSceVideodec(sym);
|
||||||
|
Libraries::RazorCpu::RegisterlibSceRazorCpu(sym);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace Libraries
|
} // namespace Libraries
|
||||||
|
249
src/core/libraries/razor_cpu/razor_cpu.cpp
Normal file
249
src/core/libraries/razor_cpu/razor_cpu.cpp
Normal file
@ -0,0 +1,249 @@
|
|||||||
|
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include "razor_cpu.h"
|
||||||
|
|
||||||
|
#include "common/logging/log.h"
|
||||||
|
#include "core/libraries/error_codes.h"
|
||||||
|
#include "core/libraries/libs.h"
|
||||||
|
|
||||||
|
namespace Libraries::RazorCpu {
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuBeginLogicalFileAccess() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
void PS4_SYSV_ABI sceRazorCpuDisableFiberUserMarkers() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuEndLogicalFileAccess() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuFiberLogNameChange() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuFiberSwitch() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool PS4_SYSV_ABI sceRazorCpuFlushOccurred() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuGetDataTagStorageSize() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuGpuMarkerSync() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuInitDataTags() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuInitializeGpuMarkerContext() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuInitializeInternal() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool PS4_SYSV_ABI sceRazorCpuIsCapturing() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuJobManagerDispatch() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuJobManagerJob() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuJobManagerSequence() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuNamedSync() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuPlotValue() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuPopMarker() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuPushMarker() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuPushMarkerStatic() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuResizeTaggedBuffer() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
void PS4_SYSV_ABI sceRazorCpuSetPopMarkerCallback() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
}
|
||||||
|
|
||||||
|
void PS4_SYSV_ABI sceRazorCpuSetPushMarkerCallback() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
}
|
||||||
|
|
||||||
|
void PS4_SYSV_ABI sceRazorCpuSetPushMarkerStaticCallback() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuShutdownDataTags() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuStartCaptureInternal() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuStopCaptureInternal() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuSync() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuTagArray() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuTagBuffer() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuUnTagBuffer() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuWorkloadRunBegin() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuWorkloadRunEnd() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuWorkloadSubmit() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 PS4_SYSV_ABI sceRazorCpuWriteBookmark() {
|
||||||
|
LOG_DEBUG(Lib_RazorCpu, "(STUBBED) called");
|
||||||
|
return ORBIS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
void RegisterlibSceRazorCpu(Core::Loader::SymbolsResolver* sym) {
|
||||||
|
LIB_FUNCTION("JFzLJBlYIJE", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1,
|
||||||
|
sceRazorCpuBeginLogicalFileAccess);
|
||||||
|
LIB_FUNCTION("SfRTRZ1Sh+U", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1,
|
||||||
|
sceRazorCpuDisableFiberUserMarkers);
|
||||||
|
LIB_FUNCTION("gVioM9cbiDs", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1,
|
||||||
|
sceRazorCpuEndLogicalFileAccess);
|
||||||
|
LIB_FUNCTION("G90IIOtgFQ0", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1,
|
||||||
|
sceRazorCpuFiberLogNameChange);
|
||||||
|
LIB_FUNCTION("PAytDtFGpqY", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1,
|
||||||
|
sceRazorCpuFiberSwitch);
|
||||||
|
LIB_FUNCTION("sPhrQD31ClM", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1,
|
||||||
|
sceRazorCpuFlushOccurred);
|
||||||
|
LIB_FUNCTION("B782NptkGUc", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1,
|
||||||
|
sceRazorCpuGetDataTagStorageSize);
|
||||||
|
LIB_FUNCTION("EH9Au2RlSrE", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1,
|
||||||
|
sceRazorCpuGpuMarkerSync);
|
||||||
|
LIB_FUNCTION("A7oRMdaOJP8", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1,
|
||||||
|
sceRazorCpuInitDataTags);
|
||||||
|
LIB_FUNCTION("NFwh-J-BrI0", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1,
|
||||||
|
sceRazorCpuInitializeGpuMarkerContext);
|
||||||
|
LIB_FUNCTION("ElNyedXaa4o", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1,
|
||||||
|
sceRazorCpuInitializeInternal);
|
||||||
|
LIB_FUNCTION("EboejOQvLL4", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1,
|
||||||
|
sceRazorCpuIsCapturing);
|
||||||
|
LIB_FUNCTION("dnEdyY4+klQ", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1,
|
||||||
|
sceRazorCpuJobManagerDispatch);
|
||||||
|
LIB_FUNCTION("KP+TBWGHlgs", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1,
|
||||||
|
sceRazorCpuJobManagerJob);
|
||||||
|
LIB_FUNCTION("9FowWFMEIM8", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1,
|
||||||
|
sceRazorCpuJobManagerSequence);
|
||||||
|
LIB_FUNCTION("XCuZoBSVFG8", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1, sceRazorCpuNamedSync);
|
||||||
|
LIB_FUNCTION("njGikRrxkC0", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1, sceRazorCpuPlotValue);
|
||||||
|
LIB_FUNCTION("YpkGsMXP3ew", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1, sceRazorCpuPopMarker);
|
||||||
|
LIB_FUNCTION("zw+celG7zSI", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1, sceRazorCpuPushMarker);
|
||||||
|
LIB_FUNCTION("uZrOwuNJX-M", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1,
|
||||||
|
sceRazorCpuPushMarkerStatic);
|
||||||
|
LIB_FUNCTION("D0yUjM33QqU", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1,
|
||||||
|
sceRazorCpuResizeTaggedBuffer);
|
||||||
|
LIB_FUNCTION("jqYWaTfgZs0", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1,
|
||||||
|
sceRazorCpuSetPopMarkerCallback);
|
||||||
|
LIB_FUNCTION("DJsHcEb94n0", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1,
|
||||||
|
sceRazorCpuSetPushMarkerCallback);
|
||||||
|
LIB_FUNCTION("EZtqozPTS4M", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1,
|
||||||
|
sceRazorCpuSetPushMarkerStaticCallback);
|
||||||
|
LIB_FUNCTION("emklx7RK-LY", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1,
|
||||||
|
sceRazorCpuShutdownDataTags);
|
||||||
|
LIB_FUNCTION("TIytAjYeaik", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1,
|
||||||
|
sceRazorCpuStartCaptureInternal);
|
||||||
|
LIB_FUNCTION("jWpkVWdMrsM", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1,
|
||||||
|
sceRazorCpuStopCaptureInternal);
|
||||||
|
LIB_FUNCTION("Ax7NjOzctIM", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1, sceRazorCpuSync);
|
||||||
|
LIB_FUNCTION("we3oTKSPSTw", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1, sceRazorCpuTagArray);
|
||||||
|
LIB_FUNCTION("vyjdThnQfQQ", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1, sceRazorCpuTagBuffer);
|
||||||
|
LIB_FUNCTION("0yNHPIkVTmw", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1,
|
||||||
|
sceRazorCpuUnTagBuffer);
|
||||||
|
LIB_FUNCTION("Crha9LvwvJM", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1,
|
||||||
|
sceRazorCpuWorkloadRunBegin);
|
||||||
|
LIB_FUNCTION("q1GxBfGHO0s", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1,
|
||||||
|
sceRazorCpuWorkloadRunEnd);
|
||||||
|
LIB_FUNCTION("6rUvx-6QmYc", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1,
|
||||||
|
sceRazorCpuWorkloadSubmit);
|
||||||
|
LIB_FUNCTION("G3brhegfyNg", "libSceRazorCpu", 1, "libSceRazorCpu", 1, 1,
|
||||||
|
sceRazorCpuWriteBookmark);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Libraries::RazorCpu
|
17
src/core/libraries/razor_cpu/razor_cpu.h
Normal file
17
src/core/libraries/razor_cpu/razor_cpu.h
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "common/types.h"
|
||||||
|
|
||||||
|
#include <atomic>
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
|
namespace Core::Loader {
|
||||||
|
class SymbolsResolver;
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace Libraries::RazorCpu {
|
||||||
|
void RegisterlibSceRazorCpu(Core::Loader::SymbolsResolver* sym);
|
||||||
|
} // namespace Libraries::RazorCpu
|
@ -48,10 +48,6 @@ int PS4_SYSV_ABI sceSysmoduleIsLoadedInternal(OrbisSysModuleInternal id) {
|
|||||||
LOG_ERROR(Lib_SysModule, "Invalid internal sysmodule ID: {:#x}", static_cast<u32>(id));
|
LOG_ERROR(Lib_SysModule, "Invalid internal sysmodule ID: {:#x}", static_cast<u32>(id));
|
||||||
return ORBIS_SYSMODULE_INVALID_ID;
|
return ORBIS_SYSMODULE_INVALID_ID;
|
||||||
}
|
}
|
||||||
if (id == OrbisSysModuleInternal::ORBIS_SYSMODULE_INTERNAL_RAZOR_CPU) {
|
|
||||||
// Internal debugging library, report as not loaded so it won't be used.
|
|
||||||
return ORBIS_SYSMODULE_NOT_LOADED;
|
|
||||||
}
|
|
||||||
return ORBIS_OK;
|
return ORBIS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user