Skip to content

Commit

Permalink
Better fix for bug 2207 - SDL_RenderSetViewport behavior is different…
Browse files Browse the repository at this point in the history
…/incorrect on OpenGL renderer vs DirectX renderer

At least, it works better here on my Mac. :)
  • Loading branch information
slouken committed Nov 16, 2013
1 parent 44959a2 commit 8093cfd
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions src/render/opengl/SDL_render_gl.c
Expand Up @@ -919,13 +919,21 @@ GL_UpdateViewport(SDL_Renderer * renderer)
return 0;
}

data->glViewport(renderer->viewport.x, renderer->viewport.y,
renderer->viewport.w, renderer->viewport.h);
if (renderer->target) {
data->glViewport(renderer->viewport.x, renderer->viewport.y,
renderer->viewport.w, renderer->viewport.h);
} else {
int w, h;

SDL_GetRendererOutputSize(renderer, &w, &h);
data->glViewport(renderer->viewport.x, (h - renderer->viewport.y - renderer->viewport.h),
renderer->viewport.w, renderer->viewport.h);
}

data->glMatrixMode(GL_PROJECTION);
data->glLoadIdentity();
if (renderer->viewport.w && renderer->viewport.h) {
if (!renderer->target) {
if (renderer->target) {
data->glOrtho((GLdouble) 0,
(GLdouble) renderer->viewport.w,
(GLdouble) 0,
Expand Down

0 comments on commit 8093cfd

Please sign in to comment.