diff -r bc5ec1b6904c src/render/opengl/SDL_render_gl.c --- a/src/render/opengl/SDL_render_gl.c Sat Jun 07 11:36:08 2014 -0700 +++ b/src/render/opengl/SDL_render_gl.c Sat Jun 07 16:55:27 2014 -0300 @@ -981,7 +981,7 @@ if (renderer->clipping_enabled) { const SDL_Rect *rect = &renderer->clip_rect; data->glEnable(GL_SCISSOR_TEST); - data->glScissor(rect->x, renderer->viewport.h - rect->y - rect->h, rect->w, rect->h); + data->glScissor(renderer->viewport.x + rect->x, renderer->viewport.y + renderer->viewport.h - rect->y - rect->h, rect->w, rect->h); } else { data->glDisable(GL_SCISSOR_TEST); } diff -r bc5ec1b6904c src/render/opengles/SDL_render_gles.c --- a/src/render/opengles/SDL_render_gles.c Sat Jun 07 11:36:08 2014 -0700 +++ b/src/render/opengles/SDL_render_gles.c Sat Jun 07 16:55:27 2014 -0300 @@ -693,7 +693,7 @@ if (renderer->clipping_enabled) { const SDL_Rect *rect = &renderer->clip_rect; data->glEnable(GL_SCISSOR_TEST); - data->glScissor(rect->x, renderer->viewport.h - rect->y - rect->h, rect->w, rect->h); + data->glScissor(renderer->viewport.x + rect->x, renderer->viewport.y + renderer->viewport.h - rect->y - rect->h, rect->w, rect->h); } else { data->glDisable(GL_SCISSOR_TEST); } diff -r bc5ec1b6904c src/render/opengles2/SDL_render_gles2.c --- a/src/render/opengles2/SDL_render_gles2.c Sat Jun 07 11:36:08 2014 -0700 +++ b/src/render/opengles2/SDL_render_gles2.c Sat Jun 07 16:55:27 2014 -0300 @@ -378,7 +378,7 @@ if (renderer->clipping_enabled) { const SDL_Rect *rect = &renderer->clip_rect; data->glEnable(GL_SCISSOR_TEST); - data->glScissor(rect->x, renderer->viewport.h - rect->y - rect->h, rect->w, rect->h); + data->glScissor(renderer->viewport.x + rect->x, renderer->viewport.y + renderer->viewport.h - rect->y - rect->h, rect->w, rect->h); } else { data->glDisable(GL_SCISSOR_TEST); }