summaryrefslogtreecommitdiff
path: root/vcl/opengl/win
AgeCommit message (Collapse)Author
2016-08-12fix windows buildNoel Grandin
after commit 500a3be0 "loplugin:countusersofdefaultparams in vcl..xmlsecurity" Change-Id: I09b07f241dc45f2d23370addfb1bc10aa2caedc4
2016-08-01Look also for "RDPDD Chained DD"Tor Lillqvist
Apparently in some remote desktop situations the device string uses "RDPDD" and not "RDPUDD". No idea what the semantic difference is. Change-Id: I85532b90d759d02fffb73d0f3d22166aefd4edab
2016-07-28opengl: don't initialize MSAA when we create VCL contextTomaž Vajngerl
Change-Id: Ic8060ebdabb86d8b724ee419fdfcc1f58e8a0316 Reviewed-on: https://gerrit.libreoffice.org/27614 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2016-07-28opengl: improve context creation, temp window creation on windowsTomaž Vajngerl
If anything fails at context creation then don't forget to deallocate resources. Temp window creation is written C like, as it was copy/pasted from an C example. Change-Id: Ia9d704e42206b1d4c37db2954bba4f165e3c8389 Reviewed-on: https://gerrit.libreoffice.org/27613 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2016-07-25opengl: check supported texture size on first GL initTomaž Vajngerl
Change-Id: I27ef828a8d47d50adbbcc3fb0fd152f4f6ffc446 Reviewed-on: https://gerrit.libreoffice.org/27497 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2016-06-20add some OpenGL info to the crash reporterMarkus Mohrhard
Change-Id: Id377bc3bd814fad822d577603b1f147b71ad9ae2 Reviewed-on: https://gerrit.libreoffice.org/26445 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-06-03Clean up Windows error reporting a bitTor Lillqvist
We have comphelper::WindowsErrorString(), so use it, in SAL_WARNs, right where an error happens. Get rid of the fairly unhelpful ImplWriteLastError() function. Avoid duplicated error reporting. Change-Id: I83374a65980b7c0ffa35fc493b4fb1f2e94f0dbb
2016-06-03tdf#100193: Check earlier and harder whether OpenGL is good enough on WindowsTor Lillqvist
If we notice early enough that OpenGL is broken or not good enough, we can disable it and terminate with EXITHELPER_NORMAL_RESTART. Not beautiful, but works. The earlier added check whether shader compilation and loading of shader program binaries from a cached file works is now just one of the aspects that are checked. Change-Id: I9382576cc607f1916f6002f1fa78a62e23180fe3
2016-06-02Accept also hex vendor id in hex in opengl_blacklist_windows.xmlTor Lillqvist
(And not just names from the hardcoded list.) Surely we want it to be possible to add a blacklist entry for a hitherto unhandled vendor to the file at a user site without having to modify the parsing code and rebuilding LO. Change-Id: I01ca45cb91df06e1634a565b3e469fb85fe4e116
2016-05-31tdf#100159: Remove (harmless) duplicate callTor Lillqvist
Change-Id: I3a836f5d401aaf93154182e6ed195dbc82fc058e
2016-05-31tdf#100159: Use shader preambles as needed, add missing shader combinationsTor Lillqvist
Some shaders are in some cases (or always?) compiled with a preamble, so add that then as applicable when compiling and caching them in advance. Add a few shader combinations that I hadn't noticed. Change-Id: Ib66027e03a36cd4b161fe9f57ceaa338f9fb042d
2016-05-31It is EXITHELPER_NORMAL_RESTART that we wantTor Lillqvist
Change-Id: Ica1d68dcdd98aef061a2bed0b5389cef327e1ca5
2016-05-30On Windows, compile OpenGL shaders in advance and disable on failureTor Lillqvist
If the shader compilation or loading of an already compiled shader fails, disable OpenGL in the registry and exit with the EXITHELPER_CRASH_WITH_RESTART status. The wrapper process will thus run soffice.bin once more, and this time OpenGL will not be used. Change-Id: I3cc4a615f00a8a1adb584493861e4956c83cec32
2016-05-25this temporary window will never see key inputMarkus Mohrhard
Change-Id: I89942224b708565d098702a85ea841c2736dff40 Reviewed-on: https://gerrit.libreoffice.org/25437 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-05-25Convert XmlReader::Result to scoped enumNoel Grandin
Change-Id: I6a0d1dcf5ae51d2ac08aacdfec50865f93e51c21 Reviewed-on: https://gerrit.libreoffice.org/25365 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-25Mark dubious fallthrough cases as "SAL_FALLTHROUGH; //TODO ???" (in Win-only)Stephan Bergmann
Change-Id: If5ee201aab8c4451971a11ea7d7ff943c9a1a726
2016-05-25-Werror,-Winconsistent-missing-overrideStephan Bergmann
Change-Id: I15a8399d120450b01bd35c7ad974d3af749811ad
2016-05-25Missing includeStephan Bergmann
Change-Id: I11a004458ac90db92f4bf9e54827b6727c5cbc67
2016-05-24Convert XmlReader::Text to scoped enumNoel Grandin
Change-Id: I4741b13fcf887a95b85886cb41f8236e128e81a2 Reviewed-on: https://gerrit.libreoffice.org/25364 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-21split GLWindow into platform dependent parts and move to respective backendsCaolán McNamara
Change-Id: I636d9bdac907000e4089aebdc5548ea89ec58083 Reviewed-on: https://gerrit.libreoffice.org/25252 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-05-21Split OpenGLContext up into SalInstance specific classesCaolán McNamara
which, at least theoretically, allows there to be vclplug specific ones. i.e. a gtk3 specific one which doesn't assume gtk3 is running under X Change-Id: I6c007a87abbd3049b6fffc70d349e3b7ac445eec
2016-03-04-Werror,-WshadowStephan Bergmann
Change-Id: I1e26a805ac96f1c57d2f7c795b598c4eaa8d2a3e
2016-02-26log some information about used OpenGL deviceMarkus Mohrhard
Change-Id: I0c050396e6b1efa7dd2f003a79a9dc506135197a Reviewed-on: https://gerrit.libreoffice.org/22555 Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-02-24-Werror,-Wunused-functionStephan Bergmann
since ce81a477d228277f44e96356e85d92467eb7a0b9 "tdf#97458 - remove unused intel opengl driver version special-casing." Change-Id: I4d1e804bef054db5a999b23c35c308e1a0c5ece3
2016-02-16use consistent #define checks for the Windows platformNoel Grandin
stage 1 of replacing usage of various checks for the windows platform with the compiler-defined '_WIN32' macro Change-Id: Iece73abdee530937e0737190b1aa97a46cd3075f Reviewed-on: https://gerrit.libreoffice.org/22390 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-02-15Unit test for opengl blocklist parsing and evaluatingTomaž Vajngerl
Parsing unit test checks that the xml values are parsed correctly and that the DriverInfo structure is populated with the expected values. Evaluate unit test checks that blacklisting / whitelisting logic blocks OS/vendor/driver/device as expected. Change-Id: Ib1b0926606f0835207c324193bbe19ba83f86bdc Reviewed-on: https://gerrit.libreoffice.org/22371 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2016-02-08tdf#97458 - remove unused intel opengl driver version special-casing.Michael Meeks
Change-Id: I938bcab02edb37a5e7d72f1551867e0f5a4dd89b Reviewed-on: https://gerrit.libreoffice.org/22215 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Bryan Quigley <gquigs@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2016-01-10Fix typosAndrea Gelmini
Change-Id: I9a5940027423ff0791fa7da0b79b617412ce6b86 Reviewed-on: https://gerrit.libreoffice.org/21209 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-07The OpenGL Windows driver blacklist file should be in share, not user configTor Lillqvist
We don't want a potentially outdated copy to be used. Besides, when it was in the user profile, it did not exist the first time after an installation, or a user profile removal, when we attempted to read it. Change-Id: I21290090a3bbb44864730dff84c81e80add89fb3
2016-01-05Avoid indexing out of array boundsTor Lillqvist
Change-Id: I65022f30e21cb94fc8c653ef8e2797da3746875c
2015-12-11vcl: use a custom tag for VCL OpenGLContext's to avoid re-use.Michael Meeks
Other code is out of legacy mode now, so can't legacy as a proxy. Change-Id: Ie3807a3af680b707f2f08d058db955bc9cae6c2b Reviewed-on: https://gerrit.libreoffice.org/20647 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2015-12-11tdf#93529 - move to a Mac-like double-buffered OpenGL model.Michael Meeks
This moves us to always rendering to an off-screen texture, and then (at idle) blitting this to the screen & swapping buffers. Ideally we should never see any rendering, or flicker again with this approach. Several fixes are included: + avoid multiple OpenGL contexts being created for the same window, created excessive flicker problems. + de-virtualize UseContext - which context we use is less critical. + kill 'mbOffscreen' distinction - all VCL rendering is offscreen. + implement 'doFlush' and high priority idle flushing. + bind stencil buffer for clipping vs. textures - fixing complex clopping when rendering to virtual-devices, and off-screen. + document environment. variables. + use white as default background glClear color, but red or random color for DBGUTIL. Change-Id: I6be08595b6c8deb7e6db0dbd81308b2c97d2b4ff
2015-11-28-Werror,-Wunused-variableStephan Bergmann
Change-Id: I578ffc1f49e0e101781cb2c8c4160d5ac5be0d8b
2015-11-28Revert "Revert "write a log file about OpenGL driver""Michael Stahl
This reverts commit 2ebca292f96494a13a0d0baa8b19dd9010616abe. The build breakage in gengal was caused by the global variable aCacheFolder, which is initialized by a call to rtl::Bootstrap::expandMacros(), which initializes the global FundamentalIni object before tools::extendApplicationEnvironment() gets a chance to set URE_BOOTSTRAP, so FundamentalIni is empty. Change-Id: I10d8652dab15ee6924ff4ceff17000963975e30f Reviewed-on: https://gerrit.libreoffice.org/20232 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2015-11-28Missing includesStephan Bergmann
Change-Id: Ieb3066bbd9a34e28e61eebc475f48374bd50a33f
2015-11-28-Werror,-Wunused-functionStephan Bergmann
Change-Id: If5243c33723e2ad6d468f9bc44c5187cd19dc383
2015-11-28-Werror,-Wdeprecated-declarationsStephan Bergmann
Change-Id: I3767aee8c4272f971817757498f05494706ddd0b
2015-11-28-Werror,-WformatStephan Bergmann
"format specifies type 'int' but the argument has type 'DWORD' (aka 'unsigned long')" Change-Id: I96d239d2f674ffb30bcd596fc78d42a4af7316a1
2015-11-28-Werror,-WreorderStephan Bergmann
Change-Id: Ie24d1776f798923e2583659b2d9898da7c3f1dfd
2015-11-27Revert "write a log file about OpenGL driver"Thorsten Behrens
Caused enduring build breakage on Windows for gallery contents. This reverts commit c0772f7037794e1cea578a8833c79730fbe448c2. Change-Id: I4cd0d51b5dc88426cfef458e1b889c9d8abf9932
2015-11-25write a log file about OpenGL driverMarkus Mohrhard
Change-Id: Id960540977eb7d0d5f3bdc1c5737137a0d3694b8 Reviewed-on: https://gerrit.libreoffice.org/20117 Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de> Tested-by: Katarina Behrens <Katarina.Behrens@cib.de>
2015-11-24cppcheck: noExplicitConstructorCaolán McNamara
Change-Id: I1934441858baeeb41a46f694dbcef2d846b308b7
2015-11-20opengl: fix blocklist parsingTomaž Vajngerl
Devices weren't copied correctly - delete copy constructor as it is not needed. Split parsing to more methods so it is more readable. Parse vendor name (ati, intel, ...) and convert to vendorId Change-Id: I91ed7d8c5713dec160e217defb27f25cd3e8178c
2015-11-19opengl: use correct hex number for Win 10 (Major 10 -> hex A)Tomaž Vajngerl
Change-Id: Ib54fe6394173e905ef8c395ced86692290959369
2015-11-19opengl: support Win 10 in black/white listingTomaž Vajngerl
Change-Id: I9a3055fc60f738ab941816e40f4dd147deedafbe
2015-11-10Missing includesAshod Nakashian
Restored some missing includes and refactored sot/formats.hxx. Change-Id: I11b7102b06889f426f5e0f3efa3a835c6e774d88 Reviewed-on: https://gerrit.libreoffice.org/19891 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Jenkins <ci@libreoffice.org>
2015-10-12opengl: remove code duplication when rendering a texture comboTomaž Vajngerl
Change-Id: Ic184e0e96103bb63322c8aaf8758c4c8f423e0b9
2015-09-30cppcheck: uninitMemberVarCaolán McNamara
Change-Id: I8409a6f00803e357a20b53fd59d77f155e057753
2015-09-30Fix typosAndrea Gelmini
Change-Id: Ia7394ab3c0aa28002a7022e73c2b7d9eb73dacb8 Reviewed-on: https://gerrit.libreoffice.org/18991 Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2015-09-16tdf#94281 - don't mix legacy and VCL OpenGLContext's.Michael Meeks
Each has rather different assumptions about how life should be. Change-Id: I85fffc77d14f3a5335a077fcb541a2b31c372043