[Mesa-dev] [RFC v2 07/15] mesa/teximage: return the base internal format of the ASTC formats
Anuj Phogat
anuj.phogat at gmail.com
Tue Jun 2 10:23:25 PDT 2015
On Mon, Jun 1, 2015 at 10:13 AM, Nanley Chery <nanleychery at gmail.com> wrote:
> From: Nanley Chery <nanley.g.chery at intel.com>
>
> This is necesary to initialize the gl_texture_image struct.
>
> From the KHR_texture_compression_astc_ldr spec:
> "Added to Section 3.8.6, Compressed Texture Images
>
> Add the tokens specified above to Table 3.16, Compressed Internal Formats.
> In all cases, the base internal format will be RGBA. The encoding allows
> images to be encoded with fewer channels, but this is always presented as
> RGBA to the sampler."
>
> Signed-off-by: Nanley Chery <nanley.g.chery at intel.com>
> ---
> src/mesa/main/teximage.c | 36 ++++++++++++++++++++++++++++++++++++
> 1 file changed, 36 insertions(+)
>
> diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
> index 9207580..e134f3b 100644
> --- a/src/mesa/main/teximage.c
> +++ b/src/mesa/main/teximage.c
> @@ -565,6 +565,42 @@ _mesa_base_tex_format( struct gl_context *ctx, GLint internalFormat )
> }
> }
>
> + if (ctx->Extensions.KHR_texture_compression_astc_ldr) {
> + switch (internalFormat) {
> + case GL_COMPRESSED_RGBA_ASTC_4x4_KHR:
> + case GL_COMPRESSED_RGBA_ASTC_5x4_KHR:
> + case GL_COMPRESSED_RGBA_ASTC_5x5_KHR:
> + case GL_COMPRESSED_RGBA_ASTC_6x5_KHR:
> + case GL_COMPRESSED_RGBA_ASTC_6x6_KHR:
> + case GL_COMPRESSED_RGBA_ASTC_8x5_KHR:
> + case GL_COMPRESSED_RGBA_ASTC_8x6_KHR:
> + case GL_COMPRESSED_RGBA_ASTC_8x8_KHR:
> + case GL_COMPRESSED_RGBA_ASTC_10x5_KHR:
> + case GL_COMPRESSED_RGBA_ASTC_10x6_KHR:
> + case GL_COMPRESSED_RGBA_ASTC_10x8_KHR:
> + case GL_COMPRESSED_RGBA_ASTC_10x10_KHR:
> + case GL_COMPRESSED_RGBA_ASTC_12x10_KHR:
> + case GL_COMPRESSED_RGBA_ASTC_12x12_KHR:
> + case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:
> + case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:
> + case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:
> + case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:
> + case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:
> + case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:
> + case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:
> + case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:
> + case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:
> + case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:
> + case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:
> + case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:
> + case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:
> + case GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:
> + return GL_RGBA;
> + default:
> + ; /* fallthrough */
> + }
> + }
> +
> if (_mesa_is_gles3(ctx) || ctx->Extensions.ARB_ES3_compatibility) {
> switch (internalFormat) {
> case GL_COMPRESSED_RGB8_ETC2:
> --
> 2.4.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Reviewed-by: Anuj Phogat <anuj.phogat at gmail.com>
More information about the mesa-dev
mailing list