mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-08-04 08:22:32 +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/share_play/shareplay.cpp
|
||||
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
|
||||
|
@ -121,6 +121,7 @@ bool ParseFilterRule(Filter& instance, Iterator begin, Iterator end) {
|
||||
SUB(Lib, Fiber) \
|
||||
SUB(Lib, Vdec2) \
|
||||
SUB(Lib, Videodec) \
|
||||
SUB(Lib, RazorCpu) \
|
||||
CLS(Frontend) \
|
||||
CLS(Render) \
|
||||
SUB(Render, Vulkan) \
|
||||
|
@ -88,6 +88,7 @@ enum class Class : u8 {
|
||||
Lib_Fiber, ///< The LibSceFiber implementation.
|
||||
Lib_Vdec2, ///< The LibSceVideodec2 implementation.
|
||||
Lib_Videodec, ///< The LibSceVideodec implementation.
|
||||
Lib_RazorCpu, ///< The LibRazorCpu implementation.
|
||||
Frontend, ///< Emulator UI
|
||||
Render, ///< Video Core
|
||||
Render_Vulkan, ///< Vulkan backend
|
||||
|
@ -28,6 +28,7 @@
|
||||
#include "core/libraries/pad/pad.h"
|
||||
#include "core/libraries/playgo/playgo.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/rtc/rtc.h"
|
||||
#include "core/libraries/save_data/dialog/savedatadialog.h"
|
||||
@ -87,6 +88,7 @@ void InitHLELibs(Core::Loader::SymbolsResolver* sym) {
|
||||
Libraries::SharePlay::RegisterlibSceSharePlay(sym);
|
||||
Libraries::Remoteplay::RegisterlibSceRemoteplay(sym);
|
||||
Libraries::Videodec::RegisterlibSceVideodec(sym);
|
||||
Libraries::RazorCpu::RegisterlibSceRazorCpu(sym);
|
||||
}
|
||||
|
||||
} // 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));
|
||||
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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user