Browse Source

OpenGL+GLES renderers: Fixed incorrect clip rectangle coords (thanks, Marcel!).

Fixes Bugzilla #2700.
Ryan C. Gordon 9 years ago
parent
commit
f893ce3d3e

+ 1 - 1
src/render/opengl/SDL_render_gl.c

@@ -1052,7 +1052,7 @@ GL_UpdateClipRect(SDL_Renderer * renderer)
             int w, h;
 
             SDL_GetRendererOutputSize(renderer, &w, &h);
-            data->glScissor(renderer->viewport.x + rect->x, (h - renderer->viewport.y - renderer->viewport.h) + rect->y, rect->w, rect->h);
+            data->glScissor(renderer->viewport.x + rect->x, h - renderer->viewport.y - rect->y - rect->h, rect->w, rect->h);
         }
     } else {
         data->glDisable(GL_SCISSOR_TEST);

+ 1 - 1
src/render/opengles/SDL_render_gles.c

@@ -721,7 +721,7 @@ GLES_UpdateClipRect(SDL_Renderer * renderer)
             int w, h;
 
             SDL_GetRendererOutputSize(renderer, &w, &h);
-            data->glScissor(renderer->viewport.x + rect->x, (h - renderer->viewport.y - renderer->viewport.h) + rect->y, rect->w, rect->h);
+            data->glScissor(renderer->viewport.x + rect->x, h - renderer->viewport.y - rect->y - rect->h, rect->w, rect->h);
         }
     } else {
         data->glDisable(GL_SCISSOR_TEST);

+ 1 - 1
src/render/opengles2/SDL_render_gles2.c

@@ -418,7 +418,7 @@ GLES2_UpdateClipRect(SDL_Renderer * renderer)
             int w, h;
 
             SDL_GetRendererOutputSize(renderer, &w, &h);
-            data->glScissor(renderer->viewport.x + rect->x, (h - renderer->viewport.y - renderer->viewport.h) + rect->y, rect->w, rect->h);
+            data->glScissor(renderer->viewport.x + rect->x, h - renderer->viewport.y - rect->y - rect->h, rect->w, rect->h);
         }
     } else {
         data->glDisable(GL_SCISSOR_TEST);