1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-03-13 19:29:14 +01:00

Revert "[dxbc] Work around OpControlBarrier issue on radv 18.2-git"

This reverts commit 9293acfeb561fced8e05e2d08e3bd70fb5de8fff.

This issue is caused by an LLVM bug, which now has a workaround in RADV:
https://cgit.freedesktop.org/mesa/mesa/commit/?id=71d5b2fbf83061a1319141d26942771e8c75ff2b
This commit is contained in:
Philip Rebohle 2018-08-17 10:17:27 +02:00
parent 9220835171
commit b51361eaa9
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99

View File

@ -2328,20 +2328,17 @@ namespace dxvk {
| spv::MemorySemanticsAcquireReleaseMask;
}
// According to the SPIR-V spec, OpControlBarrier should
// also act as a memory barrier if the memory semantics
// are not 'none', but this is currently broken on RADV.
if (memoryScope != spv::ScopeInvocation) {
m_module.opMemoryBarrier(
m_module.constu32(memoryScope),
m_module.constu32(memorySemantics));
}
if (executionScope != spv::ScopeInvocation) {
m_module.opControlBarrier(
m_module.constu32(executionScope),
m_module.constu32(memoryScope),
m_module.constu32(memorySemantics));
} else if (memoryScope != spv::ScopeInvocation) {
m_module.opMemoryBarrier(
m_module.constu32(memoryScope),
m_module.constu32(memorySemantics));
} else {
Logger::warn("DxbcCompiler: sync instruction has no effect");
}
}