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.
Created attachment 145428 [details] [review]
Patch for piglit
Here are intermediate results:
I moved a bit forward in my investigation. I found out that this issue could be reproduced by a bit enhanced 'arb_texture_buffer_object-subdata-sync' piglit test (patch was attached). The enhanced test passes on radeon and i965 but fails on iris.
(In reply to andrii simiklit from comment #6)
> Created attachment 145428 [details] [review] [review]
> Patch for piglit
> Here are intermediate results:
> I moved a bit forward in my investigation. I found out that this issue could
> be reproduced by a bit enhanced 'arb_texture_buffer_object-subdata-sync'
> piglit test (patch was attached). The enhanced test passes on radeon and
> i965 but fails on iris.
Oh, it doesn't reproduce. Some of my local debug changes led to it. Just ignore it.
I found a bug in iris_rebind_buffer with VBOs - we weren't taking offsets into account:
But that doesn't seem to fix this issue. Also, just a heads up, these demos will fail to run on master - I filed https://gitlab.freedesktop.org/mesa/mesa/issues/1205 about that. In the meantime, you'll need to roll back a few commits...
(In reply to Kenneth Graunke from comment #8)
> Also, just a heads up, these demos will fail to run on master - I filed
> https://gitlab.freedesktop.org/mesa/mesa/issues/1205 about that. In the
> meantime, you'll need to roll back a few commits...
Nevermind, I was running a bad git snapshot of X. You can ignore that comment.
-- GitLab Migration Automatic Message --
This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.
You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/1365.