summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/r600_state.c
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2012-08-26 23:03:51 +0200
committerMarek Olšák <[email protected]>2012-08-30 19:43:56 +0200
commitc2e9dd0276464ed61d48d3d80b9be8228767dfe2 (patch)
tree1e5e7b5314f6256a8b2ea2d678786c4732b2bee4 /src/gallium/drivers/r600/r600_state.c
parent2f6eb3afb725112b2a0b110493f5062f80a78a3f (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.c9
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;
}