From 130be55973d2a52e4ea01e62ff7122237acb4434 Mon Sep 17 00:00:00 2001 From: MrMahgu Date: Fri, 19 Apr 2024 16:01:06 -0400 Subject: [PATCH] libobs-winrt: Remove interop code now provided by Windows SDK Remove the custom declarations of the external functions CreateDirect3D11DeviceFromDXGIDevice and CreateDirect3D11SurfaceFromDXGISurface, as well as the IDirect3DDxgiInterfaceAccess interface. --- libobs-winrt/CMakeLists.txt | 1 + libobs-winrt/cmake/legacy.cmake | 1 + libobs-winrt/winrt-capture.cpp | 17 ++--------------- 3 files changed, 4 insertions(+), 15 deletions(-) diff --git a/libobs-winrt/CMakeLists.txt b/libobs-winrt/CMakeLists.txt index 2940840c3..fb6b957ca 100644 --- a/libobs-winrt/CMakeLists.txt +++ b/libobs-winrt/CMakeLists.txt @@ -22,6 +22,7 @@ target_precompile_headers( + ) diff --git a/libobs-winrt/cmake/legacy.cmake b/libobs-winrt/cmake/legacy.cmake index 86f439ec7..63aa345f6 100644 --- a/libobs-winrt/cmake/legacy.cmake +++ b/libobs-winrt/cmake/legacy.cmake @@ -14,6 +14,7 @@ target_precompile_headers( + ) diff --git a/libobs-winrt/winrt-capture.cpp b/libobs-winrt/winrt-capture.cpp index 3be446125..a7bef794b 100644 --- a/libobs-winrt/winrt-capture.cpp +++ b/libobs-winrt/winrt-capture.cpp @@ -1,19 +1,5 @@ #include "winrt-capture.h" -extern "C" { -HRESULT __stdcall CreateDirect3D11DeviceFromDXGIDevice( - ::IDXGIDevice *dxgiDevice, ::IInspectable **graphicsDevice); - -HRESULT __stdcall CreateDirect3D11SurfaceFromDXGISurface( - ::IDXGISurface *dgxiSurface, ::IInspectable **graphicsSurface); -} - -struct __declspec(uuid("A9B3D012-3DF2-4EE3-B8D1-8695F457D3C1")) - IDirect3DDxgiInterfaceAccess : ::IUnknown { - virtual HRESULT __stdcall GetInterface(GUID const &id, - void **object) = 0; -}; - extern "C" EXPORT BOOL winrt_capture_supported() try { /* no contract for IGraphicsCaptureItemInterop, verify 10.0.18362.0 */ @@ -50,7 +36,8 @@ template static winrt::com_ptr GetDXGIInterfaceFromObject( winrt::Windows::Foundation::IInspectable const &object) { - auto access = object.as(); + auto access = object.as(); winrt::com_ptr result; winrt::check_hresult( access->GetInterface(winrt::guid_of(), result.put_void()));