diff options
author | Marek Olšák <[email protected]> | 2012-08-26 23:03:51 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2012-08-30 19:43:56 +0200 |
commit | c2e9dd0276464ed61d48d3d80b9be8228767dfe2 (patch) | |
tree | 1e5e7b5314f6256a8b2ea2d678786c4732b2bee4 /src/gallium/drivers/r600/r600_state.c | |
parent | 2f6eb3afb725112b2a0b110493f5062f80a78a3f (diff) |
r600g: enable MSAA on r6xx by default
DRM 2.22.0 is required though. Also require the new DRM for r700, as
there are some important fixes for that generation too.
Diffstat (limited to 'src/gallium/drivers/r600/r600_state.c')
-rw-r--r-- | src/gallium/drivers/r600/r600_state.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/gallium/drivers/r600/r600_state.c b/src/gallium/drivers/r600/r600_state.c index e7ed239fe34..26db24b1644 100644 --- a/src/gallium/drivers/r600/r600_state.c +++ b/src/gallium/drivers/r600/r600_state.c @@ -584,9 +584,12 @@ boolean r600_is_format_supported(struct pipe_screen *screen, return FALSE; if (sample_count > 1) { - if (rscreen->info.drm_minor < 21) + if (rscreen->info.drm_minor < 22) return FALSE; - if (rscreen->chip_class != R700) + + /* R11G11B10 is broken on R6xx. */ + if (rscreen->chip_class == R600 && + format == PIPE_FORMAT_R11G11B10_FLOAT) return FALSE; switch (sample_count) { @@ -602,7 +605,7 @@ boolean r600_is_format_supported(struct pipe_screen *screen, if (util_format_is_depth_or_stencil(format)) { usage |= PIPE_BIND_DEPTH_STENCIL; } else if (util_format_is_pure_integer(format)) { - return FALSE; + return FALSE; /* no integer textures */ } else { usage |= PIPE_BIND_RENDER_TARGET; } |