mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-06-05 22:30:29 +00:00
opengles: Cleaned up several messes and removed unnecessary leftover bits.
This commit is contained in:
parent
2b24a58a41
commit
f8dd7bd673
2 changed files with 2 additions and 124 deletions
|
|
@ -921,7 +921,7 @@ macro(CheckOpenGLES)
|
|||
if(HAVE_OPENGLES_V1)
|
||||
set(HAVE_OPENGLES TRUE)
|
||||
set(SDL_VIDEO_OPENGL_ES 1)
|
||||
set(SDL_VIDEO_RENDER_OGL_ES 1)
|
||||
set(SDL_VIDEO_RENDER_OGL_ES 1)
|
||||
endif()
|
||||
if(HAVE_OPENGLES_V2)
|
||||
set(HAVE_OPENGLES TRUE)
|
||||
|
|
|
|||
|
|
@ -27,11 +27,6 @@
|
|||
#include "../SDL_sysrender.h"
|
||||
#include "../../SDL_utils_c.h"
|
||||
|
||||
|
||||
/* To prevent unnecessary window recreation,
|
||||
* these should match the defaults selected in SDL_GL_ResetAttributes
|
||||
*/
|
||||
|
||||
#define RENDERER_CONTEXT_MAJOR 1
|
||||
#define RENDERER_CONTEXT_MINOR 1
|
||||
|
||||
|
|
@ -93,8 +88,6 @@ typedef struct
|
|||
bool debug_enabled;
|
||||
int errors;
|
||||
char **error_messages;
|
||||
bool GL_ARB_debug_output_supported;
|
||||
|
||||
} GLES_RenderData;
|
||||
|
||||
typedef struct
|
||||
|
|
@ -959,60 +952,6 @@ static bool GLES_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cmd,
|
|||
return true;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
static bool GLES_RenderReadPixels(SDL_Renderer *renderer, const SDL_Rect *rect,
|
||||
Uint32 pixel_format, void *pixels, int pitch)
|
||||
{
|
||||
GLES_RenderData *data = (GLES_RenderData *)renderer->internal;
|
||||
Uint32 temp_format = renderer->target ? renderer->target->format : SDL_PIXELFORMAT_RGBA32;
|
||||
void *temp_pixels;
|
||||
int temp_pitch;
|
||||
Uint8 *src, *dst, *tmp;
|
||||
int w, h, length, rows;
|
||||
int status;
|
||||
|
||||
GLES_ActivateRenderer(renderer);
|
||||
|
||||
temp_pitch = rect->w * SDL_BYTESPERPIXEL(temp_format);
|
||||
temp_pixels = SDL_malloc(rect->h * temp_pitch);
|
||||
if (!temp_pixels) {
|
||||
return SDL_OutOfMemory();
|
||||
}
|
||||
|
||||
SDL_GetCurrentRenderOutputSize(renderer, &w, &h);
|
||||
|
||||
data->glPixelStorei(GL_PACK_ALIGNMENT, 1);
|
||||
|
||||
data->glReadPixels(rect->x, renderer->target ? rect->y : (h - rect->y) - rect->h,
|
||||
rect->w, rect->h, GL_RGBA, GL_UNSIGNED_BYTE, temp_pixels);
|
||||
|
||||
// Flip the rows to be top-down if necessary
|
||||
if (!renderer->target) {
|
||||
bool isstack;
|
||||
length = rect->w * SDL_BYTESPERPIXEL(temp_format);
|
||||
src = (Uint8 *)temp_pixels + (rect->h - 1) * temp_pitch;
|
||||
dst = (Uint8 *)temp_pixels;
|
||||
tmp = SDL_small_alloc(Uint8, length, &isstack);
|
||||
rows = rect->h / 2;
|
||||
while (rows--) {
|
||||
SDL_memcpy(tmp, dst, length);
|
||||
SDL_memcpy(dst, src, length);
|
||||
SDL_memcpy(src, tmp, length);
|
||||
dst += temp_pitch;
|
||||
src -= temp_pitch;
|
||||
}
|
||||
SDL_small_free(tmp, isstack);
|
||||
}
|
||||
|
||||
status = SDL_ConvertPixels(rect->w, rect->h,
|
||||
temp_format, temp_pixels, temp_pitch,
|
||||
pixel_format, pixels, pitch);
|
||||
SDL_free(temp_pixels);
|
||||
|
||||
return status;
|
||||
}
|
||||
*/
|
||||
static SDL_Surface *GLES_RenderReadPixels(SDL_Renderer *renderer, const SDL_Rect *rect)
|
||||
{
|
||||
GLES_RenderData *data = (GLES_RenderData *)renderer->internal;
|
||||
|
|
@ -1033,11 +972,7 @@ static SDL_Surface *GLES_RenderReadPixels(SDL_Renderer *renderer, const SDL_Rect
|
|||
|
||||
data->glPixelStorei(GL_PACK_ALIGNMENT, 1);
|
||||
data->glReadPixels(rect->x, y, rect->w, rect->h, GL_RGBA, GL_UNSIGNED_BYTE, surface->pixels);
|
||||
/* if (!GL_CheckError("glReadPixels()", renderer)) {
|
||||
SDL_DestroySurface(surface);
|
||||
return NULL;
|
||||
}
|
||||
*/
|
||||
|
||||
// Flip the rows to be top-down if necessary
|
||||
if (!renderer->target) {
|
||||
SDL_FlipSurface(surface, SDL_FLIP_VERTICAL);
|
||||
|
|
@ -1045,9 +980,6 @@ static SDL_Surface *GLES_RenderReadPixels(SDL_Renderer *renderer, const SDL_Rect
|
|||
return surface;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
static bool GLES_RenderPresent(SDL_Renderer *renderer)
|
||||
{
|
||||
GLES_ActivateRenderer(renderer);
|
||||
|
|
@ -1099,43 +1031,6 @@ static void GLES_DestroyRenderer(SDL_Renderer *renderer)
|
|||
}
|
||||
}
|
||||
|
||||
/* TODO TBR
|
||||
static bool GLES_BindTexture(SDL_Renderer *renderer, SDL_Texture *texture, float *texw, float *texh)
|
||||
{
|
||||
GLES_RenderData *data = (GLES_RenderData *)renderer->internal;
|
||||
GLES_TextureData *texturedata = (GLES_TextureData *)texture->internal;
|
||||
GLES_ActivateRenderer(renderer);
|
||||
|
||||
data->glEnable(GL_TEXTURE_2D);
|
||||
data->glBindTexture(texturedata->textype, texturedata->texture);
|
||||
|
||||
data->drawstate.texture = texture;
|
||||
data->drawstate.texturing = true;
|
||||
|
||||
if (texw) {
|
||||
*texw = (float)texturedata->texw;
|
||||
}
|
||||
if (texh) {
|
||||
*texh = (float)texturedata->texh;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool GLES_UnbindTexture(SDL_Renderer *renderer, SDL_Texture *texture)
|
||||
{
|
||||
GLES_RenderData *data = (GLES_RenderData *)renderer->internal;
|
||||
GLES_TextureData *texturedata = (GLES_TextureData *)texture->internal;
|
||||
GLES_ActivateRenderer(renderer);
|
||||
data->glDisable(texturedata->textype);
|
||||
|
||||
data->drawstate.texture = NULL;
|
||||
data->drawstate.texturing = false;
|
||||
|
||||
return true;
|
||||
}
|
||||
*/
|
||||
|
||||
static bool GLES_SetVSync(SDL_Renderer *renderer, const int vsync)
|
||||
{
|
||||
int interval = 0;
|
||||
|
|
@ -1230,28 +1125,12 @@ static bool GLES_CreateRenderer(SDL_Renderer *renderer, SDL_Window *window, SDL_
|
|||
|
||||
SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_RGBA32);
|
||||
|
||||
|
||||
// Check for debug output support
|
||||
if (SDL_GL_GetAttribute(SDL_GL_CONTEXT_FLAGS, &value) &&
|
||||
(value & SDL_GL_CONTEXT_DEBUG_FLAG)) {
|
||||
data->debug_enabled = true;
|
||||
}
|
||||
|
||||
if (data->debug_enabled && SDL_GL_ExtensionSupported("GL_ARB_debug_output")) {
|
||||
// PFNGLDEBUGMESSAGECALLBACKARBPROC glDebugMessageCallbackARBFunc = (PFNGLDEBUGMESSAGECALLBACKARBPROC)SDL_GL_GetProcAddress("glDebugMessageCallbackARB");
|
||||
|
||||
data->GL_ARB_debug_output_supported = true;
|
||||
// data->glGetPointerv(GL_DEBUG_CALLBACK_FUNCTION_ARB, (GLvoid **)(char *)&data->next_error_callback);
|
||||
// data->glGetPointerv(GL_DEBUG_CALLBACK_USER_PARAM_ARB, &data->next_error_userparam);
|
||||
// glDebugMessageCallbackARBFunc(GL_HandleDebugMessage, renderer);
|
||||
|
||||
// Make sure our callback is called when errors actually happen
|
||||
// data->glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
value = 0;
|
||||
data->glGetIntegerv(GL_MAX_TEXTURE_SIZE, &value);
|
||||
SDL_SetNumberProperty(SDL_GetRendererProperties(renderer), SDL_PROP_RENDERER_MAX_TEXTURE_SIZE_NUMBER, value);
|
||||
|
|
@ -1313,4 +1192,3 @@ SDL_RenderDriver GLES_RenderDriver = {
|
|||
|
||||
#endif /* SDL_VIDEO_RENDER_OGL_ES */
|
||||
|
||||
/* vi: set ts=4 sw=4 expandtab: */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue