diff options
author | Marek Olšák <maraeo@gmail.com> | 2010-12-01 22:49:02 +0100 |
---|---|---|
committer | Marek Olšák <maraeo@gmail.com> | 2010-12-01 22:54:05 +0100 |
commit | fcf6b353bfd860aa7bcc708858bef313c6fd7031 (patch) | |
tree | 9fe79f3e0a712e00b2a0aba442fddbd9e7ae36e0 | |
parent | 6478a4de14d368bf85ba3477d73fd1bd91067e86 (diff) |
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.
-rw-r--r-- | src/gallium/drivers/r300/r300_screen.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/drivers/r300/r300_screen.c b/src/gallium/drivers/r300/r300_screen.c index 85de60df0f..09981cb26b 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: |