mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 05:18:08 +02:00
mesa,st/mesa: implement GL_RGB565 from ARB_ES2_compatibility
This was not implemented, because the spec was changed just recently. Everything has been in place already. Gallium has PIPE_FORMAT_B5G6R5_UNORM, while Mesa has MESA_FORMAT_RGB565. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
fe911c1d43
commit
1a06e8454e
6 changed files with 29 additions and 0 deletions
|
|
@ -1296,6 +1296,9 @@ _mesa_base_fbo_format(struct gl_context *ctx, GLenum internalFormat)
|
|||
|
||||
case GL_RGB10_A2UI:
|
||||
return ctx->Extensions.ARB_texture_rgb10_a2ui ? GL_RGBA : 0;
|
||||
|
||||
case GL_RGB565:
|
||||
return ctx->Extensions.ARB_ES2_compatibility ? GL_RGB : 0;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -770,6 +770,7 @@ _mesa_is_color_format(GLenum format)
|
|||
case GL_R3_G3_B2:
|
||||
case GL_RGB4:
|
||||
case GL_RGB5:
|
||||
case GL_RGB565:
|
||||
case GL_RGB8:
|
||||
case GL_RGB10:
|
||||
case GL_RGB12:
|
||||
|
|
|
|||
|
|
@ -258,6 +258,16 @@ _mesa_choose_tex_format( struct gl_context *ctx, GLint internalFormat,
|
|||
; /* fallthrough */
|
||||
}
|
||||
|
||||
if (ctx->Extensions.ARB_ES2_compatibility) {
|
||||
switch (internalFormat) {
|
||||
case GL_RGB565:
|
||||
RETURN_IF_SUPPORTED(MESA_FORMAT_RGB565);
|
||||
break;
|
||||
default:
|
||||
; /* fallthrough */
|
||||
}
|
||||
}
|
||||
|
||||
if (ctx->Extensions.MESA_ycbcr_texture) {
|
||||
if (internalFormat == GL_YCBCR_MESA) {
|
||||
if (type == GL_UNSIGNED_SHORT_8_8_MESA)
|
||||
|
|
|
|||
|
|
@ -138,6 +138,15 @@ _mesa_base_tex_format( struct gl_context *ctx, GLint internalFormat )
|
|||
}
|
||||
}
|
||||
|
||||
if (ctx->Extensions.ARB_ES2_compatibility) {
|
||||
switch (internalFormat) {
|
||||
case GL_RGB565:
|
||||
return GL_RGB;
|
||||
default:
|
||||
; /* fallthrough */
|
||||
}
|
||||
}
|
||||
|
||||
if (ctx->Extensions.ARB_depth_texture) {
|
||||
switch (internalFormat) {
|
||||
case GL_DEPTH_COMPONENT:
|
||||
|
|
|
|||
|
|
@ -403,6 +403,8 @@ internal_format(struct gl_context *ctx, GLenum format, GLenum type)
|
|||
|
||||
case GL_UNSIGNED_SHORT_5_6_5:
|
||||
case GL_UNSIGNED_SHORT_5_6_5_REV:
|
||||
return GL_RGB565;
|
||||
|
||||
case GL_UNSIGNED_SHORT_5_5_5_1:
|
||||
case GL_UNSIGNED_SHORT_1_5_5_5_REV:
|
||||
return GL_RGB5_A1;
|
||||
|
|
|
|||
|
|
@ -793,6 +793,10 @@ static const struct format_mapping format_map[] = {
|
|||
{ PIPE_FORMAT_B5G6R5_UNORM, PIPE_FORMAT_B5G5R5A1_UNORM,
|
||||
DEFAULT_RGBA_FORMATS }
|
||||
},
|
||||
{
|
||||
{ GL_RGB565 },
|
||||
{ PIPE_FORMAT_B5G6R5_UNORM, DEFAULT_RGBA_FORMATS }
|
||||
},
|
||||
|
||||
/* basic Alpha formats */
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue