From c0587b4d69134c6e4e33267ef6657e4922c2f5ef Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Thu, 26 Nov 2009 05:55:57 +0000 Subject: [PATCH] Adam Strzelecki to SDL Currently SDL uses GL_RGB for internalFormat when GL_YCBCR_MESA is passed as format for glTextImage2D when using Linux Mesa's OpenGL. However this is wrong and makes glTextImage2D fail with invalid argument error. GL_YCBCR_MESA should be also internalFormat (not GL_RGB) there and this is what can be found googling various source codes using GL_YCBCR_MESA. --- src/video/SDL_renderer_gl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/video/SDL_renderer_gl.c b/src/video/SDL_renderer_gl.c index fc37009c0..c643626ac 100644 --- a/src/video/SDL_renderer_gl.c +++ b/src/video/SDL_renderer_gl.c @@ -707,7 +707,7 @@ convert_format(GL_RenderData *renderdata, Uint32 pixel_format, *type = GL_UNSIGNED_SHORT_8_8_REV_APPLE; #endif } else if (renderdata->GL_MESA_ycbcr_texture_supported) { - *internalFormat = GL_RGB; + *internalFormat = GL_YCBCR_MESA; *format = GL_YCBCR_MESA; #if SDL_BYTEORDER == SDL_LIL_ENDIAN *type = GL_UNSIGNED_SHORT_8_8_MESA; @@ -732,7 +732,7 @@ convert_format(GL_RenderData *renderdata, Uint32 pixel_format, *type = GL_UNSIGNED_SHORT_8_8_APPLE; #endif } else if (renderdata->GL_MESA_ycbcr_texture_supported) { - *internalFormat = GL_RGB; + *internalFormat = GL_YCBCR_MESA; *format = GL_YCBCR_MESA; #if SDL_BYTEORDER == SDL_LIL_ENDIAN *type = GL_UNSIGNED_SHORT_8_8_REV_MESA;