From 60493a24656c20eabeac5fef181a58fcf3922fad Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 7 Jun 2023 12:25:38 +0100 Subject: [PATCH] Disable use of new barriers on D3D12 on older SDKs * This avoids a crash that has been fixed in newer SDKs. --- renderdoc/driver/d3d12/d3d12_device.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/renderdoc/driver/d3d12/d3d12_device.cpp b/renderdoc/driver/d3d12/d3d12_device.cpp index 4c6892aac..609073d8d 100644 --- a/renderdoc/driver/d3d12/d3d12_device.cpp +++ b/renderdoc/driver/d3d12/d3d12_device.cpp @@ -652,6 +652,18 @@ WrappedID3D12Device::WrappedID3D12Device(ID3D12Device *realDevice, D3D12InitPara m_FrameCaptureRecord = NULL; ResourceIDGen::SetReplayResourceIDs(); + + HMODULE D3D12Core = GetModuleHandleA("D3D12Core.dll"); + if(D3D12Core != NULL) + { + DWORD *ver_ptr = (DWORD *)GetProcAddress(D3D12Core, "D3D12SDKVersion"); + + if(ver_ptr && *ver_ptr >= 700 && *ver_ptr <= 706) + { + RDCLOG("Disabling new barrier support on older beta SDK"); + m_D3D12Opts12.EnhancedBarriersSupported = FALSE; + } + } } else {