r300g: fix resource_copy_region for DXT SRGB formats
authorMarek Olšák <maraeo@gmail.com>
Fri, 28 Jan 2011 16:15:22 +0000 (17:15 +0100)
committerMarek Olšák <maraeo@gmail.com>
Fri, 28 Jan 2011 16:15:22 +0000 (17:15 +0100)
src/gallium/drivers/r300/r300_blit.c

index d0eb21c89249146141991a4a1c2afbb88f4b54ed..69f8115c32cea1130d0553304367bace463fadac 100644 (file)
@@ -426,13 +426,13 @@ static void r300_resource_copy_region(struct pipe_context *pipe,
         }
     }
 
-    if (desc->colorspace == UTIL_FORMAT_COLORSPACE_SRGB ||
-        (!pipe->screen->is_format_supported(pipe->screen,
+    if (desc->layout == UTIL_FORMAT_LAYOUT_PLAIN &&
+        (desc->colorspace == UTIL_FORMAT_COLORSPACE_SRGB ||
+         !pipe->screen->is_format_supported(pipe->screen,
                                             old_format, src->target,
                                             src->nr_samples,
                                             PIPE_BIND_RENDER_TARGET |
-                                            PIPE_BIND_SAMPLER_VIEW, 0) &&
-         desc->layout == UTIL_FORMAT_LAYOUT_PLAIN)) {
+                                            PIPE_BIND_SAMPLER_VIEW, 0))) {
         switch (util_format_get_blocksize(old_format)) {
             case 1:
                 new_format = PIPE_FORMAT_I8_UNORM;