Fixed bug 4453 - GLES / GLES2: first white renderer clear cmd is drawn as black
diff --git a/src/render/opengles/SDL_render_gles.c b/src/render/opengles/SDL_render_gles.c
index ff8e253..a064fb1 100644
--- a/src/render/opengles/SDL_render_gles.c
+++ b/src/render/opengles/SDL_render_gles.c
@@ -26,8 +26,8 @@
#include "SDL_opengles.h"
#include "../SDL_sysrender.h"
-/* To prevent unnecessary window recreation,
- * these should match the defaults selected in SDL_GL_ResetAttributes
+/* To prevent unnecessary window recreation,
+ * these should match the defaults selected in SDL_GL_ResetAttributes
*/
#define RENDERER_CONTEXT_MAJOR 1
@@ -170,7 +170,7 @@
#define SDL_PROC_OES(ret,func,params) \
do { \
data->func = SDL_GL_GetProcAddress(#func); \
- } while ( 0 );
+ } while ( 0 );
#endif /* __SDL_NOGETPROCADDR__ */
#include "SDL_glesfuncs.h"
@@ -351,7 +351,7 @@
}
}
-
+
if (texture->access == SDL_TEXTUREACCESS_TARGET) {
if (!renderdata->GL_OES_framebuffer_object_supported) {
SDL_free(data);
@@ -361,7 +361,7 @@
} else {
data->fbo = NULL;
}
-
+
renderdata->glGetError();
renderdata->glEnable(GL_TEXTURE_2D);
@@ -397,7 +397,7 @@
SDL_free(data);
return GLES_SetError("glTexImage2D()", result);
}
-
+
texture->driverdata = data;
return 0;
}
@@ -1210,6 +1210,8 @@
data->glEnableClientState(GL_VERTEX_ARRAY);
data->glDisableClientState(GL_TEXTURE_COORD_ARRAY);
+ data->glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
+
data->drawstate.blend = SDL_BLENDMODE_INVALID;
data->drawstate.color = 0xFFFFFFFF;
data->drawstate.clear_color = 0xFFFFFFFF;
diff --git a/src/render/opengles2/SDL_render_gles2.c b/src/render/opengles2/SDL_render_gles2.c
index add405f..fd93cd6 100644
--- a/src/render/opengles2/SDL_render_gles2.c
+++ b/src/render/opengles2/SDL_render_gles2.c
@@ -30,7 +30,7 @@
#include "SDL_shaders_gles2.h"
/* To prevent unnecessary window recreation,
- * these should match the defaults selected in SDL_GL_ResetAttributes
+ * these should match the defaults selected in SDL_GL_ResetAttributes
*/
#define RENDERER_CONTEXT_MAJOR 2
#define RENDERER_CONTEXT_MINOR 0
@@ -2076,6 +2076,7 @@
renderer->info.texture_formats[renderer->info.num_texture_formats++] = SDL_PIXELFORMAT_EXTERNAL_OES;
#endif
+ /* Set up parameters for rendering */
data->glActiveTexture(GL_TEXTURE0);
data->glPixelStorei(GL_PACK_ALIGNMENT, 1);
data->glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
@@ -2083,6 +2084,8 @@
data->glEnableVertexAttribArray(GLES2_ATTRIBUTE_POSITION);
data->glDisableVertexAttribArray(GLES2_ATTRIBUTE_TEXCOORD);
+ data->glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
+
data->drawstate.blend = SDL_BLENDMODE_INVALID;
data->drawstate.color = 0xFFFFFFFF;
data->drawstate.clear_color = 0xFFFFFFFF;