Skip to content

Commit

Permalink
Emscripten: remove GLES_DeleteContext implementation
Browse files Browse the repository at this point in the history
It was calling glClear without a context. The issue it was trying to
solve was actually that after destroying a window and creating a new one
, the contents of the old window were preserved. This no longer happens
since we resize the window to nothing on destroy.
  • Loading branch information
Daft-Freak committed Jan 29, 2019
1 parent 04b1494 commit 6d89a7b
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 14 deletions.
13 changes: 0 additions & 13 deletions src/video/emscripten/SDL_emscriptenopengles.c
Expand Up @@ -81,19 +81,6 @@ Emscripten_GLES_LoadLibrary(_THIS, const char *path) {
return 0;
}

void
Emscripten_GLES_DeleteContext(_THIS, SDL_GLContext context)
{
/*
WebGL contexts can't actually be deleted, so we need to reset it.
ES2 renderer resets state on init anyway, clearing the canvas should be enough
*/

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);

SDL_EGL_DeleteContext(_this, context);
}

SDL_EGL_CreateContext_impl(Emscripten)
SDL_EGL_SwapWindow_impl(Emscripten)
SDL_EGL_MakeCurrent_impl(Emscripten)
Expand Down
2 changes: 1 addition & 1 deletion src/video/emscripten/SDL_emscriptenopengles.h
Expand Up @@ -34,9 +34,9 @@
#define Emscripten_GLES_UnloadLibrary SDL_EGL_UnloadLibrary
#define Emscripten_GLES_SetSwapInterval SDL_EGL_SetSwapInterval
#define Emscripten_GLES_GetSwapInterval SDL_EGL_GetSwapInterval
#define Emscripten_GLES_DeleteContext SDL_EGL_DeleteContext

extern int Emscripten_GLES_LoadLibrary(_THIS, const char *path);
extern void Emscripten_GLES_DeleteContext(_THIS, SDL_GLContext context);
extern SDL_GLContext Emscripten_GLES_CreateContext(_THIS, SDL_Window * window);
extern int Emscripten_GLES_SwapWindow(_THIS, SDL_Window * window);
extern int Emscripten_GLES_MakeCurrent(_THIS, SDL_Window * window, SDL_GLContext context);
Expand Down

0 comments on commit 6d89a7b

Please sign in to comment.