From 8a0089eb81189ee68cf49cb33024940f1d6f081f Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Thu, 20 Sep 2018 21:23:16 -0700 Subject: [PATCH] Print driver information in VDPAU and VAAPI renderers --- app/streaming/video/ffmpeg-renderers/vaapi.cpp | 5 +++++ app/streaming/video/ffmpeg-renderers/vdpau.cpp | 8 ++++++++ app/streaming/video/ffmpeg-renderers/vdpau.h | 1 + 3 files changed, 14 insertions(+) diff --git a/app/streaming/video/ffmpeg-renderers/vaapi.cpp b/app/streaming/video/ffmpeg-renderers/vaapi.cpp index f4951ba2..8143af72 100644 --- a/app/streaming/video/ffmpeg-renderers/vaapi.cpp +++ b/app/streaming/video/ffmpeg-renderers/vaapi.cpp @@ -109,6 +109,11 @@ VAAPIRenderer::initialize(SDL_Window* window, int, int width, int height, int, b "Initialized VAAPI %d.%d", major, minor); + const char* vendorString = vaQueryVendorString(vaDeviceContext->display); + SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, + "Driver: %s", + vendorString ? vendorString : ""); + // This will populate the driver_quirks err = av_hwdevice_ctx_init(m_HwContext); if (err < 0) { diff --git a/app/streaming/video/ffmpeg-renderers/vdpau.cpp b/app/streaming/video/ffmpeg-renderers/vdpau.cpp index 78ad351c..2bf65a5a 100644 --- a/app/streaming/video/ffmpeg-renderers/vdpau.cpp +++ b/app/streaming/video/ffmpeg-renderers/vdpau.cpp @@ -91,6 +91,7 @@ bool VDPAURenderer::initialize(SDL_Window* window, int, int width, int height, i GET_PROC_ADDRESS(VDP_FUNC_ID_OUTPUT_SURFACE_DESTROY, &m_VdpOutputSurfaceDestroy); GET_PROC_ADDRESS(VDP_FUNC_ID_OUTPUT_SURFACE_QUERY_CAPABILITIES, &m_VdpOutputSurfaceQueryCapabilities); GET_PROC_ADDRESS(VDP_FUNC_ID_VIDEO_SURFACE_GET_PARAMETERS, &m_VdpVideoSurfaceGetParameters); + GET_PROC_ADDRESS(VDP_FUNC_ID_GET_INFORMATION_STRING, &m_VdpGetInformationString); SDL_GetWindowSize(window, (int*)&m_DisplayWidth, (int*)&m_DisplayHeight); @@ -130,6 +131,13 @@ bool VDPAURenderer::initialize(SDL_Window* window, int, int width, int height, i return false; } + const char* infoString; + if (m_VdpGetInformationString(&infoString) == VDP_STATUS_OK) { + SDL_LogInfo(SDL_LOG_CATEGORY_APPLICATION, + "Driver: %s", + infoString); + } + // Try our available output formats to find something the GPU supports bool foundFormat = false; for (int i = 0; i < OUTPUT_SURFACE_FORMAT_COUNT; i++) { diff --git a/app/streaming/video/ffmpeg-renderers/vdpau.h b/app/streaming/video/ffmpeg-renderers/vdpau.h index c014f562..81a5ffdd 100644 --- a/app/streaming/video/ffmpeg-renderers/vdpau.h +++ b/app/streaming/video/ffmpeg-renderers/vdpau.h @@ -56,6 +56,7 @@ private: VdpOutputSurfaceDestroy* m_VdpOutputSurfaceDestroy; VdpOutputSurfaceQueryCapabilities* m_VdpOutputSurfaceQueryCapabilities; VdpVideoSurfaceGetParameters* m_VdpVideoSurfaceGetParameters; + VdpGetInformationString* m_VdpGetInformationString; // X11 stuff VdpPresentationQueueTargetCreateX11* m_VdpPresentationQueueTargetCreateX11;