[PATCH v3 0/1] MR11398: dxgi: Fail D3D11_CREATE_DEVICE_VIDEO_SUPPORT until support (bug #50277)
Fix for UnityPlayer.dll calls to D3D11_CREATE_DEVICE_VIDEO_SUPPORT until supported. Forces UnityPlayer.dll software video decoding which skips all the cross-device multi-thread calls involving dxgi_resource_GetSharedHandle and d3d11_device_OpenSharedResource. https://bugs.winehq.org/show_bug.cgi?id=50277#c46 -- v3: d3d11: Fail for D3D11_CREATE_DEVICE_VIDEO_SUPPORT until supported for bug #50277 https://gitlab.winehq.org/wine/wine/-/merge_requests/11398
From: Stian Low <wineryyyyy@gmail.com> --- dlls/d3d11/d3d11_main.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/dlls/d3d11/d3d11_main.c b/dlls/d3d11/d3d11_main.c index 75986318693..f1bba08f8bb 100644 --- a/dlls/d3d11/d3d11_main.c +++ b/dlls/d3d11/d3d11_main.c @@ -164,6 +164,15 @@ static HRESULT d3d11_create_device(IDXGIAdapter *adapter, D3D_DRIVER_TYPE driver adapter, debug_d3d_driver_type(driver_type), swrast, flags, feature_levels, levels, sdk_version, device_out, obtained_feature_level, immediate_context); + /* Fail and force software video decoding for UnityPlayer.dll until support for + * D3D11_CREATE_DEVICE_VIDEO_SUPPORT needing cross-device multi-thread safety: + * https://bugs.winehq.org/show_bug.cgi?id=50277#c43 */ + if (flags & D3D11_CREATE_DEVICE_VIDEO_SUPPORT) + { + FIXME("D3D11_CREATE_DEVICE_VIDEO_SUPPORT not yet supported.\n"); + return E_FAIL; + } + if (device_out) *device_out = NULL; if (obtained_feature_level) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/11398
participants (2)
-
Stian Low -
Stian Low (@stianlow)