From: Dave Airlie Date: Fri, 4 Aug 2017 01:13:55 +0000 (+0100) Subject: radv: avoid GPU hangs if someone does a resolve with non-multisample src (v2) X-Git-Tag: android-x86-8.1-r1~10837 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=36a1b61321561634c6b243cf876c347fef73dfa4;p=android-x86%2Fexternal-mesa.git radv: avoid GPU hangs if someone does a resolve with non-multisample src (v2) This is a bug in the app, but I'd rather avoid hanging the GPU, esp if someone is running in validation and it takes out their development environment. v2: get it right, reverse the polarity. Reviewed-by: Bas Nieuwenhuizen Cc: Signed-off-by: Dave Airlie --- diff --git a/src/amd/vulkan/radv_meta_resolve.c b/src/amd/vulkan/radv_meta_resolve.c index 6cd0c381a54..6023e0f8999 100644 --- a/src/amd/vulkan/radv_meta_resolve.c +++ b/src/amd/vulkan/radv_meta_resolve.c @@ -382,6 +382,11 @@ void radv_CmdResolveImage( radv_meta_save_graphics_reset_vport_scissor_novertex(&saved_state, cmd_buffer); assert(src_image->info.samples > 1); + if (src_image->info.samples <= 1) { + /* this causes GPU hangs if we get past here */ + fprintf(stderr, "radv: Illegal resolve operation (src not multisampled), will hang GPU."); + return; + } assert(dest_image->info.samples == 1); if (src_image->info.samples >= 16) {