Files
AnyPS5/core/libs/prx/libSceAgcDriver/Unimplemented.cpp
T
hypermistandClaude Opus 5.5 9204f9d64f feat(libSceAgcDriver): add the retail debug, capture and GPU reset results
Export 24 absent driver calls with the constant results and output
zeroing of the retail libSceAgcDriver.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 02:10:55 +13:00

150 lines
3.3 KiB
C++

#include <cstdint>
#include <cstddef>
#include <cstring>
#include "SceTypes.hpp"
#include "prx/libc/include/General.hpp"
namespace {
constexpr int DEBUG_UNAVAILABLE = static_cast<int>(0x8A6C1000);
constexpr int DRIVER_FEATURE_UNAVAILABLE = static_cast<int>(0x8A6D0001);
constexpr int DRIVER_NULL_OUTPUT = static_cast<int>(0x8A6D0003);
constexpr int GPU_RESET_UNAVAILABLE = static_cast<int>(0x8A6C0045);
constexpr std::size_t TOOL_MEMORY_RANGE_SIZE = 12;
}
extern "C" {
int APS5_VABI sceAgcDriverGetShaderDebuggingStatus() {
return 1;
}
int APS5_VABI sceAgcDriverRegisterDefaultOwner(uint32_t owner) {
(void)owner;
return 0;
}
int APS5_VABI sceAgcDriverSetValidationErrorOutputFrequency(uint32_t frequency) {
(void)frequency;
return DEBUG_UNAVAILABLE;
}
int APS5_VABI sceAgcDriverSetSubmitValidationMode(uint32_t mode) {
(void)mode;
return DEBUG_UNAVAILABLE;
}
int APS5_VABI sceAgcDriverGetSubmitValidationConfig(void* config) {
(void)config;
return DEBUG_UNAVAILABLE;
}
int APS5_VABI sceAgcDriverGetSubmitValidationMode(uint32_t* mode) {
(void)mode;
return DEBUG_UNAVAILABLE;
}
int APS5_VABI sceAgcDriverSetSubmitValidationConfig(const void* config) {
(void)config;
return DEBUG_UNAVAILABLE;
}
int APS5_VABI sceAgcDriverGetHsOffchipParam(uint16_t* first, uint16_t* second) {
(void)first;
(void)second;
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI sceAgcDriverSetValidationDisabled() {
return DEBUG_UNAVAILABLE;
}
int APS5_VABI sceAgcDriverGetCaptureConfig() {
return DEBUG_UNAVAILABLE;
}
int APS5_VABI sceAgcDriverSetCaptureConfig() {
return DEBUG_UNAVAILABLE;
}
int APS5_VABI sceAgcDriverGetGpuPrintfWorkArea() {
return DRIVER_FEATURE_UNAVAILABLE;
}
int APS5_VABI sceAgcDriverSetGpuPrintfEnabled() {
return DRIVER_FEATURE_UNAVAILABLE;
}
int APS5_VABI sceAgcDriverDbgReadRegister() {
return 0;
}
int APS5_VABI sceAgcDriverDbgWriteRegister() {
return DRIVER_FEATURE_UNAVAILABLE;
}
int APS5_VABI sceAgcDriverGetGpuRefClks() {
return DRIVER_FEATURE_UNAVAILABLE;
}
int APS5_VABI sceAgcDriverIsSuspendPointInFlight() {
return DRIVER_FEATURE_UNAVAILABLE;
}
int APS5_VABI sceAgcDriverIsPaDebug() {
return 0;
}
int APS5_VABI sceAgcDriverGetExceptionStatus() {
return 0;
}
int APS5_VABI sceAgcDriverGetTraceInitiator() {
return 0;
}
int APS5_VABI sceAgcDriverRegisterGpuResetCallbacks() {
return 0;
}
int APS5_VABI sceAgcDriverUnregisterGpuResetCallbacks() {
return 0;
}
int APS5_VABI sceAgdResetGpu() {
return GPU_RESET_UNAVAILABLE;
}
int APS5_VABI sceAgcDriverSysSubmitFlipHandleProxy() {
return 0;
}
int APS5_VABI sceAgcDriverUserDataImmediateWrite() {
return 0;
}
int APS5_VABI sceAgcDriverUserDataImmediateWritePacket() {
return 0;
}
int APS5_VABI sceAgcDriverGetCoredumpMode(uint32_t* mode) {
if (mode == nullptr) return DRIVER_NULL_OUTPUT;
*mode = 0;
return 0;
}
int APS5_VABI sceAgcDriverAllocateToolMemoryForGpuReset(uint64_t, uint64_t, uint64_t, void* range) {
if (range != nullptr) std::memset(range, 0, TOOL_MEMORY_RANGE_SIZE);
return DRIVER_FEATURE_UNAVAILABLE;
}
int APS5_VABI sceAgcDriverGetAllocatedToolMemoryForGpuReset(uint64_t, void* range) {
if (range != nullptr) std::memset(range, 0, TOOL_MEMORY_RANGE_SIZE);
return DRIVER_FEATURE_UNAVAILABLE;
}
}