From 4d906c50071a83763895a51167acab1285874eac Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 11 Nov 2021 15:54:47 +0000 Subject: [PATCH] Check that multiple D3D12 devices with different resources doesn't break --- util/test/demos/d3d12/d3d12_parameter_zoo.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/util/test/demos/d3d12/d3d12_parameter_zoo.cpp b/util/test/demos/d3d12/d3d12_parameter_zoo.cpp index 9708dc74e..6f2e52611 100644 --- a/util/test/demos/d3d12/d3d12_parameter_zoo.cpp +++ b/util/test/demos/d3d12/d3d12_parameter_zoo.cpp @@ -47,6 +47,22 @@ float4 main() : SV_Target0 if(!Init()) return 3; + LUID luid = dev->GetAdapterLuid(); + IDXGIAdapterPtr pDXGIAdapter; + ID3D12DevicePtr devB; + { + HRESULT hr = EnumAdapterByLuid(dev->GetAdapterLuid(), pDXGIAdapter); + if(FAILED(hr)) + return 2; + + devB = CreateDevice({pDXGIAdapter}, D3D_FEATURE_LEVEL_11_0); + if(!devB) + return 2; + } + + // create a buffer on another unrelated device + ID3D12ResourcePtr bufferB = D3D12BufferCreator(devB, this).Data(DefaultTri); + ID3DBlobPtr vsblob = Compile(D3DDefaultVertex, "main", "vs_4_0"); ID3DBlobPtr psblob = Compile(pixel, "main", "ps_4_0");