Commit 0e1d3a50 authored by Sam Lantinga's avatar Sam Lantinga

Removed extra unneeded pixel formats, added support for VSYNC on other platforms besides Zune HD.

parent f2c40726
...@@ -46,40 +46,8 @@ SDL_RenderDriver GLES2_RenderDriver = { ...@@ -46,40 +46,8 @@ SDL_RenderDriver GLES2_RenderDriver = {
{ {
"opengles2", "opengles2",
(SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC), (SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC),
#if GLES2_ASSUME_BGRA 1,
11, {SDL_PIXELFORMAT_ABGR8888},
{
SDL_PIXELFORMAT_ABGR8888,
SDL_PIXELFORMAT_ABGR4444,
SDL_PIXELFORMAT_ABGR1555,
SDL_PIXELFORMAT_BGR565,
SDL_PIXELFORMAT_BGR24,
SDL_PIXELFORMAT_ARGB8888,
SDL_PIXELFORMAT_ARGB4444,
SDL_PIXELFORMAT_ARGB1555,
SDL_PIXELFORMAT_RGB565,
SDL_PIXELFORMAT_RGB24
},
#elif GLES2_ASSUME_BGRA8888
7,
{
SDL_PIXELFORMAT_ABGR8888,
SDL_PIXELFORMAT_ABGR4444,
SDL_PIXELFORMAT_ABGR1555,
SDL_PIXELFORMAT_BGR565,
SDL_PIXELFORMAT_BGR24,
SDL_PIXELFORMAT_ARGB8888
},
#else
6,
{
SDL_PIXELFORMAT_ABGR8888,
SDL_PIXELFORMAT_ABGR4444,
SDL_PIXELFORMAT_ABGR1555,
SDL_PIXELFORMAT_BGR565,
SDL_PIXELFORMAT_BGR24
},
#endif
0, 0,
0 0
} }
...@@ -248,9 +216,6 @@ GLES2_DestroyRenderer(SDL_Renderer *renderer) ...@@ -248,9 +216,6 @@ GLES2_DestroyRenderer(SDL_Renderer *renderer)
* Texture APIs * * Texture APIs *
*************************************************************************************************/ *************************************************************************************************/
#define GL_BGR_EXT 0x80E0
#define GL_BGRA_EXT 0x80E1
static int GLES2_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture); static int GLES2_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture);
static void GLES2_DestroyTexture(SDL_Renderer *renderer, SDL_Texture *texture); static void GLES2_DestroyTexture(SDL_Renderer *renderer, SDL_Texture *texture);
static int GLES2_LockTexture(SDL_Renderer *renderer, SDL_Texture *texture, const SDL_Rect *rect, static int GLES2_LockTexture(SDL_Renderer *renderer, SDL_Texture *texture, const SDL_Rect *rect,
...@@ -272,50 +237,10 @@ GLES2_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture) ...@@ -272,50 +237,10 @@ GLES2_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture)
/* Determine the corresponding GLES texture format params */ /* Determine the corresponding GLES texture format params */
switch (texture->format) switch (texture->format)
{ {
case SDL_PIXELFORMAT_BGR24:
format = GL_RGB;
type = GL_UNSIGNED_BYTE;
break;
case SDL_PIXELFORMAT_ABGR8888: case SDL_PIXELFORMAT_ABGR8888:
format = GL_RGBA; format = GL_RGBA;
type = GL_UNSIGNED_BYTE; type = GL_UNSIGNED_BYTE;
break; break;
case SDL_PIXELFORMAT_BGR565:
format = GL_RGB;
type = GL_UNSIGNED_SHORT_5_6_5;
break;
case SDL_PIXELFORMAT_ABGR1555:
format = GL_RGBA;
type = GL_UNSIGNED_SHORT_5_5_5_1;
break;
case SDL_PIXELFORMAT_ABGR4444:
format = GL_RGBA;
type = GL_UNSIGNED_SHORT_4_4_4_4;
break;
#if GLES2_ASSUME_BGRA || GLES2_ASSUME_BGRA8888
case SDL_PIXELFORMAT_ARGB8888:
format = GL_BGRA_EXT;
type = GL_UNSIGNED_BYTE;
break;
#endif /* GLES2_ASSUME_BGRA || GLES2_ASSUME_BGRA8888 */
#if GLES2_ASSUME_BGRA
case SDL_PIXELFORMAT_RGB24:
format = GL_BGR_EXT;
type = GL_UNSIGNED_BYTE;
break;
case SDL_PIXELFORMAT_RGB565:
format = GL_BGR_EXT;
type = GL_UNSIGNED_SHORT_5_6_5;
break;
case SDL_PIXELFORMAT_ARGB1555:
format = GL_BGRA_EXT;
type = GL_UNSIGNED_SHORT_5_5_5_1;
break;
case SDL_PIXELFORMAT_ARGB4444:
format = GL_BGRA_EXT;
type = GL_UNSIGNED_SHORT_4_4_4_4;
break;
#endif /* GLES2_ASSUME_BGRA */
default: default:
SDL_SetError("Texture format not supported"); SDL_SetError("Texture format not supported");
return -1; return -1;
...@@ -1181,6 +1106,20 @@ GLES2_CreateRenderer(SDL_Window *window, Uint32 flags) ...@@ -1181,6 +1106,20 @@ GLES2_CreateRenderer(SDL_Window *window, Uint32 flags)
SDL_free(rdata); SDL_free(rdata);
return NULL; return NULL;
} }
if (SDL_GL_MakeCurrent(window, rdata->context) < 0) {
SDL_free(renderer);
SDL_free(rdata);
return NULL;
}
if (flags & SDL_RENDERER_PRESENTVSYNC) {
SDL_GL_SetSwapInterval(1);
} else {
SDL_GL_SetSwapInterval(0);
}
if (SDL_GL_GetSwapInterval() > 0) {
renderer->info.flags |= SDL_RENDERER_PRESENTVSYNC;
}
/* Determine supported shader formats */ /* Determine supported shader formats */
/* HACK: glGetInteger is broken on the Zune HD's compositor, so we just hardcode this */ /* HACK: glGetInteger is broken on the Zune HD's compositor, so we just hardcode this */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment