From 30f41c02aec763d32e62351452da9ef582bc3472 Mon Sep 17 00:00:00 2001 From: 3gg <3gg@shellblade.net> Date: Fri, 6 Mar 2026 13:30:59 -0800 Subject: Move contrib libraries to contrib repo --- contrib/SDL-3.2.8/src/video/psp/SDL_pspgl.c | 190 ---------------------------- 1 file changed, 190 deletions(-) delete mode 100644 contrib/SDL-3.2.8/src/video/psp/SDL_pspgl.c (limited to 'contrib/SDL-3.2.8/src/video/psp/SDL_pspgl.c') diff --git a/contrib/SDL-3.2.8/src/video/psp/SDL_pspgl.c b/contrib/SDL-3.2.8/src/video/psp/SDL_pspgl.c deleted file mode 100644 index 0e58256..0000000 --- a/contrib/SDL-3.2.8/src/video/psp/SDL_pspgl.c +++ /dev/null @@ -1,190 +0,0 @@ -/* - Simple DirectMedia Layer - Copyright (C) 1997-2025 Sam Lantinga - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. -*/ -#include "SDL_internal.h" - -#ifdef SDL_VIDEO_DRIVER_PSP - -#include -#include - -#include "SDL_pspvideo.h" -#include "SDL_pspgl_c.h" - -/*****************************************************************************/ -// SDL OpenGL/OpenGL ES functions -/*****************************************************************************/ -#define EGLCHK(stmt) \ - do { \ - EGLint err; \ - \ - stmt; \ - err = eglGetError(); \ - if (err != EGL_SUCCESS) { \ - SDL_SetError("EGL error %d", err); \ - return NULL; \ - } \ - } while (0) - -bool PSP_GL_LoadLibrary(SDL_VideoDevice *_this, const char *path) -{ - return true; -} - -/* pspgl doesn't provide this call, so stub it out since SDL requires it. -#define GLSTUB(func,params) void func params {} - -GLSTUB(glOrtho,(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, - GLdouble zNear, GLdouble zFar)) -*/ -SDL_FunctionPointer PSP_GL_GetProcAddress(SDL_VideoDevice *_this, const char *proc) -{ - return eglGetProcAddress(proc); -} - -void PSP_GL_UnloadLibrary(SDL_VideoDevice *_this) -{ - eglTerminate(_this->gl_data->display); -} - -static EGLint width = 480; -static EGLint height = 272; - -SDL_GLContext PSP_GL_CreateContext(SDL_VideoDevice *_this, SDL_Window *window) -{ - - SDL_WindowData *wdata = window->internal; - - EGLint attribs[32]; - EGLDisplay display; - EGLContext context; - EGLSurface surface; - EGLConfig config; - EGLint num_configs; - int i; - - // EGL init taken from glutCreateWindow() in PSPGL's glut.c. - EGLCHK(display = eglGetDisplay(0)); - EGLCHK(eglInitialize(display, NULL, NULL)); - wdata->uses_gles = true; - window->flags |= SDL_WINDOW_FULLSCREEN; - - // Setup the config based on SDL's current values. - i = 0; - attribs[i++] = EGL_RED_SIZE; - attribs[i++] = _this->gl_config.red_size; - attribs[i++] = EGL_GREEN_SIZE; - attribs[i++] = _this->gl_config.green_size; - attribs[i++] = EGL_BLUE_SIZE; - attribs[i++] = _this->gl_config.blue_size; - attribs[i++] = EGL_DEPTH_SIZE; - attribs[i++] = _this->gl_config.depth_size; - - if (_this->gl_config.alpha_size) { - attribs[i++] = EGL_ALPHA_SIZE; - attribs[i++] = _this->gl_config.alpha_size; - } - if (_this->gl_config.stencil_size) { - attribs[i++] = EGL_STENCIL_SIZE; - attribs[i++] = _this->gl_config.stencil_size; - } - - attribs[i++] = EGL_NONE; - - EGLCHK(eglChooseConfig(display, attribs, &config, 1, &num_configs)); - - if (num_configs == 0) { - SDL_SetError("No valid EGL configs for requested mode"); - return NULL; - } - - EGLCHK(eglGetConfigAttrib(display, config, EGL_WIDTH, &width)); - EGLCHK(eglGetConfigAttrib(display, config, EGL_HEIGHT, &height)); - - EGLCHK(context = eglCreateContext(display, config, NULL, NULL)); - EGLCHK(surface = eglCreateWindowSurface(display, config, 0, NULL)); - EGLCHK(eglMakeCurrent(display, surface, surface, context)); - - _this->gl_data->display = display; - _this->gl_data->context = context; - _this->gl_data->surface = surface; - - return context; -} - -bool PSP_GL_MakeCurrent(SDL_VideoDevice *_this, SDL_Window *window, SDL_GLContext context) -{ - if (!eglMakeCurrent(_this->gl_data->display, _this->gl_data->surface, - _this->gl_data->surface, _this->gl_data->context)) { - return SDL_SetError("Unable to make EGL context current"); - } - return true; -} - -bool PSP_GL_SetSwapInterval(SDL_VideoDevice *_this, int interval) -{ - EGLBoolean status; - status = eglSwapInterval(_this->gl_data->display, interval); - if (status == EGL_TRUE) { - // Return success to upper level - _this->gl_data->swapinterval = interval; - return true; - } - // Failed to set swap interval - return SDL_SetError("Unable to set the EGL swap interval"); -} - -bool PSP_GL_GetSwapInterval(SDL_VideoDevice *_this, int *interval) -{ - *interval = _this->gl_data->swapinterval; - return true; -} - -bool PSP_GL_SwapWindow(SDL_VideoDevice *_this, SDL_Window *window) -{ - if (!eglSwapBuffers(_this->gl_data->display, _this->gl_data->surface)) { - return SDL_SetError("eglSwapBuffers() failed"); - } - return true; -} - -bool PSP_GL_DestroyContext(SDL_VideoDevice *_this, SDL_GLContext context) -{ - SDL_VideoData *phdata = _this->internal; - EGLBoolean status; - - if (phdata->egl_initialized != true) { - return SDL_SetError("PSP: GLES initialization failed, no OpenGL ES support"); - } - - // Check if OpenGL ES connection has been initialized - if (_this->gl_data->display != EGL_NO_DISPLAY) { - if (context != EGL_NO_CONTEXT) { - status = eglDestroyContext(_this->gl_data->display, context); - if (status != EGL_TRUE) { - // Error during OpenGL ES context destroying - return SDL_SetError("PSP: OpenGL ES context destroy error"); - } - } - } - return true; -} - -#endif // SDL_VIDEO_DRIVER_PSP -- cgit v1.2.3