From 58629b54736d634ac4b119bd5a22c83eaa6cef39 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Wed, 18 Nov 2009 06:15:44 +0000 Subject: [PATCH] Trying to figure out why the OpenGL tests are failing... --- src/video/SDL_glfuncs.h | 2 +- src/video/SDL_renderer_gl.c | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/video/SDL_glfuncs.h b/src/video/SDL_glfuncs.h index d9903267a..1d385cc6f 100644 --- a/src/video/SDL_glfuncs.h +++ b/src/video/SDL_glfuncs.h @@ -314,7 +314,7 @@ SDL_PROC_UNUSED(void, glRasterPos4iv, (const GLint * v)) SDL_PROC_UNUSED(void, glRasterPos4s, (GLshort x, GLshort y, GLshort z, GLshort w)) SDL_PROC_UNUSED(void, glRasterPos4sv, (const GLshort * v)) -SDL_PROC_UNUSED(void, glReadBuffer, (GLenum mode)) +SDL_PROC(void, glReadBuffer, (GLenum mode)) SDL_PROC(void, glReadPixels, (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid * pixels)) diff --git a/src/video/SDL_renderer_gl.c b/src/video/SDL_renderer_gl.c index 68c0313f5..833683aac 100644 --- a/src/video/SDL_renderer_gl.c +++ b/src/video/SDL_renderer_gl.c @@ -1273,13 +1273,16 @@ GL_RenderReadPixels(SDL_Renderer * renderer, const SDL_Rect * rect, } else if (pixel_format == SDL_PIXELFORMAT_INDEX1MSB) { data->glPixelStorei(GL_PACK_LSB_FIRST, 0); } - data->glPixelStorei(GL_PACK_ALIGNMENT, 1); - data->glPixelStorei(GL_PACK_ROW_LENGTH, - (pitch / bytes_per_pixel(pixel_format))); + //data->glPixelStorei(GL_PACK_ALIGNMENT, 1); + //data->glPixelStorei(GL_PACK_ROW_LENGTH, + // (pitch / bytes_per_pixel(pixel_format))); + data->glReadBuffer(GL_FRONT); +memset(pixels, 0xff, rect->h*pitch); data->glReadPixels(rect->x, rect->y+rect->h-1, rect->w, rect->h, format, type, pixels); +#if 0 /* Flip the rows to be top-down */ length = rect->w * bytes_per_pixel(pixel_format); src = (Uint8*)pixels + (rect->h-1)*pitch; @@ -1292,6 +1295,7 @@ GL_RenderReadPixels(SDL_Renderer * renderer, const SDL_Rect * rect, SDL_memcpy(src, tmp, length); } SDL_stack_free(tmp); +#endif return 0; }