Mercurial > sdl-ios-xcode
comparison src/video/SDL_renderer_gles.c @ 3163:a252014ce27d
Support for BGR565 pixel format has been added, mainly for OpenGL ES renderer. OpenGL ES renderer now have new texture formats.
author | Mike Gorchak <lestat@i.com.ua> |
---|---|
date | Wed, 03 Jun 2009 10:40:44 +0000 |
parents | 494559cc723b |
children | 7168651d5706 |
comparison
equal
deleted
inserted
replaced
3162:dc1eb82ffdaa | 3163:a252014ce27d |
---|---|
28 #include "SDL_sysvideo.h" | 28 #include "SDL_sysvideo.h" |
29 #include "SDL_pixels_c.h" | 29 #include "SDL_pixels_c.h" |
30 #include "SDL_rect_c.h" | 30 #include "SDL_rect_c.h" |
31 #include "SDL_yuv_sw_c.h" | 31 #include "SDL_yuv_sw_c.h" |
32 | 32 |
33 #ifdef __QNXNTO__ | 33 #if defined(SDL_VIDEO_DRIVER_QNXGF) || defined(SDL_VIDEO_DRIVER_PHOTON) |
34 | 34 |
35 /* Empty function stub to get OpenGL ES 1.0 support without */ | 35 /* Empty function stub to get OpenGL ES 1.0 support without */ |
36 /* OpenGL ES extension GL_OES_draw_texture_supported */ | 36 /* OpenGL ES extension GL_OES_draw_texture_supported */ |
37 GL_API void GL_APIENTRY | 37 GL_API void GL_APIENTRY |
38 glDrawTexiOES(GLint x, GLint y, GLint z, GLint width, GLint height) | 38 glDrawTexiOES(GLint x, GLint y, GLint z, GLint width, GLint height) |
108 (SDL_TEXTUREMODULATE_NONE | SDL_TEXTUREMODULATE_COLOR | | 108 (SDL_TEXTUREMODULATE_NONE | SDL_TEXTUREMODULATE_COLOR | |
109 SDL_TEXTUREMODULATE_ALPHA), | 109 SDL_TEXTUREMODULATE_ALPHA), |
110 (SDL_BLENDMODE_NONE | SDL_BLENDMODE_MASK | | 110 (SDL_BLENDMODE_NONE | SDL_BLENDMODE_MASK | |
111 SDL_BLENDMODE_BLEND | SDL_BLENDMODE_ADD | SDL_BLENDMODE_MOD), | 111 SDL_BLENDMODE_BLEND | SDL_BLENDMODE_ADD | SDL_BLENDMODE_MOD), |
112 (SDL_TEXTURESCALEMODE_NONE | SDL_TEXTURESCALEMODE_FAST | | 112 (SDL_TEXTURESCALEMODE_NONE | SDL_TEXTURESCALEMODE_FAST | |
113 SDL_TEXTURESCALEMODE_SLOW), 2, | 113 SDL_TEXTURESCALEMODE_SLOW), 5, |
114 { | 114 { |
115 /* OpenGL ES 1.x supported formats list */ | 115 /* OpenGL ES 1.x supported formats list */ |
116 SDL_PIXELFORMAT_ABGR4444, | |
117 SDL_PIXELFORMAT_ABGR1555, | |
118 SDL_PIXELFORMAT_BGR565, | |
116 SDL_PIXELFORMAT_BGR24, | 119 SDL_PIXELFORMAT_BGR24, |
117 SDL_PIXELFORMAT_ABGR8888}, | 120 SDL_PIXELFORMAT_ABGR8888}, |
118 0, | 121 0, |
119 0} | 122 0} |
120 }; | 123 }; |
382 case SDL_PIXELFORMAT_ABGR8888: | 385 case SDL_PIXELFORMAT_ABGR8888: |
383 internalFormat = GL_RGBA; | 386 internalFormat = GL_RGBA; |
384 format = GL_RGBA; | 387 format = GL_RGBA; |
385 type = GL_UNSIGNED_BYTE; | 388 type = GL_UNSIGNED_BYTE; |
386 break; | 389 break; |
387 /* | 390 case SDL_PIXELFORMAT_BGR565: |
388 These formats would be supported if SDL had the necessary pixel formats | 391 internalFormat = GL_RGB; |
389 case SDL_PIXELFORMAT_BGR565: | 392 format = GL_RGB; |
390 internalFormat = GL_RGB; | 393 type = GL_UNSIGNED_SHORT_5_6_5; |
391 format = GL_RGB; | 394 break; |
392 type = GL_UNSIGNED_SHORT_5_6_5; | 395 case SDL_PIXELFORMAT_ABGR1555: |
393 break; | 396 internalFormat = GL_RGBA; |
394 case SDL_PIXELFORMAT_ABGR5551: | 397 format = GL_RGBA; |
395 internalFormat = GL_RGBA; | 398 type = GL_UNSIGNED_SHORT_5_5_5_1; |
396 format = GL_RGBA; | 399 break; |
397 type = GL_UNSIGNED_SHORT_5_5_5_1; | 400 case SDL_PIXELFORMAT_ABGR4444: |
398 break; | 401 internalFormat = GL_RGBA; |
399 case SDL_PIXELFORMAT_ABGR4444: | 402 format = GL_RGBA; |
400 internalFormat = GL_RGBA; | 403 type = GL_UNSIGNED_SHORT_4_4_4_4; |
401 format = GL_RGBA; | 404 break; |
402 type = GL_UNSIGNED_SHORT_4_4_4_4; | |
403 break; | |
404 */ | |
405 default: | 405 default: |
406 SDL_SetError("Unsupported texture format"); | 406 SDL_SetError("Unsupported texture format"); |
407 return -1; | 407 return -1; |
408 } | 408 } |
409 | 409 |