Răsfoiți Sursa

Vita: add support for disabling 'screensaver' (screen dimming and suspend)

Ivan Epifanov 3 ani în urmă
părinte
comite
8d1e0ca324
3 a modificat fișierele cu 9 adăugiri și 2 ștergeri
  1. 1 0
      CMakeLists.txt
  2. 8 1
      src/video/vita/SDL_vitavideo.c
  3. 0 1
      src/video/vita/SDL_vitavideo.h

+ 1 - 0
CMakeLists.txt

@@ -2246,6 +2246,7 @@ elseif(VITA)
       SceHid_stub
       SceMotion_stub
       ScePower_stub
+      SceProcessmgr_stub
       m
     )
     if(HAVE_VIDEO_VITA_PIB)

+ 8 - 1
src/video/vita/SDL_vitavideo.c

@@ -33,6 +33,7 @@
 #include "../../events/SDL_keyboard_c.h"
 
 /* VITA declarations */
+#include <psp2/kernel/processmgr.h>
 #include "SDL_vitavideo.h"
 #include "SDL_vitatouch.h"
 #include "SDL_vitakeyboard.h"
@@ -346,8 +347,8 @@ VITA_RestoreWindow(_THIS, SDL_Window * window)
 void
 VITA_SetWindowGrab(_THIS, SDL_Window * window, SDL_bool grabbed)
 {
-
 }
+
 void
 VITA_DestroyWindow(_THIS, SDL_Window * window)
 {
@@ -555,6 +556,12 @@ void VITA_PumpEvents(_THIS)
 #if !defined(SDL_VIDEO_VITA_PVR)
     SDL_VideoData *videodata = (SDL_VideoData *)_this->driverdata;
 #endif
+
+    if (_this->suspend_screensaver) {
+        // cancel all idle timers to prevent vita going to sleep
+        sceKernelPowerTick(SCE_KERNEL_POWER_TICK_DEFAULT);
+    }
+
     VITA_PollTouch();
     VITA_PollKeyboard();
     VITA_PollMouse();

+ 0 - 1
src/video/vita/SDL_vitavideo.h

@@ -38,7 +38,6 @@ typedef struct SDL_VideoData
 
     SceWChar16 ime_buffer[SCE_IME_DIALOG_MAX_TEXT_LENGTH];
     SDL_bool ime_active;
-
 } SDL_VideoData;