From: Marek Olšák Date: Fri, 28 Jan 2011 16:15:22 +0000 (+0100) Subject: r300g: fix resource_copy_region for DXT SRGB formats X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0029979eee6ef537592c7bb6b6005fa2ef0729da;p=mesa.git r300g: fix resource_copy_region for DXT SRGB formats --- diff --git a/src/gallium/drivers/r300/r300_blit.c b/src/gallium/drivers/r300/r300_blit.c index d0eb21c8924..69f8115c32c 100644 --- a/src/gallium/drivers/r300/r300_blit.c +++ b/src/gallium/drivers/r300/r300_blit.c @@ -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;