[Mesa-dev] [Bug 107460] radv: OpControlBarrier does not always work correctly (bisected)
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Thu Aug 2 20:04:14 UTC 2018
https://bugs.freedesktop.org/show_bug.cgi?id=107460
Bug ID: 107460
Summary: radv: OpControlBarrier does not always work correctly
(bisected)
Product: Mesa
Version: git
Hardware: Other
OS: All
Status: NEW
Severity: normal
Priority: medium
Component: Drivers/Vulkan/radeon
Assignee: mesa-dev at lists.freedesktop.org
Reporter: philip.rebohle at tu-dortmund.de
QA Contact: mesa-dev at lists.freedesktop.org
Created attachment 140941
--> https://bugs.freedesktop.org/attachment.cgi?id=140941&action=edit
Probably affected compute shader
Hello,
a regression that affects OpControlBarrier instructions in compute shaders
causes major rendering issues in Final Fantasy XV. The attached shader seems to
be the one running into this issue.
In short, DXVK translates sync_g_t instructions to the following:
OpControlBarrier Workgroup, Workgroup, WorkgroupMemory | AcquireRelease
This currently does not work as expected. Interestingly, inserting an
additional OpMemoryBarrier seems to fix the problem:
OpMemoryBarrier Workgroup, WorkgroupMemory | AcquireRelease
OpControlBarrier Workgroup, Workgroup, WorkgroupMemory | AcquireRelease
While this is closer to what glslang emits for equivalent GLSL barriers,
emitting the extra OpMemoryBarrier instruction should not be necessary
according to the SPIR-V spec for OpControlBarrier.
The commit which introduced the problem is:
[f2b3e96e754a5d722f2b0fa1bd5efa1c0640ed3b]
radv: drop copy of ac_create_target_machine.
Looking at the difference between the two implementations, there's the
following line in ac_create_target_machine:
bool barrier_does_waitcnt = family != CHIP_VEGA20;
Changing this to 'false' fixes the problem for me. My GPU is an RX 480 (Polaris
10).
Unfortunately it is quite hard to isolate the exact issue in the game, a
renderdoc capture was not useful because the bug got baked into it for some
reason, so here's a D3D11 apitrace that needs to be replayed with DXVK in order
to reproduce the bug.
https://drive.google.com/file/d/1ywMEhn-P68Sino1_5yBkceLcMACTtDAI/view?usp=sharing
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180802/b7fe2fbc/attachment.html>
More information about the mesa-dev
mailing list