mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 13:48:06 +02:00
mesa/es: Fix GL_RGB565 support in FBO.
In GL_OES_framebuffer_object and OpenGL ES 2.0, GL_RGB565 is a valid internal format. Since it is not supported by the core, map it to GL_RGB5 as a workaround. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
This commit is contained in:
parent
b80ec33f35
commit
c4b9e1aa1a
2 changed files with 10 additions and 10 deletions
|
|
@ -4041,7 +4041,7 @@
|
|||
<function name="BindRenderbufferOES" template="BindRenderbuffer"/>
|
||||
<function name="DeleteRenderbuffersOES" template="DeleteRenderbuffers"/>
|
||||
<function name="GenRenderbuffersOES" template="GenRenderbuffers"/>
|
||||
<function name="RenderbufferStorageOES" template="RenderbufferStorage"/>
|
||||
<function name="RenderbufferStorageOES" external="true" template="RenderbufferStorage"/>
|
||||
<function name="FramebufferRenderbufferOES" template="FramebufferRenderbuffer"/>
|
||||
<function name="FramebufferTexture2DOES" template="FramebufferTexture2D"/>
|
||||
<function name="CheckFramebufferStatusOES" template="CheckFramebufferStatus"/>
|
||||
|
|
|
|||
|
|
@ -10,6 +10,11 @@
|
|||
#include "GLES2/gl2ext.h"
|
||||
|
||||
|
||||
#ifndef GL_RGB5
|
||||
#define GL_RGB5 0x8050
|
||||
#endif
|
||||
|
||||
|
||||
extern void GL_APIENTRY _es_RenderbufferStorageEXT(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height);
|
||||
|
||||
extern void GL_APIENTRY _mesa_RenderbufferStorageEXT(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height);
|
||||
|
|
@ -20,18 +25,13 @@ _es_RenderbufferStorageEXT(GLenum target, GLenum internalFormat,
|
|||
GLsizei width, GLsizei height)
|
||||
{
|
||||
switch (internalFormat) {
|
||||
case GL_RGBA4:
|
||||
case GL_RGB5_A1:
|
||||
case GL_RGB565:
|
||||
internalFormat = GL_RGBA;
|
||||
break;
|
||||
case GL_STENCIL_INDEX1_OES:
|
||||
case GL_STENCIL_INDEX4_OES:
|
||||
case GL_STENCIL_INDEX8:
|
||||
internalFormat = GL_STENCIL_INDEX;
|
||||
/* XXX this confuses GL_RENDERBUFFER_INTERNAL_FORMAT_OES */
|
||||
/* choose a closest format */
|
||||
internalFormat = GL_RGB5;
|
||||
break;
|
||||
default:
|
||||
; /* no op */
|
||||
break;
|
||||
}
|
||||
_mesa_RenderbufferStorageEXT(target, internalFormat, width, height);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue