From cacfd5760fe2caeb8268ec2c7f269e78a57ece4a Mon Sep 17 00:00:00 2001 From: pelya Date: Thu, 1 Jul 2010 18:16:31 +0300 Subject: [PATCH] Allow more pixel formats to OpenGL ES renderer --- .../project/jni/sdl/src/video/SDL_renderer_gles.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/alienblaster/project/jni/sdl/src/video/SDL_renderer_gles.c b/alienblaster/project/jni/sdl/src/video/SDL_renderer_gles.c index 54b11d4e6..766337459 100644 --- a/alienblaster/project/jni/sdl/src/video/SDL_renderer_gles.c +++ b/alienblaster/project/jni/sdl/src/video/SDL_renderer_gles.c @@ -120,7 +120,9 @@ SDL_RenderDriver GL_ES_RenderDriver = { SDL_PIXELFORMAT_ABGR1555, SDL_PIXELFORMAT_BGR565, #ifdef ANDROID - SDL_PIXELFORMAT_RGB565, + SDL_PIXELFORMAT_RGB565, // Android is special, GL pixelformat has R and B channels not swapped + SDL_PIXELFORMAT_ARGB1555, + SDL_PIXELFORMAT_ARGB4444, #endif SDL_PIXELFORMAT_BGR24, SDL_PIXELFORMAT_ABGR8888}, @@ -419,6 +421,16 @@ GLES_CreateTexture(SDL_Renderer * renderer, SDL_Texture * texture) format = GL_RGB; type = GL_UNSIGNED_SHORT_5_6_5; break; + case SDL_PIXELFORMAT_ARGB1555: + internalFormat = GL_RGBA; + format = GL_RGBA; + type = GL_UNSIGNED_SHORT_5_5_5_1; + break; + case SDL_PIXELFORMAT_ARGB4444: + internalFormat = GL_RGBA; + format = GL_RGBA; + type = GL_UNSIGNED_SHORT_4_4_4_4; + break; #endif default: SDL_SetError("Unsupported by OpenGL ES texture format");