r600g: enable MSAA on r6xx by default
authorMarek Olšák <maraeo@gmail.com>
Sun, 26 Aug 2012 21:03:51 +0000 (23:03 +0200)
committerMarek Olšák <maraeo@gmail.com>
Thu, 30 Aug 2012 17:43:56 +0000 (19:43 +0200)
DRM 2.22.0 is required though. Also require the new DRM for r700, as
there are some important fixes for that generation too.

src/gallium/drivers/r600/r600_state.c

index e7ed239fe346d0e4a2dbd9fff97abe97142320ba..26db24b164479f5e446d6023bd311ad5d2eeeded 100644 (file)
@@ -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;
                }