1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-01-18 20:52:10 +01:00

[d3d11] Implement barrier control extension

This commit is contained in:
Philip Rebohle 2019-04-24 20:18:02 +02:00
parent 04bef3c67a
commit 9e57b03e64
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99
2 changed files with 15 additions and 1 deletions

View File

@ -76,7 +76,15 @@ namespace dxvk {
void STDMETHODCALLTYPE D3D11DeviceContextExt::SetBarrierControl(
UINT ControlFlags) {
D3D10DeviceLock lock = m_ctx->LockContext();
DxvkBarrierControlFlags flags;
if (ControlFlags & D3D11_VK_BARRIER_CONTROL_IGNORE_WRITE_AFTER_WRITE)
flags.set(DxvkBarrierControl::IgnoreWriteAfterWrite);
m_ctx->EmitCs([cFlags = flags] (DxvkContext* ctx) {
ctx->setBarrierControl(cFlags);
});
}
}

View File

@ -1772,7 +1772,13 @@ namespace dxvk {
BOOL STDMETHODCALLTYPE D3D11DeviceExt::GetExtensionSupport(
D3D11_VK_EXTENSION Extension) {
return FALSE;
switch (Extension) {
case D3D11_VK_EXT_BARRIER_CONTROL:
return true;
default:
return false;
}
}