[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