summaryrefslogtreecommitdiff
path: root/include/vcl
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@collabora.co.uk>2014-11-20 09:52:03 +0100
committerMarkus Mohrhard <markus.mohrhard@collabora.co.uk>2014-11-20 13:50:51 +0100
commita55f740045d6d30e1ef5522889d2dc359ca5784a (patch)
treecf05fa9cd35419dc488e96f23c67d4eb308f71e0 /include/vcl
parentdcdc8df2e6d740dd75ff6e28727ca757e4882f86 (diff)
include the unx part for getting OpenGL driver & device information
desktop/unx/source/glxtest.cxx is taken directly from the Mozilla project. THe whole concept is taken from Mozilla and is based on starting an early process that creates an OpenGL context. This prevents crashing drivers to crash Libreoffice. We read the information from the pipe as soon as we create the first vcl Window. In that place we then decide if the device/driver combination is blacklisted. Change-Id: I2624d4ce06d503281a4459cf3174f57cf1f7b733
Diffstat (limited to 'include/vcl')
-rw-r--r--include/vcl/opengl/OpenGLHelper.hxx4
-rw-r--r--include/vcl/opengl/glxtest.hxx21
2 files changed, 25 insertions, 0 deletions
diff --git a/include/vcl/opengl/OpenGLHelper.hxx b/include/vcl/opengl/OpenGLHelper.hxx
index ee5a9f8d3a28..243051519dac 100644
--- a/include/vcl/opengl/OpenGLHelper.hxx
+++ b/include/vcl/opengl/OpenGLHelper.hxx
@@ -54,6 +54,10 @@ public:
static void checkGLError(const char* aFile, size_t nLine);
/**
+ * checks if the device/driver pair is on our OpenGL blacklist
+ */
+ static bool isDeviceBlacklisted();
+ /**
* checks if the system supports all features that are necessary for the OpenGL VCL support
*/
static bool supportsVCLOpenGL();
diff --git a/include/vcl/opengl/glxtest.hxx b/include/vcl/opengl/glxtest.hxx
new file mode 100644
index 000000000000..0889cdd403b3
--- /dev/null
+++ b/include/vcl/opengl/glxtest.hxx
@@ -0,0 +1,21 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef INCLUDED_VCL_OPENGL_GLXTEST_HXX
+#define INCLUDED_VCL_OPENGL_GLXTEST_HXX
+
+#include <vcl/dllapi.h>
+
+VCL_DLLPUBLIC int* getGlxPipe();
+
+VCL_DLLPUBLIC pid_t* getGlxPid();
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */