On 04.08.2017 04:51, Dave Airlie wrote:
From: Dave Airlie <airl...@redhat.com>
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.
Signed-off-by: Dave Airlie <airl...@redhat.com>
---
src/amd/vulkan/radv_meta_resolve.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/amd/vulkan/radv_meta_resolve.c
b/src/amd/vulkan/radv_meta_resolve.c
index 6cd0c38..6023e0f 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;
If you really want to make sure developers get this right, you should
probably abort(); here? Although that might then bug users... maybe an
abort() that can be skipped by explicitly setting an environment variable?
That's the usual problem with Vulkan, I guess...
Cheers,
Nicolai
+ }
assert(dest_image->info.samples == 1);
if (src_image->info.samples >= 16) {
--
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev