[dxbc] Implemented ImmAtomicCmpExch and AtomicCmpStore

This commit is contained in:
Philip Rebohle 2018-04-04 13:59:43 +02:00
parent e06300d592
commit 492c7384bc
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99
1 changed files with 8 additions and 0 deletions

View File

@ -2026,6 +2026,14 @@ namespace dxvk {
const uint32_t typeId = getVectorTypeId(value.type);
switch (ins.op) {
case DxbcOpcode::AtomicCmpStore:
case DxbcOpcode::ImmAtomicCmpExch:
value.id = m_module.opAtomicCompareExchange(
typeId, pointer.id, scopeId, semanticsId,
m_module.constu32(spv::MemorySemanticsMaskNone),
src[1].id, src[0].id);
break;
case DxbcOpcode::ImmAtomicExch:
value.id = m_module.opAtomicExchange(typeId,
pointer.id, scopeId, semanticsId,