diff options
author | Marek Olšák <[email protected]> | 2013-02-02 06:20:25 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2013-02-06 14:45:22 +0100 |
commit | 85efb2fff0d4de56c31e414fd05a37d212211da1 (patch) | |
tree | f90174f00111de86f6f1cf34dd381c2e68144a9d /src/gallium/drivers/r300/r300_screen.c | |
parent | 1d3561d877c8294ffccfd6765268f32dc9ae62cf (diff) |
r300g: try to use color varyings for texcoords if max texcoord limit is exceeded
+35 piglits
Diffstat (limited to 'src/gallium/drivers/r300/r300_screen.c')
-rw-r--r-- | src/gallium/drivers/r300/r300_screen.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gallium/drivers/r300/r300_screen.c b/src/gallium/drivers/r300/r300_screen.c index 01f782c4a27..ebc8a2e958d 100644 --- a/src/gallium/drivers/r300/r300_screen.c +++ b/src/gallium/drivers/r300/r300_screen.c @@ -103,7 +103,6 @@ static int r300_get_param(struct pipe_screen* pscreen, enum pipe_cap param) case PIPE_CAP_TEXTURE_BARRIER: case PIPE_CAP_TGSI_CAN_COMPACT_VARYINGS: case PIPE_CAP_TGSI_CAN_COMPACT_CONSTANTS: - case PIPE_CAP_VERTEX_COLOR_CLAMPED: case PIPE_CAP_USER_INDEX_BUFFERS: case PIPE_CAP_USER_CONSTANT_BUFFERS: case PIPE_CAP_DEPTH_CLIP_DISABLE: /* XXX implemented, but breaks Regnum Online */ @@ -122,6 +121,11 @@ static int r300_get_param(struct pipe_screen* pscreen, enum pipe_cap param) case PIPE_CAP_TEXTURE_SWIZZLE: return util_format_s3tc_enabled ? r300screen->caps.dxtc_swizzle : 1; + /* We don't support color clamping on r500, so that we can use color + * intepolators for generic varyings. */ + case PIPE_CAP_VERTEX_COLOR_CLAMPED: + return !is_r500; + /* Supported on r500 only. */ case PIPE_CAP_VERTEX_COLOR_UNCLAMPED: case PIPE_CAP_MIXED_COLORBUFFER_FORMATS: |