mirror of
https://github.com/KytyPS5/KytyPS5.git
synced 2026-10-21 11:26:56 +02:00
videoout: WQHD detection and VRR peg/unpeg
This commit is contained in:
@@ -1814,6 +1814,38 @@ KYTY_SYSV_ABI int VideoOutGetOutputStatus(int handle, VideoOutOutputStatus* stat
|
|||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
KYTY_SYSV_ABI int VideoOutAllowOutputResolutionWqhdDetection(int handle) {
|
||||||
|
if (!DriverState().IsOpened(handle)) {
|
||||||
|
return VIDEO_OUT_ERROR_INVALID_HANDLE;
|
||||||
|
}
|
||||||
|
return OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
KYTY_SYSV_ABI int VideoOutVrrPegToFixedRate(int handle, uint64_t arg1, uint64_t arg2) {
|
||||||
|
PRINT_NAME();
|
||||||
|
|
||||||
|
static std::atomic_bool logged {false};
|
||||||
|
if (!logged.exchange(true, std::memory_order_relaxed)) {
|
||||||
|
LOGF("\t handle = %d\n"
|
||||||
|
"\t arg1 = 0x%016" PRIx64 "\n"
|
||||||
|
"\t arg2 = 0x%016" PRIx64 "\n",
|
||||||
|
handle, arg1, arg2);
|
||||||
|
}
|
||||||
|
|
||||||
|
return OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
KYTY_SYSV_ABI int VideoOutVrrUnpegFromFixedRate(int handle) {
|
||||||
|
PRINT_NAME();
|
||||||
|
|
||||||
|
static std::atomic_bool logged {false};
|
||||||
|
if (!logged.exchange(true, std::memory_order_relaxed)) {
|
||||||
|
LOGF("\t handle = %d\n", handle);
|
||||||
|
}
|
||||||
|
|
||||||
|
return OK;
|
||||||
|
}
|
||||||
|
|
||||||
static int ValidateOutputConfig(int handle, uint64_t mode, const VideoOutOutputOptions* options,
|
static int ValidateOutputConfig(int handle, uint64_t mode, const VideoOutOutputOptions* options,
|
||||||
void* reserved_ptr, uint64_t reserved) {
|
void* reserved_ptr, uint64_t reserved) {
|
||||||
if (!DriverState().IsOpened(handle)) {
|
if (!DriverState().IsOpened(handle)) {
|
||||||
|
|||||||
@@ -90,6 +90,9 @@ KYTY_SYSV_ABI int VideoOutGetEventData(const LibKernel::EventQueue::KernelEvent*
|
|||||||
KYTY_SYSV_ABI int VideoOutGetEventCount(const LibKernel::EventQueue::KernelEvent* ev);
|
KYTY_SYSV_ABI int VideoOutGetEventCount(const LibKernel::EventQueue::KernelEvent* ev);
|
||||||
KYTY_SYSV_ABI int VideoOutWaitVblank(int handle);
|
KYTY_SYSV_ABI int VideoOutWaitVblank(int handle);
|
||||||
KYTY_SYSV_ABI int VideoOutGetOutputStatus(int handle, VideoOutOutputStatus* status);
|
KYTY_SYSV_ABI int VideoOutGetOutputStatus(int handle, VideoOutOutputStatus* status);
|
||||||
|
KYTY_SYSV_ABI int VideoOutAllowOutputResolutionWqhdDetection(int handle);
|
||||||
|
KYTY_SYSV_ABI int VideoOutVrrPegToFixedRate(int handle, uint64_t arg1, uint64_t arg2);
|
||||||
|
KYTY_SYSV_ABI int VideoOutVrrUnpegFromFixedRate(int handle);
|
||||||
KYTY_SYSV_ABI int VideoOutInitializeOutputOptions(VideoOutOutputOptions* options);
|
KYTY_SYSV_ABI int VideoOutInitializeOutputOptions(VideoOutOutputOptions* options);
|
||||||
KYTY_SYSV_ABI int VideoOutIsOutputSupported(int handle, uint64_t mode,
|
KYTY_SYSV_ABI int VideoOutIsOutputSupported(int handle, uint64_t mode,
|
||||||
const VideoOutOutputOptions* options,
|
const VideoOutOutputOptions* options,
|
||||||
|
|||||||
@@ -39,6 +39,8 @@ LIB_DEFINE(InitVideoOut_1) {
|
|||||||
LIB_FUNC("Mt4QHHkxkOc", VideoOut::VideoOutGetEventCount);
|
LIB_FUNC("Mt4QHHkxkOc", VideoOut::VideoOutGetEventCount);
|
||||||
LIB_FUNC("j6RaAUlaLv0", VideoOut::VideoOutWaitVblank);
|
LIB_FUNC("j6RaAUlaLv0", VideoOut::VideoOutWaitVblank);
|
||||||
LIB_FUNC("utPrVdxio-8", VideoOut::VideoOutGetOutputStatus);
|
LIB_FUNC("utPrVdxio-8", VideoOut::VideoOutGetOutputStatus);
|
||||||
|
LIB_FUNC("5tRaBjtdTzY", VideoOut::VideoOutVrrPegToFixedRate);
|
||||||
|
LIB_FUNC("T4ucGB8CsnM", VideoOut::VideoOutVrrUnpegFromFixedRate);
|
||||||
LIB_FUNC("+I4K03i3EL0", VideoOut::VideoOutInitializeOutputOptions);
|
LIB_FUNC("+I4K03i3EL0", VideoOut::VideoOutInitializeOutputOptions);
|
||||||
LIB_FUNC("Nv8c-Kb+DUM", VideoOut::VideoOutIsOutputSupported);
|
LIB_FUNC("Nv8c-Kb+DUM", VideoOut::VideoOutIsOutputSupported);
|
||||||
LIB_FUNC("w0hLuNarQxY", VideoOut::VideoOutConfigureOutput);
|
LIB_FUNC("w0hLuNarQxY", VideoOut::VideoOutConfigureOutput);
|
||||||
@@ -46,6 +48,7 @@ LIB_DEFINE(InitVideoOut_1) {
|
|||||||
LIB_FUNC("MCJ8SkzsQxY", VideoOut::VideoOutLatencyMeasureSetStartPoint);
|
LIB_FUNC("MCJ8SkzsQxY", VideoOut::VideoOutLatencyMeasureSetStartPoint);
|
||||||
LIB_FUNC("DYhhWbJSeRg", VideoOut::VideoOutColorSettingsSetGamma);
|
LIB_FUNC("DYhhWbJSeRg", VideoOut::VideoOutColorSettingsSetGamma);
|
||||||
LIB_FUNC("pv9CI5VC+R0", VideoOut::VideoOutAdjustColor);
|
LIB_FUNC("pv9CI5VC+R0", VideoOut::VideoOutAdjustColor);
|
||||||
|
LIB_FUNC("w7Ipp9Xl7hg", VideoOut::VideoOutAllowOutputResolutionWqhdDetection);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace LibGen5
|
} // namespace LibGen5
|
||||||
|
|||||||
Reference in New Issue
Block a user