[Mesa-dev] [PATCH 3/5] i965: Add support for ARB_texture_compression_rgtc.

Ian Romanick idr at freedesktop.org
Wed Apr 20 16:21:05 PDT 2011


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 04/20/2011 11:08 AM, Eric Anholt wrote:
> Tested with rgtc-teximage-0[12].
> EXT_texture_compression_rgtc/fbo-generatemipmap-formats fails in NPOT
> just like S3TC does.

Should we also add compressed LATC and 3Dc extensions?

> ---
>  docs/relnotes-7.11.html                          |    4 ++--
>  src/mesa/drivers/dri/i965/brw_wm_surface_state.c |    4 ++++
>  src/mesa/drivers/dri/intel/intel_context.c       |    6 ++++++
>  src/mesa/drivers/dri/intel/intel_extensions.c    |    1 +
>  4 files changed, 13 insertions(+), 2 deletions(-)
> 
> diff --git a/docs/relnotes-7.11.html b/docs/relnotes-7.11.html
> index 2bd126c..d223a0a 100644
> --- a/docs/relnotes-7.11.html
> +++ b/docs/relnotes-7.11.html
> @@ -42,10 +42,10 @@ tbd
>  <li>GL_ARB_instanced_arrays extension (gallium drivers)
>  <li>GL_ARB_occlusion_query2 (gallium drivers, swrast)
>  <li>GL_ARB_sampler_objects (gallium drivers)
> -<li>GL_ARB_texture_compression_rgtc (gallium drivers, swrast)
> +<li>GL_ARB_texture_compression_rgtc (gallium drivers, swrast, i965)
>  <li>GL_ARB_texture_float (gallium, i965)
>  <li>GL_EXT_texture_compression_latc (gallium drivers, swrast)
> -<li>GL_EXT_texture_compression_rgtc (gallium drivers, swrast)
> +<li>GL_EXT_texture_compression_rgtc (gallium drivers, swrast, i965)
>  <li>GL_EXT_texture_sRGB_decode (gallium drivers, swrast, i965)
>  <li>GL_EXT_texture_snorm (gallium drivers)
>  <li>GL_ATI_draw_buffers (all drivers)
> diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
> index e3396a3..a03c652 100644
> --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
> +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
> @@ -112,6 +112,10 @@ static uint32_t brw_format_for_mesa_format[MESA_FORMAT_COUNT] =
>     [MESA_FORMAT_LUMINANCE_FLOAT32] = BRW_SURFACEFORMAT_L32_FLOAT,
>     [MESA_FORMAT_ALPHA_FLOAT32] = BRW_SURFACEFORMAT_A32_FLOAT,
>     [MESA_FORMAT_LUMINANCE_ALPHA_FLOAT32] = BRW_SURFACEFORMAT_L32A32_FLOAT,
> +   [MESA_FORMAT_RED_RGTC1] = BRW_SURFACEFORMAT_BC4_UNORM,
> +   [MESA_FORMAT_SIGNED_RED_RGTC1] = BRW_SURFACEFORMAT_BC4_SNORM,
> +   [MESA_FORMAT_RG_RGTC2] = BRW_SURFACEFORMAT_BC5_UNORM,
> +   [MESA_FORMAT_SIGNED_RG_RGTC2] = BRW_SURFACEFORMAT_BC5_SNORM,
>  };
>  
>  bool
> diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c
> index 02e7f77..ec08dd5 100644
> --- a/src/mesa/drivers/dri/intel/intel_context.c
> +++ b/src/mesa/drivers/dri/intel/intel_context.c
> @@ -718,6 +718,12 @@ intelInitContext(struct intel_context *intel,
>     ctx->TextureFormatSupported[MESA_FORMAT_RGBA_DXT5] = GL_TRUE;
>  
>  #ifndef I915
> +   /* GL_ARB_texture_compression_rgtc */
> +   ctx->TextureFormatSupported[MESA_FORMAT_RED_RGTC1] = GL_TRUE;
> +   ctx->TextureFormatSupported[MESA_FORMAT_SIGNED_RED_RGTC1] = GL_TRUE;
> +   ctx->TextureFormatSupported[MESA_FORMAT_RG_RGTC2] = GL_TRUE;
> +   ctx->TextureFormatSupported[MESA_FORMAT_SIGNED_RG_RGTC2] = GL_TRUE;
> +
>     /* GL_ARB_texture_rg */
>     ctx->TextureFormatSupported[MESA_FORMAT_R8] = GL_TRUE;
>     ctx->TextureFormatSupported[MESA_FORMAT_R16] = GL_TRUE;
> diff --git a/src/mesa/drivers/dri/intel/intel_extensions.c b/src/mesa/drivers/dri/intel/intel_extensions.c
> index e107534..6a81857 100644
> --- a/src/mesa/drivers/dri/intel/intel_extensions.c
> +++ b/src/mesa/drivers/dri/intel/intel_extensions.c
> @@ -176,6 +176,7 @@ static const struct dri_extension brw_extensions[] = {
>     { "GL_ARB_texture_float",              NULL },
>  #endif
>     { "GL_MESA_texture_signed_rgba",       NULL },
> +   { "GL_ARB_texture_compression_rgtc",   NULL },
>     { "GL_ARB_texture_non_power_of_two",   NULL },
>     { "GL_ARB_texture_rg",                 NULL },
>     { "GL_EXT_draw_buffers2",              GL_EXT_draw_buffers2_functions },

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/

iEYEARECAAYFAk2vamEACgkQX1gOwKyEAw8bTQCcCro6pH6RF5KadZwN2kKZ6O+s
XJ0AniTKSLRkUnw5iGsbfMF7mg/evFtZ
=iLvN
-----END PGP SIGNATURE-----


More information about the mesa-dev mailing list