From a3bdc9e4cc908e3bff66c07b10d0507c0e35b512 Mon Sep 17 00:00:00 2001 From: georgemoralis Date: Tue, 5 Sep 2023 15:14:43 +0300 Subject: [PATCH] sceVideoOutSetFlipRate,sceVideoOutGetResolutionStatus implementation --- src/Core/PS4/HLE/Graphics/Objects/video_out_ctx.h | 2 ++ src/Core/PS4/HLE/Graphics/video_out.cpp | 14 ++++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/Core/PS4/HLE/Graphics/Objects/video_out_ctx.h b/src/Core/PS4/HLE/Graphics/Objects/video_out_ctx.h index 91f1aa91..9cd8f75b 100644 --- a/src/Core/PS4/HLE/Graphics/Objects/video_out_ctx.h +++ b/src/Core/PS4/HLE/Graphics/Objects/video_out_ctx.h @@ -13,6 +13,8 @@ struct VideoConfigInternal { SceVideoOutFlipStatus m_flip_status; SceVideoOutVblankStatus m_vblank_status; std::vector m_flip_evtEq; + int m_flip_rate = 0; + SceVideoOutResolutionStatus m_resolution; }; class VideoOutCtx { diff --git a/src/Core/PS4/HLE/Graphics/video_out.cpp b/src/Core/PS4/HLE/Graphics/video_out.cpp index 04a17f89..4dce34bc 100644 --- a/src/Core/PS4/HLE/Graphics/video_out.cpp +++ b/src/Core/PS4/HLE/Graphics/video_out.cpp @@ -100,9 +100,10 @@ s32 PS4_SYSV_ABI sceVideoOutRegisterBuffers(s32 handle, s32 startIndex, void* co return 0; } s32 PS4_SYSV_ABI sceVideoOutSetFlipRate(s32 handle, s32 rate) { - // BREAKPOINT(); - PRINT_DUMMY_FUNCTION_NAME(); - return 0; + PRINT_FUNCTION_NAME(); + auto* videoOut = Singleton::Instance(); + videoOut->getCtx(handle)->m_flip_rate = rate; + return SCE_OK; } s32 PS4_SYSV_ABI sceVideoOutIsFlipPending(s32 handle) { // BREAKPOINT(); @@ -120,9 +121,10 @@ s32 PS4_SYSV_ABI sceVideoOutGetFlipStatus(s32 handle, SceVideoOutFlipStatus* sta return 0; } s32 PS4_SYSV_ABI sceVideoOutGetResolutionStatus(s32 handle, SceVideoOutResolutionStatus* status) { - // BREAKPOINT(); - PRINT_DUMMY_FUNCTION_NAME(); - return 0; + PRINT_FUNCTION_NAME(); + auto* videoOut = Singleton::Instance(); + *status = videoOut->getCtx(handle)->m_resolution; + return SCE_OK; } s32 PS4_SYSV_ABI sceVideoOutOpen(SceUserServiceUserId userId, s32 busType, s32 index, const void* param) { PRINT_FUNCTION_NAME();