mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-29 22:30:24 +01:00
use the requested internal texture format where possible
This commit is contained in:
parent
76dd385fed
commit
afd244d4e8
2 changed files with 32 additions and 12 deletions
|
|
@ -59,27 +59,37 @@ brwChooseTextureFormat( GLcontext *ctx, GLint internalFormat,
|
|||
case GL_RGB10_A2:
|
||||
case GL_RGBA12:
|
||||
case GL_RGBA16:
|
||||
case GL_RGBA4:
|
||||
case GL_RGBA2:
|
||||
case GL_RGB5_A1:
|
||||
return &_mesa_texformat_argb8888;
|
||||
/* return &_mesa_texformat_rgba8888_rev; */
|
||||
|
||||
case 3:
|
||||
case GL_RGB:
|
||||
case GL_COMPRESSED_RGB:
|
||||
case GL_RGB8:
|
||||
case GL_RGB10:
|
||||
case GL_RGB12:
|
||||
case GL_RGB16:
|
||||
case GL_RGB5:
|
||||
case GL_RGB4:
|
||||
case GL_R3_G3_B2:
|
||||
/* Broadwater doesn't support RGB textures, so these must be
|
||||
/* Broadwater doesn't support RGB888 textures, so these must be
|
||||
* stored as ARGB.
|
||||
*/
|
||||
return &_mesa_texformat_argb8888;
|
||||
|
||||
case 3:
|
||||
case GL_COMPRESSED_RGB:
|
||||
case GL_RGB:
|
||||
if (format == GL_RGB &&
|
||||
type == GL_UNSIGNED_SHORT_5_6_5)
|
||||
return &_mesa_texformat_rgb565;
|
||||
else
|
||||
return &_mesa_texformat_argb8888;
|
||||
|
||||
|
||||
case GL_RGB5:
|
||||
case GL_RGB5_A1:
|
||||
return &_mesa_texformat_argb1555;
|
||||
|
||||
case GL_R3_G3_B2:
|
||||
case GL_RGBA2:
|
||||
case GL_RGBA4:
|
||||
case GL_RGB4:
|
||||
return &_mesa_texformat_argb4444;
|
||||
|
||||
case GL_ALPHA:
|
||||
case GL_ALPHA4:
|
||||
case GL_ALPHA8:
|
||||
|
|
|
|||
|
|
@ -85,7 +85,8 @@ static GLuint translate_tex_format( GLuint mesa_format )
|
|||
return BRW_SURFACEFORMAT_L8A8_UNORM;
|
||||
|
||||
case MESA_FORMAT_RGB888:
|
||||
return BRW_SURFACEFORMAT_R8G8B8_UNORM;
|
||||
assert(0); /* not supported for sampling */
|
||||
return BRW_SURFACEFORMAT_R8G8B8_UNORM;
|
||||
|
||||
case MESA_FORMAT_ARGB8888:
|
||||
return BRW_SURFACEFORMAT_B8G8R8A8_UNORM;
|
||||
|
|
@ -93,6 +94,15 @@ static GLuint translate_tex_format( GLuint mesa_format )
|
|||
case MESA_FORMAT_RGBA8888_REV:
|
||||
return BRW_SURFACEFORMAT_R8G8B8A8_UNORM;
|
||||
|
||||
case MESA_FORMAT_RGB565:
|
||||
return BRW_SURFACEFORMAT_B5G6R5_UNORM;
|
||||
|
||||
case MESA_FORMAT_ARGB1555:
|
||||
return BRW_SURFACEFORMAT_B5G5R5A1_UNORM;
|
||||
|
||||
case MESA_FORMAT_ARGB4444:
|
||||
return BRW_SURFACEFORMAT_B4G4R4A4_UNORM;
|
||||
|
||||
case MESA_FORMAT_YCBCR_REV:
|
||||
return BRW_SURFACEFORMAT_YCRCB_NORMAL;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue