path: root/vcl/source/opengl
AgeCommit message (Collapse)AuthorFilesLines
2017-11-23loplugin:simplifybool for negation of comparison operatorNoel Grandin1-1/+1
Change-Id: Ie56daf560185274754afbc7a09c432b5c2793791 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2017-11-10loplugin:unusedmethodsNoel Grandin1-10/+0
Change-Id: I543b0943f0bc918d59debc8ee051f88c29d18454 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
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: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
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. Change-Id: Icc5ec6c51338e18a0a1bc890f56670e8fe9c73ea Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Michael Meeks <>
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: Reviewed-by: Noel Grandin <> Reviewed-by: Mike Kaganski <> Tested-by: Mike Kaganski <>
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: Tested-by: Jenkins <> Reviewed-by: Caolán McNamara <> Tested-by: Caolán McNamara <>
2017-07-20loplugin:unusedfields in vclNoel Grandin1-4/+0
Change-Id: I207866df495ec81bb9288e6d0f664b96d90251d6 Reviewed-on: Reviewed-by: Noel Grandin <> Tested-by: Noel Grandin <>
2017-06-28loplugin:oncevar in vclNoel Grandin1-2/+1
Change-Id: I37a6dacda12e1c2910737d74aa344c7e2e195aeb Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2017-06-17loplugin:unusedfields in vcl part3Noel Grandin1-6/+0
Change-Id: I5a6319ba1667af6e9b7b92c22f858188c28c4c61 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2017-06-17loplugin:unusedfields in vcl part1Noel Grandin1-1/+0
Change-Id: I67d176003f39992cd0ff9271a7d6ce26d2cb6619 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2017-06-12clang-tidy readability-delete-null-pointerNoel Grandin1-2/+1
which in turn triggered some loplugin:useuniqueptr Change-Id: I0c38561fc9b68dac44e8cf58c8aa1f582196cc64 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
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: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
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: Reviewed-by: Miklos Vajna <> Tested-by: Jenkins <>
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: Tested-by: Jenkins <> Reviewed-by: Chris Sherlock <>
2017-03-06drop various _MSC_VER < 1900 conditionalsCaolán McNamara1-12/+1
Change-Id: I68d93b260db1f542bb3b44858b61b2d30ae93530 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Caolán McNamara <> Tested-by: Caolán McNamara <>
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: Reviewed-by: Caolán McNamara <> Tested-by: Caolán McNamara <>
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: Tested-by: Jenkins <> Reviewed-by: Caolán McNamara <> Tested-by: Caolán McNamara <>
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: Reviewed-by: David Tardon <> Tested-by: David Tardon <>
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: Reviewed-by: Samuel Mehrbrodt <> Tested-by: Samuel Mehrbrodt <>
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 <> 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 <> 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: Tested-by: Jenkins <> Reviewed-by: Tomaž Vajngerl <>
2016-07-25opengl: log device/driver info, remove unneeded info messagesTomaž Vajngerl1-3/+20
Change-Id: Ica3698d0dbff1ee7a1e822d2765eb4019ccef224 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Tomaž Vajngerl <>
2016-07-25opengl: add VCL_GL_WARN to write warnings into api trace fileTomaž Vajngerl1-4/+15
Change-Id: I416de926a769dccdf1c53072c1f7dda817c5402a Reviewed-on: Reviewed-by: Tomaž Vajngerl <> Tested-by: Tomaž Vajngerl <>
2016-07-08if mpCurrentProgram and pProgram are NULL this crashesMarkus Mohrhard1-1/+1
See Change-Id: I2d1c9d9faff05d0d57a2c217a9ee594b1c22b61d Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Markus Mohrhard <>
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
2016-05-29coverity#1362019 Uninitialized scalar variableCaolán McNamara1-0/+1
Change-Id: I18d913fc6e0131f0c31c9d0cfe0f39e1161035eb
2016-05-25Use VCL_GL_INFO hereTor Lillqvist1-2/+2
Failing to open a cached shader binary is a no reason for a SAL_WARN. It is normal that they don't exist when first trying, that is the very nature of a 'cache'. Change-Id: Iaa40af11f0679b859f1fa8b246665c61640df379
2016-05-25Avoid redundancy: The same information was logged in readProgramBinary()Tor Lillqvist1-1/+0
Change-Id: Id5619c9c102ba72826265c1b5f46ddb58596b8b1
2016-05-25Don't claim to be reading a file before trying to open itTor Lillqvist1-2/+2
Change-Id: I8a3332c4b1acaa4dc69ff9349d2e9241fb4f340f
2016-05-24opengl: prevent seg. fault - VCL_GL_INFO still needs the contextTomaž Vajngerl1-1/+2
Change-Id: Iaf71104d85e8a0b8f5b101f614a6c4b90ce63f87 Reviewed-on: Reviewed-by: Tor Lillqvist <> Tested-by: Tor Lillqvist <>
2016-05-21split GLWindow into platform dependent parts and move to respective backendsCaolán McNamara1-20/+8
Change-Id: I636d9bdac907000e4089aebdc5548ea89ec58083 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Caolán McNamara <> Tested-by: Caolán McNamara <>
2016-05-21move glX stuff to X-only modulesCaolán McNamara1-85/+0
Change-Id: I8ca818dac72f0368b6af10c838603e63c7c85b1e