From a16c79aec492010d18b5b369b0ec611d02735015 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Sun, 20 Feb 2011 14:16:11 -0800 Subject: [PATCH] Fixed testgles on iOS (bug 1136) --- src/video/uikit/SDL_uikitopengles.m | 2 +- test/common.c | 9 +++++---- test/testgles.c | 11 ++++++++--- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/video/uikit/SDL_uikitopengles.m b/src/video/uikit/SDL_uikitopengles.m index 202f5bdf7..73bd328d3 100644 --- a/src/video/uikit/SDL_uikitopengles.m +++ b/src/video/uikit/SDL_uikitopengles.m @@ -40,7 +40,7 @@ -Looking for the path to the OpenGL Library seems not to work in the iPhone Simulator. -We don't know that the path won't change in the future. */ - return SDL_LoadFunction(RTLD_DEFAULT, proc); + return dlsym(RTLD_DEFAULT, proc); } /* diff --git a/test/common.c b/test/common.c index d7f1e9e92..41867b430 100644 --- a/test/common.c +++ b/test/common.c @@ -53,8 +53,6 @@ CommonCreateState(char **argv, Uint32 flags) state->gl_multisamplesamples = 0; state->gl_retained_backing = 1; state->gl_accelerated = -1; - state->gl_major_version = 2; - state->gl_minor_version = 1; return state; } @@ -590,8 +588,10 @@ CommonInit(CommonState * state) state->gl_accelerated); } SDL_GL_SetAttribute(SDL_GL_RETAINED_BACKING, state->gl_retained_backing); - SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, state->gl_major_version); - SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, state->gl_minor_version); + if (state->gl_major_version) { + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, state->gl_major_version); + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, state->gl_minor_version); + } if (state->verbose & VERBOSE_MODES) { SDL_DisplayMode mode; @@ -712,6 +712,7 @@ CommonInit(CommonState * state) SDL_GetError()); return SDL_FALSE; } + SDL_GetWindowSize(state->windows[i], &state->window_w, &state->window_h); if (SDL_SetWindowDisplayMode(state->windows[i], &fullscreen_mode) < 0) { fprintf(stderr, "Can't set up fullscreen display mode: %s\n", diff --git a/test/testgles.c b/test/testgles.c index f556ba079..99410f8b0 100644 --- a/test/testgles.c +++ b/test/testgles.c @@ -177,7 +177,7 @@ main(int argc, char *argv[]) SDL_GL_SetSwapInterval(0); } - SDL_GetCurrentDisplayMode(&mode); + SDL_GetCurrentDisplayMode(0, &mode); printf("Screen bpp: %d\n", SDL_BITSPERPIXEL(mode.format)); printf("\n"); printf("Vendor : %s\n", glGetString(GL_VENDOR)); @@ -243,6 +243,8 @@ main(int argc, char *argv[]) /* Set rendering settings for each context */ for (i = 0; i < state->num_windows; ++i) { + float aspectAdjust; + status = SDL_GL_MakeCurrent(state->windows[i], context[i]); if (status) { printf("SDL_GL_MakeCurrent(): %s\n", SDL_GetError()); @@ -251,10 +253,11 @@ main(int argc, char *argv[]) continue; } + aspectAdjust = (4.0f / 3.0f) / ((float)state->window_w / state->window_h); glViewport(0, 0, state->window_w, state->window_h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); - glOrthof(-2.0, 2.0, -2.0, 2.0, -20.0, 20.0); + glOrthof(-2.0, 2.0, -2.0 * aspectAdjust, 2.0 * aspectAdjust, -20.0, 20.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glEnable(GL_DEPTH_TEST); @@ -275,7 +278,7 @@ main(int argc, char *argv[]) switch (event.window.event) { case SDL_WINDOWEVENT_RESIZED: for (i = 0; i < state->num_windows; ++i) { - if (event.window.windowID == state->windows[i]) { + if (event.window.windowID == SDL_GetWindowID(state->windows[i])) { status = SDL_GL_MakeCurrent(state->windows[i], context[i]); if (status) { printf("SDL_GL_MakeCurrent(): %s\n", SDL_GetError()); @@ -327,3 +330,5 @@ main(int argc, char *argv[]) } #endif /* HAVE_OPENGLES */ + +/* vi: set ts=4 sw=4 expandtab: */