summaryrefslogtreecommitdiff
path: root/vcl/source/opengl
AgeCommit message (Collapse)AuthorFilesLines
2018-05-18tdf#104893 vcl opengl: fix assert failure when starting chart editingMiklos Vajna1-2/+13
OpenGLContext::prepareForYield() assumed that in case we have a current context, then it's the last one, but that's not the case for chart windows since commit 78b100ec9cb0db2f7b33ece5ad3287a67a37246f (only init the OpenGL context if we need it, 2016-06-07), which creates an OpenGLContext instance (which is then the last one in the context list) but explicitly doesn't initialize it (so that it would become the current one). Fix the problem by resetting not the last but the last current context. Change-Id: Ie0e96927473290590cd6333e5cdcb7daa009431b Reviewed-on: https://gerrit.libreoffice.org/54495 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-03-15move Bitmap::ScopedWriteAccess inside vclNoel Grandin1-2/+3
would have liked to make the AcquireWriteAccess methods DLLPRIVATE, but they are needed by the workbench and testing code Change-Id: I22497788eb68dfb84b7e542e5ef53322892a5274 Reviewed-on: https://gerrit.libreoffice.org/51310 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins <ci@libreoffice.org>
2018-03-09loplugin:constantparam in vclNoel Grandin1-2/+2
Change-Id: I1618280494ff10d884a3285501303c6a74ef3542 Reviewed-on: https://gerrit.libreoffice.org/50951 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-03-05Make LibreOffice buildable on Haiku.Kacper Kasper1-3/+3
* Obviously VCL wiring is missing, but most components do build. Change-Id: Ie853ada1423a8f4c2b647be59cd47a7730c42978 Reviewed-on: https://gerrit.libreoffice.org/50293 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2018-02-06Unused include pngwrite in OpenGLContext (vcl)Julien Nabet1-1/+0
Change-Id: Ib8445ed268f84d850169cc54113119308045e9df Reviewed-on: https://gerrit.libreoffice.org/49295 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-01-24loplugin:unused-returns in vclNoel Grandin1-4/+3
Change-Id: I507320900a47f604d17ed7d402d531a7cbdf744e Reviewed-on: https://gerrit.libreoffice.org/48331 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-07vcl, added checks for HAVE_FEATURE_OPENGLjan Iversen1-0/+4
missing HAVE_FEATURE_OPENGL caused link errors Change-Id: I1c44f9c9f729f351b6acf17ae60cd855b69394db
2017-11-23loplugin:simplifybool for negation of comparison operatorNoel Grandin1-1/+1
Change-Id: Ie56daf560185274754afbc7a09c432b5c2793791 Reviewed-on: https://gerrit.libreoffice.org/45068 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-10loplugin:unusedmethodsNoel Grandin1-10/+0
Change-Id: I543b0943f0bc918d59debc8ee051f88c29d18454 Reviewed-on: https://gerrit.libreoffice.org/44553 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-27loplugin:includeform: vcl (Windows)Stephan Bergmann1-1/+1
Change-Id: I4a0fc4b483069141d2b943079adf5aa741df968e
2017-10-23loplugin:includeform: vclStephan Bergmann2-10/+10
Change-Id: Id7dea3917740aaf4db8dada5e2bea6e117d714ea
2017-10-23overload std::hash for OUString and OStringNoel Grandin1-1/+1
no need to explicitly specify it anymore Change-Id: I6ad9259cce77201fdd75152533f5151aae83e9ec Reviewed-on: https://gerrit.libreoffice.org/43567 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-19tdf#113225 - reset framebuffer count when resetting OpenGLContextMichael Meeks1-0/+1
Otherwise we can fail to allocate a new one when we need it post reset. http://crashreport.libreoffice.org/stats/crash_details/e4f26191-15d5-441a-868f-9ada21ef4424 Change-Id: Icc5ec6c51338e18a0a1bc890f56670e8fe9c73ea Reviewed-on: https://gerrit.libreoffice.org/43508 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2017-09-29Drop check for Windows versions we don't supportMike Kaganski1-21/+23
Since we dropped support of Vista and below in master toward 6.0, those checks are needless. Removing the code that only worked in older versions, and streamlining the resulting code. Also, use kernel32.dll version for Windows version, instead of deprecated GetVersionEx, and inconvenient VersionHelpers. Since both GetVersion(Ex) and VersionHelpers (based on VerifyVersionInfo) are subject to manifest-based behavior since Windows 8.1, this move will hopefully result in more reliable OS version detection. Change-Id: I3edd8fc1843e64b6a65bd3a126be6a085511f13c Reviewed-on: https://gerrit.libreoffice.org/42905 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-09-11hidpi+gtk3: move setting the opengl slide viewportCaolán McNamara1-2/+9
to when the window size is set, and adjust to gtk3 hidpi scaling factor Change-Id: Id9bd0defd0b6ae640ac57f88133d954202d4bcc3 Reviewed-on: https://gerrit.libreoffice.org/42143 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-07-20loplugin:unusedfields in vclNoel Grandin1-4/+0
Change-Id: I207866df495ec81bb9288e6d0f664b96d90251d6 Reviewed-on: https://gerrit.libreoffice.org/40217 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-06-28loplugin:oncevar in vclNoel Grandin1-2/+1
Change-Id: I37a6dacda12e1c2910737d74aa344c7e2e195aeb Reviewed-on: https://gerrit.libreoffice.org/39328 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-06-17loplugin:unusedfields in vcl part3Noel Grandin1-6/+0
Change-Id: I5a6319ba1667af6e9b7b92c22f858188c28c4c61 Reviewed-on: https://gerrit.libreoffice.org/38835 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-06-17loplugin:unusedfields in vcl part1Noel Grandin1-1/+0
Change-Id: I67d176003f39992cd0ff9271a7d6ce26d2cb6619 Reviewed-on: https://gerrit.libreoffice.org/38828 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-06-12clang-tidy readability-delete-null-pointerNoel Grandin1-2/+1
which in turn triggered some loplugin:useuniqueptr Change-Id: I0c38561fc9b68dac44e8cf58c8aa1f582196cc64 Reviewed-on: https://gerrit.libreoffice.org/38281 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-05-26Resolves: tdf##108069 2nd OpenGLContext::init should dispose earlier resultsCaolán McNamara1-1/+2
Change-Id: If6bb9517a4081576347d71ddf26d020119d34247
2017-04-25clang-tidy readability-simplify-boolean-expr in vclNoel Grandin1-4/+1
Change-Id: I10ad38bcb5b05a754de9a396f4aaa79d97458d6f Reviewed-on: https://gerrit.libreoffice.org/36930 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-03-31tdf#82580 tools: rename Rectangle to tools::RectangleMiklos Vajna1-1/+1
Mostly generated using make check COMPILER_EXTERNAL_TOOL=1 CCACHE_PREFIX=clang-rename-wrapper RENAME_ARGS="-qualified-name=Rectangle -new-name=tools::Rectangle" Except some modules have their own foo::tools namespace, so there have to use ::tools::Rectangle. This commit just moves the class from the global namespace, it does not update pre/postwin.h yet. Change-Id: I42b2de3c6f769fcf28cfe086f98eb31e42a305f2 Reviewed-on: https://gerrit.libreoffice.org/35923 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2017-03-28Resolves: tdf#106155 avoid opengl for toplevel X window iconsCaolán McNamara1-0/+21
because an opengl context requires a toplevel window so it recurses to death. Only the gen/kde4 vclplugs are affected here Change-Id: If5396d183d90d1872931b170dc90c3a70d8ea6b6
2017-03-18vcl: change opengl gpWatchdogExt from oslCondition to osl::ConditionChris Sherlock1-7/+7
Condition is deprecated already, but there is no need for the us to use the low-level C-API, when in fact there is a C++ fascade that calls on this via the C++ abstraction, osl::Condition. This will make it much easier to switch to using std::condition_variable in the future. Change-Id: I0d7fda22ad00a79767b68cd06f00decfc0555371 Reviewed-on: https://gerrit.libreoffice.org/35390 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2017-03-06drop various _MSC_VER < 1900 conditionalsCaolán McNamara1-12/+1
Change-Id: I68d93b260db1f542bb3b44858b61b2d30ae93530 Reviewed-on: https://gerrit.libreoffice.org/34856 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-03-01return null DefaultWindow if it cannot be createdCaolán McNamara1-2/+3
Change-Id: Id0ec9c123ca151db793380ffd7b719dbb239efa9
2017-01-10New loplugin:conststringvar: vclStephan Bergmann1-1/+1
Change-Id: I573c19e4a2f6ee041998216ea4cf29677986d731
2016-12-13gtk3: implement opengl support for slideshowCaolán McNamara1-0/+5
all of them work, except "Fall" doesn't look right, but it has the exact same problem under gtk2/gen to. Change-Id: I73cb9c0fb8211f727198be78d90d4f80a4f8c7c8 Reviewed-on: https://gerrit.libreoffice.org/31214 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-12-13change from glew to epoxyCaolán McNamara2-32/+10
because that works under wayland out of the box and gtk3 uses it already Change-Id: Iefaac31e325534a81a5389f752804af917c1baef Reviewed-on: https://gerrit.libreoffice.org/31213 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-11-29tdf#104139 state can't be set as context may not be availableTomaž Vajngerl1-0/+3
When RenderState is constructed (and all capability states get constructed) the OpenGL context may not be available yet, so we just set the state to whatever value (false) and make sure we sync with the actual state right away when we have OpenGL context set up and ready. Change-Id: I65a669ab76c1834775007d62efe3d6ac061d6f21 Reviewed-on: https://gerrit.libreoffice.org/31278 Reviewed-by: David Tardon <dtardon@redhat.com> Tested-by: David Tardon <dtardon@redhat.com>
2016-11-28don't leak impl. detailsDavid Tardon1-1/+1
Also, returning std::unique_ptr<>& doesn't make any sense. Change-Id: Iefb2a0bfe614264bc7b5d15652fcc15243df3d06
2016-10-17Force disable OpenGL in Safe ModeSamuel Mehrbrodt1-0/+4
Change-Id: I3f19231d9a9168499d9f9ed970d4da1a69cca36a Reviewed-on: https://gerrit.libreoffice.org/29959 Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2016-09-26That syntax is fine with MSVC 2015 nowStephan Bergmann1-2/+2
Change-Id: I83fee880e1248dd874f7f459aa670c74deda6a7d
2016-09-24fix the OpenGL selection logicMarkus Mohrhard1-2/+3
Now OpenGL is again not used on the build bots. Change-Id: I7369394c44ab1e16135e2b22f7f8effca0f25d3c
2016-09-23tdf#101822 Always de-zombie the glxtest processJan-Marek Glogowski1-5/+2
Make sure we wait for the glxtest process. Change-Id: I143290b80ba83e35f8d0f95d133c25178c5fe563
2016-09-23vcl: C++11 is awesome, they said! it's a whole new language, they said!Michael Stahl1-2/+15
Change-Id: I96f00bd00ffcfea8ca026aacbaacf9539e327eff
2016-09-23vcl: Apple clang segfaults on "(", the "{" seems to work betterMichael Stahl1-2/+2
Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn) Change-Id: Ib9c8639d4c821a39afb6b071ccd6c7072e6f9e7c
2016-09-20tdf#102295: remove mutex - use atomic for watchdog timingsTomaž Vajngerl1-25/+11
Change-Id: I6587bad8b7906faeae39735343278b10be78c05b
2016-09-20tdf#102295: AMD actually has two vendor id's.Jan Holesovsky1-1/+1
Change-Id: I9cc1341c8f8d154927a778dfa15b8d3013a9a487
2016-09-20tdf#102295: The relaxed values were actually too pessimistic.Jan Holesovsky1-2/+2
Change-Id: Ia117ae4a60a10994f3c59316e8c9a161aa8e5baf
2016-09-19tdf#102295: relax timeout timings for the GL watchdogTomaž Vajngerl1-13/+42
Some OS/GPU combinations need more relaxed watchdog timeout timings as the shader compilation takes too long to complete. Change-Id: Ifd9ff7ecfa4b004d5411d6d364dd01a389a3fcec
2016-09-15Remove OutputDevice::PaintScopeNoel Grandin1-40/+0
PaintScope was introduced in commit bfceb557efcd607ef018ae35fc73f8d61a9b9a4e Author: Michael Meeks <michael.meeks@collabora.com> Date: Wed Sep 16 09:17:37 2015 +0100 GL paint-flushing guard re-work. Unfortunately, since we can have 2x SalGraphics' on a OutputDevice, and one of these can be a printer - things got very confused around which context to glFlush. This de-tangles the various reference- counts. and then mostly removed in commit 33fac4828038bc38ab4a0c4b891d762a5ae73e5e Author: Noel Grandin <noel@peralex.com> Date: Thu Dec 24 09:21:23 2015 +0200 loplugin:unnecessaryvirtual and unwind some apparently now unused VCL OpenGL and GlyphCachePeer stuff. Finish the job, it's not doing anything at all anymore Change-Id: I1365c2d0652ee92630d0649b2df6e5a7b7e37e73
2016-08-10Surround PaintScope code with ifdefs matching declaration in include fileTor Lillqvist1-0/+4
Change-Id: Iede85fc847b330b5586b95facafb690df7209d1b
2016-07-28opengl: improve logging when no context is availableTomaž Vajngerl1-1/+1
Change-Id: Ie747db5f46b0a83bda44d211b0ac69bc19092fbc Reviewed-on: https://gerrit.libreoffice.org/27615 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2016-07-25opengl: log device/driver info, remove unneeded info messagesTomaž Vajngerl1-3/+20
Change-Id: Ica3698d0dbff1ee7a1e822d2765eb4019ccef224 Reviewed-on: https://gerrit.libreoffice.org/27498 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2016-07-25opengl: add VCL_GL_WARN to write warnings into api trace fileTomaž Vajngerl1-4/+15
Change-Id: I416de926a769dccdf1c53072c1f7dda817c5402a Reviewed-on: https://gerrit.libreoffice.org/27496 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2016-07-08if mpCurrentProgram and pProgram are NULL this crashesMarkus Mohrhard1-1/+1
See http://crashreport.libreoffice.org/stats/signature/OpenGLProgram::Reuse%28%29 Change-Id: I2d1c9d9faff05d0d57a2c217a9ee594b1c22b61d Reviewed-on: https://gerrit.libreoffice.org/27043 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-06-03tdf#100193: Check earlier and harder whether OpenGL is good enough on WindowsTor Lillqvist1-1/+16
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-02fix debugging buildCaolán McNamara1-1/+1
Change-Id: Idb1b1d50260a969446ac1385f93163bea6cf6b04