[FFmpeg-devel] [PATCH] avutil/hwcontext_d3d11va: add logging to d3d11/dxgi interfaces

Timo Rothenpieler timo at rothenpieler.org
Thu Mar 14 00:26:49 EET 2024


---
 libavutil/hwcontext_d3d11va.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/libavutil/hwcontext_d3d11va.c b/libavutil/hwcontext_d3d11va.c
index cf793a2f48..522c15a58b 100644
--- a/libavutil/hwcontext_d3d11va.c
+++ b/libavutil/hwcontext_d3d11va.c
@@ -616,8 +616,12 @@ static int d3d11va_device_create(AVHWDeviceContext *ctx, const char *device,
 
     // (On UWP we can't check this.)
 #if !HAVE_UWP
-    if (!LoadLibrary("d3d11_1sdklayers.dll"))
+    if (!LoadLibrary("d3d11_1sdklayers.dll") && is_debug) {
+        av_log(ctx, AV_LOG_WARNING, "Failed loading d3d11 debug layers.\n");
         is_debug = 0;
+    } else if (is_debug) {
+        av_log(ctx, AV_LOG_INFO, "Loaded d3d11 debug layers.\n");
+    }
 #endif
 
     if (is_debug)
@@ -689,9 +693,17 @@ static int d3d11va_device_create(AVHWDeviceContext *ctx, const char *device,
             if (pf_DXGIGetDebugInterface) {
                 IDXGIDebug *dxgi_debug = NULL;
                 hr = pf_DXGIGetDebugInterface(&IID_IDXGIDebug, (void**)&dxgi_debug);
-                if (SUCCEEDED(hr) && dxgi_debug)
+                if (SUCCEEDED(hr) && dxgi_debug) {
                     IDXGIDebug_ReportLiveObjects(dxgi_debug, DXGI_DEBUG_ALL, DXGI_DEBUG_RLO_ALL);
+                    av_log(ctx, AV_LOG_INFO, "Enabled dxgi debugging.\n");
+                } else {
+                    av_log(ctx, AV_LOG_WARNING, "Failed enabling dxgi debugging.\n");
+                }
+            } else {
+                av_log(ctx, AV_LOG_WARNING, "Failed getting dxgi debug interface.\n");
             }
+        } else {
+            av_log(ctx, AV_LOG_WARNING, "Failed loading dxgi debug library.\n");
         }
     }
 #endif
-- 
2.34.1



More information about the ffmpeg-devel mailing list