mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-03-14 22:29:15 +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:
parent
9220835171
commit
b51361eaa9
@ -2328,20 +2328,17 @@ namespace dxvk {
|
|||||||
| spv::MemorySemanticsAcquireReleaseMask;
|
| 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) {
|
if (executionScope != spv::ScopeInvocation) {
|
||||||
m_module.opControlBarrier(
|
m_module.opControlBarrier(
|
||||||
m_module.constu32(executionScope),
|
m_module.constu32(executionScope),
|
||||||
m_module.constu32(memoryScope),
|
m_module.constu32(memoryScope),
|
||||||
m_module.constu32(memorySemantics));
|
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");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user