From 4893788d9b0919abab97ab261de78f63b9c7e6ca Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Wed, 5 Jul 2023 20:07:07 -0600 Subject: [PATCH] [d3d11] Fixup incorrect MiscFlags in D3D11Device::OpenSharedResourceGeneric() So texture sharing works with vkd3d-proton before correcting flags there. --- src/d3d11/d3d11_device.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/d3d11/d3d11_device.cpp b/src/d3d11/d3d11_device.cpp index bc107eff..9398e484 100644 --- a/src/d3d11/d3d11_device.cpp +++ b/src/d3d11/d3d11_device.cpp @@ -2309,6 +2309,10 @@ namespace dxvk { d3d11Desc.CPUAccessFlags = metadata.CPUAccessFlags; d3d11Desc.MiscFlags = metadata.MiscFlags; d3d11Desc.TextureLayout = metadata.TextureLayout; + if ((d3d11Desc.MiscFlags & D3D11_RESOURCE_MISC_SHARED_NTHANDLE) && !(d3d11Desc.MiscFlags & (D3D11_RESOURCE_MISC_SHARED | D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX))) { + Logger::warn("Fixing up wrong MiscFlags"); + d3d11Desc.MiscFlags |= D3D11_RESOURCE_MISC_SHARED; + } // Only 2D textures may be shared try {