Added support for SDL_PIXELFORMAT_UYVY surfaces on Mac OS X

This commit is contained in:
Sam Lantinga 2013-10-14 08:56:37 -07:00
parent 8ec3ba3829
commit 06cab8575e
1 changed files with 11 additions and 0 deletions

View File

@ -514,6 +514,10 @@ GL_CreateRenderer(SDL_Window * window, Uint32 flags)
renderer->info.texture_formats[renderer->info.num_texture_formats++] = SDL_PIXELFORMAT_IYUV; renderer->info.texture_formats[renderer->info.num_texture_formats++] = SDL_PIXELFORMAT_IYUV;
} }
#ifdef __MACOSX__
renderer->info.texture_formats[renderer->info.num_texture_formats++] = SDL_PIXELFORMAT_UYVY;
#endif
if (SDL_GL_ExtensionSupported("GL_EXT_framebuffer_object")) { if (SDL_GL_ExtensionSupported("GL_EXT_framebuffer_object")) {
data->GL_EXT_framebuffer_object_supported = SDL_TRUE; data->GL_EXT_framebuffer_object_supported = SDL_TRUE;
data->glGenFramebuffersEXT = (PFNGLGENFRAMEBUFFERSEXTPROC) data->glGenFramebuffersEXT = (PFNGLGENFRAMEBUFFERSEXTPROC)
@ -582,6 +586,13 @@ convert_format(GL_RenderData *renderdata, Uint32 pixel_format,
*format = GL_LUMINANCE; *format = GL_LUMINANCE;
*type = GL_UNSIGNED_BYTE; *type = GL_UNSIGNED_BYTE;
break; break;
#ifdef __MACOSX__
case SDL_PIXELFORMAT_UYVY:
*internalFormat = GL_RGB8;
*format = GL_YCBCR_422_APPLE;
*type = GL_UNSIGNED_SHORT_8_8_APPLE;
break;
#endif
default: default:
return SDL_FALSE; return SDL_FALSE;
} }