From bbdd08e0b29ac08a6cb4ff83e209d3298b711a51 Mon Sep 17 00:00:00 2001 From: Ivan Epifanov Date: Thu, 10 Jun 2021 13:20:39 +0300 Subject: [PATCH] Build without PIB support by default and add flag to enable it --- CMakeLists.txt | 24 +++++++++++++++++------- include/SDL_config.h.cmake | 2 ++ src/video/vita/SDL_vitagl.c | 3 +-- src/video/vita/SDL_vitavideo.c | 8 ++++---- 4 files changed, 24 insertions(+), 13 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 92ed7995d..83ce7b881 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -420,6 +420,10 @@ set(SDL_STATIC ${SDL_STATIC_ENABLED_BY_DEFAULT} CACHE BOOL "Build a static versi dep_option(SDL_STATIC_PIC "Static version of the library should be built with Position Independent Code" OFF "SDL_STATIC" OFF) set_option(SDL_TEST "Build the test directory" OFF) +if(VITA) + set_option(VIDEO_VITA_PIB "Build with PSVita piglet gles2 support" OFF) +endif() + # General source files file(GLOB SOURCE_FILES ${SDL2_SOURCE_DIR}/src/*.c @@ -2142,16 +2146,22 @@ elseif(VITA) set(SOURCE_FILES ${SOURCE_FILES} ${VITA_VIDEO_SOURCES}) set(HAVE_SDL_VIDEO TRUE) - check_include_file(pib.h HAVE_PIGS_IN_BLANKET_H) + if(VIDEO_VITA_PIB) + check_include_file(pib.h HAVE_PIGS_IN_BLANKET_H) - if(HAVE_PIGS_IN_BLANKET_H) - set(SDL_VIDEO_OPENGL_ES2 1) - list(APPEND EXTRA_LIBS - pib - ) - + if(HAVE_PIGS_IN_BLANKET_H) + set(SDL_VIDEO_OPENGL_ES2 1) + list(APPEND EXTRA_LIBS + pib + ) + set(HAVE_VIDEO_VITA_PIB ON) + set(SDL_VIDEO_VITA_PIB 1) + else() + set(HAVE_VIDEO_VITA_PIB OFF) + endif() endif() + set(SDL_VIDEO_RENDER_VITA_GXM 1) list(APPEND EXTRA_LIBS diff --git a/include/SDL_config.h.cmake b/include/SDL_config.h.cmake index 8463f47b1..0b02cd708 100644 --- a/include/SDL_config.h.cmake +++ b/include/SDL_config.h.cmake @@ -473,6 +473,8 @@ #cmakedefine SDL_IPHONE_KEYBOARD @SDL_IPHONE_KEYBOARD@ #cmakedefine SDL_IPHONE_LAUNCHSCREEN @SDL_IPHONE_LAUNCHSCREEN@ +#cmakedefine SDL_VIDEO_VITA_PIB @SDL_VIDEO_VITA_PIB@ + #if !defined(__WIN32__) && !defined(__WINRT__) # if !defined(_STDINT_H_) && !defined(_STDINT_H) && !defined(HAVE_STDINT_H) && !defined(_HAVE_STDINT_H) typedef unsigned int size_t; diff --git a/src/video/vita/SDL_vitagl.c b/src/video/vita/SDL_vitagl.c index 2f40e2c59..ae6087bda 100644 --- a/src/video/vita/SDL_vitagl.c +++ b/src/video/vita/SDL_vitagl.c @@ -20,8 +20,7 @@ */ #include "../../SDL_internal.h" -#if SDL_VIDEO_DRIVER_VITA && SDL_VIDEO_OPENGL_ES2 - +#if SDL_VIDEO_DRIVER_VITA && SDL_VIDEO_VITA_PIB #include #include diff --git a/src/video/vita/SDL_vitavideo.c b/src/video/vita/SDL_vitavideo.c index b09ab142e..5df0fe1be 100644 --- a/src/video/vita/SDL_vitavideo.c +++ b/src/video/vita/SDL_vitavideo.c @@ -38,7 +38,7 @@ #include "SDL_vitakeyboard.h" #include "SDL_vitamouse_c.h" #include "SDL_vitaframebuffer.h" -#if SDL_VIDEO_OPENGL_ES2 +#if SDL_VIDEO_VITA_PIB #include "SDL_vitagl_c.h" #endif #include @@ -62,7 +62,7 @@ VITA_Create() { SDL_VideoDevice *device; SDL_VideoData *phdata; -#if SDL_VIDEO_OPENGL_ES2 +#if SDL_VIDEO_VITA_PIB SDL_GLDriverData *gldata; #endif /* Initialize SDL_VideoDevice structure */ @@ -79,7 +79,7 @@ VITA_Create() SDL_free(device); return NULL; } -#if SDL_VIDEO_OPENGL_ES2 +#if SDL_VIDEO_VITA_PIB gldata = (SDL_GLDriverData *) SDL_calloc(1, sizeof(SDL_GLDriverData)); if (gldata == NULL) { @@ -130,7 +130,7 @@ VITA_Create() device->DestroyWindowFramebuffer = VITA_DestroyWindowFramebuffer; */ -#if SDL_VIDEO_OPENGL_ES2 +#if SDL_VIDEO_VITA_PIB device->GL_LoadLibrary = VITA_GL_LoadLibrary; device->GL_GetProcAddress = VITA_GL_GetProcAddress; device->GL_UnloadLibrary = VITA_GL_UnloadLibrary;