diff options
Diffstat (limited to 'pcr/reicast-git/sdl-opengl.patch')
-rw-r--r-- | pcr/reicast-git/sdl-opengl.patch | 251 |
1 files changed, 0 insertions, 251 deletions
diff --git a/pcr/reicast-git/sdl-opengl.patch b/pcr/reicast-git/sdl-opengl.patch deleted file mode 100644 index 372ec9a52..000000000 --- a/pcr/reicast-git/sdl-opengl.patch +++ /dev/null @@ -1,251 +0,0 @@ -diff -Nur a/core/khronos/GL3/gl3w.c b/core/khronos/GL3/gl3w.c ---- a/core/khronos/GL3/gl3w.c 2015-10-06 21:43:53.040336386 -0300 -+++ b/core/khronos/GL3/gl3w.c 2015-10-06 22:04:39.682388782 -0300 -@@ -1,6 +1,25 @@ - #include <GL3/gl3w.h> - --#ifdef _WIN32 -+#if defined(USE_SDL2) -+ #include <SDL2/SDL.h> -+ static void open_libgl(void) -+ { -+ SDL_GL_LoadLibrary(NULL); -+ } -+ -+ static void close_libgl(void) -+ { -+ SDL_GL_UnloadLibrary(); -+ } -+ -+ static void *get_proc(const char *proc) -+ { -+ void *res = NULL; -+ res = (void*)SDL_GL_GetProcAddress(proc); -+ return res; -+ } -+ -+#elif defined(_WIN32) - #define WIN32_LEAN_AND_MEAN 1 - #include <windows.h> - -diff -Nur a/core/sdl/sdl.cpp b/core/sdl/sdl.cpp ---- a/core/sdl/sdl.cpp 2015-10-06 21:43:53.048336444 -0300 -+++ b/core/sdl/sdl.cpp 2015-10-06 22:04:39.683388790 -0300 -@@ -5,6 +5,18 @@ - #include "sdl/sdl.h" - #ifdef GLES - #include <EGL/egl.h> -+#else -+ #ifndef USE_SDL2 -+ #error "Our SDL1.2 implementation only supports GLES. You need SDL2 for OpenGL 3 support!" -+ #endif -+ #include "khronos/GL3/gl3w.h" -+#endif -+ -+#ifdef USE_SDL2 -+ static SDL_Window* window = NULL; -+ static SDL_GLContext glcontext; -+#else -+ SDL_Surface *screen = NULL; - #endif - - #ifdef TARGET_PANDORA -@@ -14,8 +26,6 @@ - #endif - #define WINDOW_HEIGHT 480 - --SDL_Surface *screen = NULL; -- - static SDL_Joystick *JoySDL = 0; - - extern bool FrameSkipping; -@@ -80,11 +90,15 @@ - - AxisCount = SDL_JoystickNumAxes(JoySDL); - ButtonCount = SDL_JoystickNumButtons(JoySDL); -- Name = SDL_JoystickName(0); -- -+ #ifdef USE_SDL2 -+ Name = SDL_JoystickName(JoySDL); -+ #else -+ Name = SDL_JoystickName(0); -+ #endif -+ - printf("SDK: Found '%s' joystick with %d axes and %d buttons\n", Name, AxisCount, ButtonCount); - -- if (strcmp(Name,"Microsoft X-Box 360 pad")==0) -+ if (Name != NULL && strcmp(Name,"Microsoft X-Box 360 pad")==0) - { - sdl_map_btn = sdl_map_btn_xbox360; - sdl_map_axis = sdl_map_axis_xbox360; -@@ -113,12 +127,16 @@ - } - #endif - -- SDL_ShowCursor(0); -+ #ifndef USE_SDL2 -+ SDL_ShowCursor(0); - -- if (SDL_WM_GrabInput( SDL_GRAB_ON ) != SDL_GRAB_ON) -- { -- printf("SDK: Error while grabbing mouse\n"); -- } -+ if (SDL_WM_GrabInput( SDL_GRAB_ON ) != SDL_GRAB_ON) -+ { -+ printf("SDL: Error while grabbing mouse\n"); -+ } -+ #else -+ SDL_SetRelativeMouseMode(SDL_TRUE); -+ #endif - } - - void input_sdl_handle(u32 port) -@@ -397,7 +415,14 @@ - #ifdef TARGET_PANDORA - strncpy(OSD_Counters, text, 256); - #else -- SDL_WM_SetCaption(text, NULL); // *TODO* Set Icon also... -+ #ifdef USE_SDL2 -+ if(window) -+ { -+ SDL_SetWindowTitle(window, text); // *TODO* Set Icon also... -+ } -+ #else -+ SDL_WM_SetCaption(text, NULL); -+ #endif - #endif - } - -@@ -415,17 +440,79 @@ - - int window_width = cfgLoadInt("x11","width", WINDOW_WIDTH); - int window_height = cfgLoadInt("x11","height", WINDOW_HEIGHT); -+ - #ifdef TARGET_PANDORA - int flags = SDL_FULLSCREEN; - #else - int flags = SDL_SWSURFACE; - #endif -- screen = SDL_SetVideoMode(window_width, window_height, 0, flags); -- if (!screen) -- { -- die("error creating SDL screen"); -- } -- x11_disp = EGL_DEFAULT_DISPLAY; -- printf("Created SDL Windows (%ix%i) successfully\n", window_width, window_height); -+ -+ #if !defined(GLES) && defined(USE_SDL2) -+ flags |= SDL_WINDOW_OPENGL; -+ -+ SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE); -+ SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3); -+ SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 1); -+ SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8); -+ SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8); -+ SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8); -+ SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8); -+ SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24); -+ SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE, 8); -+ SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); -+ -+ window = SDL_CreateWindow("Reicast Emulator", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, window_width, window_height, flags); -+ if (!window) -+ { -+ die("error creating SDL window"); -+ } -+ -+ glcontext = SDL_GL_CreateContext(window); -+ if (!glcontext) -+ { -+ die("Error creating SDL GL context"); -+ } -+ SDL_GL_MakeCurrent(window, NULL); -+ #else -+ screen = SDL_SetVideoMode(window_width, window_height, 0, flags); -+ if (!screen) -+ { -+ die("error creating SDL screen"); -+ } -+ -+ x11_disp = EGL_DEFAULT_DISPLAY; -+ #endif -+ -+ printf("Created SDL Window (%ix%i) and GL Context successfully\n", window_width, window_height); - } - #endif -+ -+#if !defined(GLES) && defined(USE_SDL2) -+ extern int screen_width, screen_height; -+ -+ bool gl_init(void* wind, void* disp) -+ { -+ SDL_GL_MakeCurrent(window, glcontext); -+ return gl3wInit() != -1 && gl3wIsSupported(3, 1); -+ } -+ -+ void gl_swap() -+ { -+ SDL_GL_SwapWindow(window); -+ -+ /* Check if drawable has been resized */ -+ int new_width, new_height; -+ SDL_GL_GetDrawableSize(window, &new_width, &new_height); -+ -+ if (new_width != screen_width || new_height != screen_height) -+ { -+ screen_width = new_width; -+ screen_height = new_height; -+ } -+ } -+ -+ void gl_term() -+ { -+ SDL_GL_DeleteContext(glcontext); -+ } -+#endif -\ No newline at end of file -diff -Nur a/core/sdl/sdl.h b/core/sdl/sdl.h ---- a/core/sdl/sdl.h 2015-10-06 21:43:53.048336444 -0300 -+++ b/core/sdl/sdl.h 2015-10-06 22:04:39.683388790 -0300 -@@ -1,5 +1,9 @@ - #pragma once --#include <SDL/SDL.h> -+#ifdef USE_SDL2 -+ #include <SDL2/SDL.h> -+#else -+ #include <SDL/SDL.h> -+#endif - extern void* sdl_glc; - extern void input_sdl_init(); - extern void input_sdl_handle(u32 port); -diff -Nur a/shell/linux/Makefile b/shell/linux/Makefile ---- a/shell/linux/Makefile 2015-10-06 21:43:53.161337253 -0300 -+++ b/shell/linux/Makefile 2015-10-06 22:04:39.683388790 -0300 -@@ -175,6 +175,10 @@ - $(error Unknown platform) - endif - -+ifdef USE_SDL2 -+ USE_SDL := 1 -+endif -+ - RZDCY_SRC_DIR = ../../core - include $(RZDCY_SRC_DIR)/core.mk - -@@ -202,8 +206,14 @@ - endif - - ifdef USE_SDL -- CXXFLAGS += `sdl-config --cflags` -D USE_SDL -- LIBS += `sdl-config --libs` -+ CXXFLAGS += -D USE_SDL -+ ifdef USE_SDL2 -+ CXXFLAGS += `sdl2-config --cflags` -D USE_SDL2 -+ LIBS += `sdl2-config --libs` -+ else -+ CXXFLAGS += `sdl-config --cflags` -+ LIBS += `sdl-config --libs` -+ endif - endif - - ifdef PGO_MAKE |