From: Marek Olšák Date: Wed, 1 Dec 2010 21:49:02 +0000 (+0100) Subject: r300g: disable ARB_texture_swizzle if S3TC is enabled on r3xx-only X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fcf6b353bfd860aa7bcc708858bef313c6fd7031;p=mesa.git r300g: disable ARB_texture_swizzle if S3TC is enabled on r3xx-only r3xx cannot swizzle compressed textures. r4xx+ is unaffected. NOTE: This is a candidate for the 7.9 branch. --- diff --git a/src/gallium/drivers/r300/r300_screen.c b/src/gallium/drivers/r300/r300_screen.c index 85de60df0f4..09981cb26b8 100644 --- a/src/gallium/drivers/r300/r300_screen.c +++ b/src/gallium/drivers/r300/r300_screen.c @@ -116,8 +116,9 @@ static int r300_get_param(struct pipe_screen* pscreen, enum pipe_cap param) case PIPE_CAP_TEXTURE_MIRROR_CLAMP: case PIPE_CAP_TEXTURE_MIRROR_REPEAT: case PIPE_CAP_BLEND_EQUATION_SEPARATE: - case PIPE_CAP_TEXTURE_SWIZZLE: return 1; + case PIPE_CAP_TEXTURE_SWIZZLE: + return util_format_s3tc_enabled ? r300screen->caps.dxtc_swizzle : 1; /* Unsupported features (boolean caps). */ case PIPE_CAP_TIMER_QUERY: