diff --git a/src/mesa/drivers/dri/i915/intel_extensions.c b/src/mesa/drivers/dri/i915/intel_extensions.c index 4f2c6fa34e3..c85bd787fe7 100644 --- a/src/mesa/drivers/dri/i915/intel_extensions.c +++ b/src/mesa/drivers/dri/i915/intel_extensions.c @@ -100,9 +100,6 @@ intelInitExtensions(struct gl_context *ctx) ctx->Extensions.ARB_occlusion_query = true; } - if (intel->ctx.Mesa_DXTn - || driQueryOptionb(&intel->optionCache, "force_s3tc_enable")) - ctx->Extensions.EXT_texture_compression_s3tc = true; - + ctx->Extensions.EXT_texture_compression_s3tc = true; ctx->Extensions.ANGLE_texture_compression_dxt = true; } diff --git a/src/mesa/drivers/dri/i965/intel_extensions.c b/src/mesa/drivers/dri/i965/intel_extensions.c index 8aaea6fda23..9487b4ae70f 100644 --- a/src/mesa/drivers/dri/i965/intel_extensions.c +++ b/src/mesa/drivers/dri/i965/intel_extensions.c @@ -301,8 +301,6 @@ intelInitExtensions(struct gl_context *ctx) if (ctx->API != API_OPENGL_CORE) ctx->Extensions.ARB_color_buffer_float = true; - if (ctx->Mesa_DXTn || driQueryOptionb(&brw->optionCache, "force_s3tc_enable")) - ctx->Extensions.EXT_texture_compression_s3tc = true; - + ctx->Extensions.EXT_texture_compression_s3tc = true; ctx->Extensions.ANGLE_texture_compression_dxt = true; } diff --git a/src/mesa/drivers/dri/nouveau/nv10_context.c b/src/mesa/drivers/dri/nouveau/nv10_context.c index 7a86ba2358d..be2178fb79e 100644 --- a/src/mesa/drivers/dri/nouveau/nv10_context.c +++ b/src/mesa/drivers/dri/nouveau/nv10_context.c @@ -451,10 +451,8 @@ nv10_context_create(struct nouveau_screen *screen, gl_api api, ctx->Extensions.EXT_texture_env_dot3 = true; ctx->Extensions.NV_fog_distance = true; ctx->Extensions.NV_texture_rectangle = true; - if (ctx->Mesa_DXTn) { - ctx->Extensions.EXT_texture_compression_s3tc = true; - ctx->Extensions.ANGLE_texture_compression_dxt = true; - } + ctx->Extensions.EXT_texture_compression_s3tc = true; + ctx->Extensions.ANGLE_texture_compression_dxt = true; /* GL constants. */ ctx->Const.MaxTextureLevels = 12; diff --git a/src/mesa/drivers/dri/nouveau/nv20_context.c b/src/mesa/drivers/dri/nouveau/nv20_context.c index ec638c036b1..0ab2db0b086 100644 --- a/src/mesa/drivers/dri/nouveau/nv20_context.c +++ b/src/mesa/drivers/dri/nouveau/nv20_context.c @@ -462,10 +462,8 @@ nv20_context_create(struct nouveau_screen *screen, gl_api api, ctx->Extensions.EXT_texture_env_dot3 = true; ctx->Extensions.NV_fog_distance = true; ctx->Extensions.NV_texture_rectangle = true; - if (ctx->Mesa_DXTn) { - ctx->Extensions.EXT_texture_compression_s3tc = true; - ctx->Extensions.ANGLE_texture_compression_dxt = true; - } + ctx->Extensions.EXT_texture_compression_s3tc = true; + ctx->Extensions.ANGLE_texture_compression_dxt = true; /* GL constants. */ ctx->Const.MaxTextureCoordUnits = NV20_TEXTURE_UNITS; diff --git a/src/mesa/drivers/dri/r200/r200_context.c b/src/mesa/drivers/dri/r200/r200_context.c index 0a27985de72..b6354dccbb9 100644 --- a/src/mesa/drivers/dri/r200/r200_context.c +++ b/src/mesa/drivers/dri/r200/r200_context.c @@ -363,14 +363,8 @@ GLboolean r200CreateContext( gl_api api, others get the bit ordering right but don't actually do YUV-RGB conversion */ ctx->Extensions.MESA_ycbcr_texture = true; } - if (rmesa->radeon.glCtx.Mesa_DXTn) { - ctx->Extensions.EXT_texture_compression_s3tc = true; - ctx->Extensions.ANGLE_texture_compression_dxt = true; - } - else if (driQueryOptionb (&rmesa->radeon.optionCache, "force_s3tc_enable")) { - ctx->Extensions.EXT_texture_compression_s3tc = true; - ctx->Extensions.ANGLE_texture_compression_dxt = true; - } + ctx->Extensions.EXT_texture_compression_s3tc = true; + ctx->Extensions.ANGLE_texture_compression_dxt = true; #if 0 r200InitDriverFuncs( ctx ); diff --git a/src/mesa/drivers/dri/radeon/radeon_context.c b/src/mesa/drivers/dri/radeon/radeon_context.c index 28a79860d72..c1ee8d8a767 100644 --- a/src/mesa/drivers/dri/radeon/radeon_context.c +++ b/src/mesa/drivers/dri/radeon/radeon_context.c @@ -311,14 +311,8 @@ r100CreateContext( gl_api api, ctx->Extensions.NV_texture_rectangle = true; ctx->Extensions.OES_EGL_image = true; - if (rmesa->radeon.glCtx.Mesa_DXTn) { - ctx->Extensions.EXT_texture_compression_s3tc = true; - ctx->Extensions.ANGLE_texture_compression_dxt = true; - } - else if (driQueryOptionb (&rmesa->radeon.optionCache, "force_s3tc_enable")) { - ctx->Extensions.EXT_texture_compression_s3tc = true; - ctx->Extensions.ANGLE_texture_compression_dxt = true; - } + ctx->Extensions.EXT_texture_compression_s3tc = true; + ctx->Extensions.ANGLE_texture_compression_dxt = true; /* XXX these should really go right after _mesa_init_driver_functions() */ radeon_fbo_init(&rmesa->radeon); diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c index 55a65ac2abe..676103d4778 100644 --- a/src/mesa/main/context.c +++ b/src/mesa/main/context.c @@ -866,8 +866,6 @@ init_attrib_groups(struct gl_context *ctx) if (!_mesa_init_texture( ctx )) return GL_FALSE; - _mesa_init_texture_s3tc( ctx ); - /* Miscellaneous */ ctx->NewState = _NEW_ALL; ctx->NewDriverState = ~0; diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c index 5a5fdd247f3..f185aa5aab5 100644 --- a/src/mesa/main/extensions.c +++ b/src/mesa/main/extensions.c @@ -177,10 +177,8 @@ _mesa_enable_sw_extensions(struct gl_context *ctx) ctx->Extensions.EXT_gpu_program_parameters = GL_TRUE; ctx->Extensions.OES_standard_derivatives = GL_TRUE; ctx->Extensions.TDFX_texture_compression_FXT1 = GL_TRUE; - if (ctx->Mesa_DXTn) { - ctx->Extensions.ANGLE_texture_compression_dxt = GL_TRUE; - ctx->Extensions.EXT_texture_compression_s3tc = GL_TRUE; - } + ctx->Extensions.ANGLE_texture_compression_dxt = GL_TRUE; + ctx->Extensions.EXT_texture_compression_s3tc = GL_TRUE; } /** diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index db9ea760e01..abda1a36e46 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -4974,9 +4974,6 @@ struct gl_context */ GLboolean HasConfig; - /** software compression/decompression supported or not */ - GLboolean Mesa_DXTn; - GLboolean TextureFormatSupported[MESA_FORMAT_COUNT]; GLboolean RasterDiscard; /**< GL_RASTERIZER_DISCARD */ diff --git a/src/mesa/main/texcompress_s3tc.c b/src/mesa/main/texcompress_s3tc.c index 14067f0e991..a3bb340b4ee 100644 --- a/src/mesa/main/texcompress_s3tc.c +++ b/src/mesa/main/texcompress_s3tc.c @@ -43,13 +43,6 @@ #include "util/format_srgb.h" -void -_mesa_init_texture_s3tc( struct gl_context *ctx ) -{ - /* called during context initialization */ - ctx->Mesa_DXTn = GL_TRUE; -} - /** * Store user's image in rgb_dxt1 format. */ diff --git a/src/mesa/main/texcompress_s3tc.h b/src/mesa/main/texcompress_s3tc.h index 438b71fe332..0dbb5fc5371 100644 --- a/src/mesa/main/texcompress_s3tc.h +++ b/src/mesa/main/texcompress_s3tc.h @@ -44,9 +44,6 @@ extern GLboolean _mesa_texstore_rgba_dxt5(TEXSTORE_PARAMS); -extern void -_mesa_init_texture_s3tc(struct gl_context *ctx); - extern compressed_fetch_func _mesa_get_dxt_fetch_func(mesa_format format); diff --git a/src/mesa/main/texformat.c b/src/mesa/main/texformat.c index baa3988f0a0..3f8e7a49a27 100644 --- a/src/mesa/main/texformat.c +++ b/src/mesa/main/texformat.c @@ -249,9 +249,7 @@ _mesa_choose_tex_format(struct gl_context *ctx, GLenum target, * 1D ARRAY textures in S3TC format. */ if (target != GL_TEXTURE_1D && target != GL_TEXTURE_1D_ARRAY) { - if (ctx->Mesa_DXTn) - RETURN_IF_SUPPORTED(MESA_FORMAT_RGB_DXT1); - RETURN_IF_SUPPORTED(MESA_FORMAT_RGB_FXT1); + RETURN_IF_SUPPORTED(MESA_FORMAT_RGB_DXT1); } RETURN_IF_SUPPORTED(MESA_FORMAT_BGR_UNORM8); RETURN_IF_SUPPORTED(MESA_FORMAT_B8G8R8X8_UNORM); @@ -260,9 +258,7 @@ _mesa_choose_tex_format(struct gl_context *ctx, GLenum target, case GL_COMPRESSED_RGBA_ARB: /* We don't use texture compression for 1D and 1D array textures. */ if (target != GL_TEXTURE_1D && target != GL_TEXTURE_1D_ARRAY) { - if (ctx->Mesa_DXTn) - RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_DXT3); /* Not rgba_dxt1, see spec */ - RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_FXT1); + RETURN_IF_SUPPORTED(MESA_FORMAT_RGBA_DXT3); /* Not rgba_dxt1, see spec */ } RETURN_IF_SUPPORTED(MESA_FORMAT_A8B8G8R8_UNORM); RETURN_IF_SUPPORTED(MESA_FORMAT_B8G8R8A8_UNORM); @@ -502,15 +498,13 @@ _mesa_choose_tex_format(struct gl_context *ctx, GLenum target, RETURN_IF_SUPPORTED(MESA_FORMAT_A8R8G8B8_SRGB); break; case GL_COMPRESSED_SRGB_EXT: - if (ctx->Mesa_DXTn) - RETURN_IF_SUPPORTED(MESA_FORMAT_SRGB_DXT1); + RETURN_IF_SUPPORTED(MESA_FORMAT_SRGB_DXT1); RETURN_IF_SUPPORTED(MESA_FORMAT_BGR_SRGB8); RETURN_IF_SUPPORTED(MESA_FORMAT_B8G8R8A8_SRGB); RETURN_IF_SUPPORTED(MESA_FORMAT_A8R8G8B8_SRGB); break; case GL_COMPRESSED_SRGB_ALPHA_EXT: - if (ctx->Mesa_DXTn) - RETURN_IF_SUPPORTED(MESA_FORMAT_SRGBA_DXT3); /* Not srgba_dxt1, see spec */ + RETURN_IF_SUPPORTED(MESA_FORMAT_SRGBA_DXT3); /* Not srgba_dxt1, see spec */ RETURN_IF_SUPPORTED(MESA_FORMAT_A8B8G8R8_SRGB); RETURN_IF_SUPPORTED(MESA_FORMAT_B8G8R8A8_SRGB); RETURN_IF_SUPPORTED(MESA_FORMAT_A8R8G8B8_SRGB); diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index d0642051909..0a3025a2e6b 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -2769,38 +2769,6 @@ _mesa_choose_texture_format(struct gl_context *ctx, } } - /* If the application requested compression to an S3TC format but we don't - * have the DXTn library, force a generic compressed format instead. - */ - if (internalFormat != format && format != GL_NONE) { - const GLenum before = internalFormat; - - switch (internalFormat) { - case GL_COMPRESSED_RGB_S3TC_DXT1_EXT: - if (!ctx->Mesa_DXTn) - internalFormat = GL_COMPRESSED_RGB; - break; - case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT: - case GL_COMPRESSED_RGBA_S3TC_DXT3_EXT: - case GL_COMPRESSED_RGBA_S3TC_DXT5_EXT: - if (!ctx->Mesa_DXTn) - internalFormat = GL_COMPRESSED_RGBA; - break; - default: - break; - } - - if (before != internalFormat) { - _mesa_warning(ctx, - "DXT compression requested (%s), " - "but libtxc_dxtn library not installed. Using %s " - "instead.", - _mesa_enum_to_string(before), - _mesa_enum_to_string(internalFormat)); - } - } - - /* choose format from scratch */ f = ctx->Driver.ChooseTextureFormat(ctx, target, internalFormat, format, type); assert(f != MESA_FORMAT_NONE); diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c index ef2e73e7415..2422640d849 100644 --- a/src/mesa/state_tracker/st_context.c +++ b/src/mesa/state_tracker/st_context.c @@ -406,7 +406,7 @@ st_create_context_priv( struct gl_context *ctx, struct pipe_context *pipe, /* GL limits and extensions */ st_init_limits(pipe->screen, &ctx->Const, &ctx->Extensions); st_init_extensions(pipe->screen, &ctx->Const, - &ctx->Extensions, &st->options, ctx->Mesa_DXTn); + &ctx->Extensions, &st->options, GL_TRUE); if (st_have_perfmon(st)) { ctx->Extensions.AMD_performance_monitor = GL_TRUE; diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c index 84b744e3df5..5e38fe56890 100644 --- a/src/mesa/state_tracker/st_format.c +++ b/src/mesa/state_tracker/st_format.c @@ -2280,13 +2280,13 @@ st_ChooseTextureFormat(struct gl_context *ctx, GLenum target, } pFormat = st_choose_format(st, internalFormat, format, type, - pTarget, 0, bindings, ctx->Mesa_DXTn); + pTarget, 0, bindings, GL_TRUE); if (pFormat == PIPE_FORMAT_NONE && !is_renderbuffer) { /* try choosing format again, this time without render target bindings */ pFormat = st_choose_format(st, internalFormat, format, type, pTarget, 0, PIPE_BIND_SAMPLER_VIEW, - ctx->Mesa_DXTn); + GL_TRUE); } if (pFormat == PIPE_FORMAT_NONE) {