1
0
mirror of https://github.com/mpv-player/mpv synced 2025-01-30 19:52:14 +00:00

Improved glFindFormat

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16475 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
reimar 2005-09-13 15:56:32 +00:00
parent 7a7bfba6ed
commit 587c45e08e
2 changed files with 7 additions and 5 deletions

View File

@ -94,9 +94,9 @@ const char *glValName(GLint value)
return "Unknown format!";
}
#undef TEXTUREFORMAT_ALWAYS
//! always return this format as internal texture format in glFindFormat
#define TEXTUREFORMAT_ALWAYS GL_RGB8
#undef TEXTUREFORMAT_ALWAYS
/**
* \brief find the OpenGL settings coresponding to format.
@ -113,6 +113,7 @@ const char *glValName(GLint value)
int glFindFormat(uint32_t fmt, uint32_t *bpp, GLint *gl_texfmt,
GLenum *gl_format, GLenum *gl_type)
{
int supported = 1;
int dummy1;
GLenum dummy2;
GLint dummy3;
@ -133,6 +134,8 @@ int glFindFormat(uint32_t fmt, uint32_t *bpp, GLint *gl_texfmt,
*gl_format = GL_RGBA;
*gl_type = GL_UNSIGNED_BYTE;
break;
case IMGFMT_YV12:
supported = 0; // no native YV12 support
case IMGFMT_Y800:
case IMGFMT_Y8:
*gl_texfmt = 1;
@ -187,12 +190,12 @@ int glFindFormat(uint32_t fmt, uint32_t *bpp, GLint *gl_texfmt,
*gl_texfmt = 4;
*gl_format = GL_RGBA;
*gl_type = GL_UNSIGNED_BYTE;
return 0;
supported = 0;
}
#ifdef TEXTUREFORMAT_ALWAYS
*gl_texfmt = TEXTUREFORMAT_ALWAYS;
#endif
return 1;
return supported;
}
static void *setNull(const GLubyte *s) {

View File

@ -187,10 +187,9 @@ static int initGl(uint32_t d_width, uint32_t d_height) {
static int
config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t flags, char *title, uint32_t format)
{
int tmp;
image_height = height;
image_width = width;
glFindFormat(format, &tmp, &gl_texfmt, &gl_format, &gl_type);
glFindFormat(format, NULL, &gl_texfmt, &gl_format, &gl_type);
int_pause = 0;