[Bug 100620] [SKL] 48-bit addresses break DOOM

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Apr 17 00:08:20 UTC 2017


https://bugs.freedesktop.org/show_bug.cgi?id=100620

--- Comment #11 from Grazvydas Ignotas <notasas at gmail.com> ---
I've been experimenting with this a bit and found some things.

Making anv_AllocateMemory() not set EXEC_OBJECT_SUPPORTS_48B_ADDRESS removes
the corruption.  The game calls it exactly 100 times from the start to getting
ingame, so adding a counter and only clearing the flag sometimes also works. It
seems if the flag is set for 85 or more allocations the corruption appears. It
doesn't matter if the flag is cleared for the first 16 or the last 16 calls,
both cases avoid the glitch, so there is no specific "bad" allocation, it seems
to be related to count (or maybe total size?). Another way to "fix" it is to
not set the flag for all other anv_bo_init_new() callers, then
anv_AllocateMemory can set the flag for all 100 calls without causing the
glitch.

I've also tried setting the flag when the requested size passes certain
threshold, but concluded it's not related to the size of some single allocation
(for example there is no glitch is the flag is not set for all allocations
below 100MB, also no glitch if that comparison is inverted).

The allocations seem to range from 1024 to 134217728 bytes (no larger alloc
attempts), it allocates ~1.8GB of memory in total.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20170417/7f868e3c/attachment.html>


More information about the intel-3d-bugs mailing list