radeonsi: check for !is_linear in do_hardware_msaa_resolve
authorMarek Olšák <marek.olsak@amd.com>
Fri, 11 Nov 2016 20:15:54 +0000 (21:15 +0100)
committerMarek Olšák <marek.olsak@amd.com>
Mon, 21 Nov 2016 20:44:35 +0000 (21:44 +0100)
We don't want opt4Space here.

Tested-by: Edmondo Tommasina <edmondo.tommasina@gmail.com>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
src/gallium/drivers/radeonsi/si_blit.c

index 075d76a..f5f49c1 100644 (file)
@@ -972,6 +972,7 @@ static bool do_hardware_msaa_resolve(struct pipe_context *ctx,
        struct si_context *sctx = (struct si_context*)ctx;
        struct r600_texture *src = (struct r600_texture*)info->src.resource;
        struct r600_texture *dst = (struct r600_texture*)info->dst.resource;
+       struct r600_texture *rtmp;
        unsigned dst_width = u_minify(info->dst.resource->width0, info->dst.level);
        unsigned dst_height = u_minify(info->dst.resource->height0, info->dst.level);
        enum pipe_format format = info->src.format;
@@ -1074,9 +1075,10 @@ resolve_to_temp:
        tmp = ctx->screen->resource_create(ctx->screen, &templ);
        if (!tmp)
                return false;
+       rtmp = (struct r600_texture*)tmp;
 
-       assert(src->surface.micro_tile_mode ==
-              ((struct r600_texture*)tmp)->surface.micro_tile_mode);
+       assert(!rtmp->surface.is_linear);
+       assert(src->surface.micro_tile_mode == rtmp->surface.micro_tile_mode);
 
        /* resolve */
        si_blitter_begin(ctx, SI_COLOR_RESOLVE |