Unreal 4's Elemental demo misrenders on iris - a bunch of the geometry goes haywire. I am not sure why yet.
Danylo, would you or someone on your team be able to take a look at this bug?
Yes, we can look at it. Unfortunately we are unable to download this demo - the resulting archive is always corrupted. Could you upload it somewhere?
Weird...looks like the download links are pointing at web.archive.org now.
Try the Matinee Fight Scene demo, it's much smaller and also reproduces the bug. I downloaded the archive for that one and verified that it was actually working.
I am investigating this issue
Hi, here is current progress:
1. My colleague Denis bisected it to:
commit 5ad0c88dbe3e5805a10d8f1fef9d0cf1bbecdd46 (HEAD, refs/bisect/bad)
Author: Kenneth Graunke <firstname.lastname@example.org>
Date: Tue Mar 12 14:51:22 2019 -0700
iris: Replace buffer backing storage and rebind to update addresses.
2. At the moment I found out that INTEL_DEBUG=sync fixes the issue as well as the following patch:
diff --git a/src/gallium/drivers/iris/iris_resource.c b/src/gallium/drivers/iris/iris_resource.c
index 989c112a3e3..b076c09af83 100644
@@ -1175,7 +1175,7 @@ iris_invalidate_resource(struct pipe_context *ctx,
// XXX: We should support this.
- if (res->bind_history & PIPE_BIND_STREAM_OUTPUT)
+ if (res->bind_history & (PIPE_BIND_STREAM_OUTPUT | PIPE_BIND_SAMPLER_VIEW))
struct iris_bo *old_bo = res->bo;
So according to the patch, I can assume that something went wrong with sampler_views but at the moment, I can't say what exactly so I continue my investigation.