r600g: use the hw MSAA resolving if formats are compatible
authorMarek Olšák <marek.olsak@amd.com>
Sat, 30 Apr 2016 19:44:41 +0000 (21:44 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Fri, 6 May 2016 10:56:47 +0000 (12:56 +0200)
This allows resolving RGBA into RGBX.
This should improve HL2 Lost Coast performance.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
src/gallium/drivers/r600/r600_blit.c

index ed67cb8699fbdf0602387b715ca54878b14d1a1a..9230b4021b5dbbd8fa5d75323cbbec9e76eb3e05 100644 (file)
@@ -808,7 +808,8 @@ static bool do_hardware_msaa_resolve(struct pipe_context *ctx,
            info->dst.resource->nr_samples <= 1 &&
            util_max_layer(info->src.resource, 0) == 0 &&
            util_max_layer(info->dst.resource, info->dst.level) == 0 &&
-           info->dst.format == info->src.format &&
+           util_is_format_compatible(util_format_description(info->src.format),
+                                     util_format_description(info->dst.format)) &&
            !util_format_is_pure_integer(format) &&
            !util_format_is_depth_or_stencil(format) &&
            !info->scissor_enable &&