[Libreoffice-commits] core.git: vcl/opengl

Markus Mohrhard markus.mohrhard at googlemail.com
Wed Nov 25 00:50:41 PST 2015


 vcl/opengl/win/WinDeviceInfo.cxx |   36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

New commits:
commit c0772f7037794e1cea578a8833c79730fbe448c2
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Mon Aug 24 19:47:35 2015 +0200

    write a log file about OpenGL driver
    
    Change-Id: Id960540977eb7d0d5f3bdc1c5737137a0d3694b8
    Reviewed-on: https://gerrit.libreoffice.org/20117
    Reviewed-by: Katarina Behrens <Katarina.Behrens at cib.de>
    Tested-by: Katarina Behrens <Katarina.Behrens at cib.de>

diff --git a/vcl/opengl/win/WinDeviceInfo.cxx b/vcl/opengl/win/WinDeviceInfo.cxx
index 5fa5aac..7d1c837 100644
--- a/vcl/opengl/win/WinDeviceInfo.cxx
+++ b/vcl/opengl/win/WinDeviceInfo.cxx
@@ -542,6 +542,30 @@ bool WinOpenGLDeviceInfo::FindBlocklistedDeviceInList()
     return match;
 }
 
+namespace {
+
+OUString getCacheFolder()
+{
+    OUString url("${$BRAND_BASE_DIR/" LIBO_ETC_FOLDER "/" SAL_CONFIGFILE("bootstrap") ":UserInstallation}/cache/");
+    rtl::Bootstrap::expandMacros(url);
+
+    osl::Directory::create(url);
+
+    return url;
+}
+
+OUString aCacheFolder = getCacheFolder();
+
+void writeToLog(SvStream& rStrm, const char* pKey, const OUString rVal)
+{
+    rStrm.WriteCharPtr(pKey);
+    rStrm.WriteCharPtr(": ");
+    rStrm.WriteOString(OUStringToOString(rVal, RTL_TEXTENCODING_UTF8));
+    rStrm.WriteChar('\n');
+}
+
+}
+
 bool WinOpenGLDeviceInfo::isDeviceBlocked()
 {
     SAL_INFO("vcl.opengl", maDriverVersion);
@@ -553,6 +577,18 @@ bool WinOpenGLDeviceInfo::isDeviceBlocked()
     SAL_INFO("vcl.opengl", maDeviceKey);
     SAL_INFO("vcl.opengl", maDeviceString);
 
+    OUString aCacheFile(aCacheFolder + "/opengl_device.log");
+    SvFileStream aOpenGLLogFile(aCacheFile, StreamMode::WRITE);
+
+    writeToLog(aOpenGLLogFile, "DriverVersion", maDriverVersion);
+    writeToLog(aOpenGLLogFile, "DriverDate", maDriverDate);
+    writeToLog(aOpenGLLogFile, "DeviceID", maDeviceID);
+    writeToLog(aOpenGLLogFile, "AdapterVendorID", maAdapterVendorID);
+    writeToLog(aOpenGLLogFile, "AdapterDeviceID", maAdapterDeviceID);
+    writeToLog(aOpenGLLogFile, "AdapterSubsysID", maAdapterSubsysID);
+    writeToLog(aOpenGLLogFile, "DeviceKey", maDeviceKey);
+    writeToLog(aOpenGLLogFile, "DeviceString", maDeviceString);
+
     // Check if the device is blocked from the downloaded blocklist. If not, check
     // the static list after that. This order is used so that we can later escape
     // out of static blocks (i.e. if we were wrong or something was patched, we


More information about the Libreoffice-commits mailing list