[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