Age | Commit message (Collapse) | Author |
|
Change-Id: I8fbe02547d5045cfdb5021720b10ddd10106209a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155750
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
...which appears to have become even less relevant with
db89f53c31af997b9bf422b0e784afba8d62a42e "remove OpenGL VCL backend code". And
the vcl/unx/glxtest.cxx machinery that it is based on is (a) known to cause
issues like <https://gitlab.freedesktop.org/mesa/mesa/-/issues/3957>
"LibreOffice's OpenGL version detection code hangs when running inside a flatpak
container with a different mesa version", and (b) is one of the two reasons why
an soffice that uses Wayland nevertheless also requires Xwayland during startup
(the other reason being oosplash). So getting rid of the glxtest machinery is
beneficial.
The remaining two potential uses of OpenGL on X11/Wayland are the obscure
css.rendering.SpriteCanvas.OGL service implementation (about which
db89f53c31af997b9bf422b0e784afba8d62a42e states that "it seems has never been
finished or enabled (or so it most probably should be dumped too)") and some
slideshow transitions. About the latter, Caolán stated on IRC: "I think we
grew this set of stuff to check for dodgy opengl primarily for the case where
vcl used opengl for ordinary UI optimizations; but I think that use is gone now
so I wonder does it make sense to just drop all of that entirely; for just slide
transitions we apparently survived fine without the denylist for ages". (And in
any case there is still the WatchdogThread support with OpenGLZone::hardDisable
in VCLExceptionSignal_impl, vcl/source/app/svmain.cxx, should any OpenGL code
run into problems.)
(The removal of gb_LinkTarget_use_glxtest from gb_LinkTarget_use_vclmain, which
indirectly brought in gb_LinkTarget_use_libraries,*,vcl, revealed that an
explicit use of vcl was missing from various Executables etc., which thus had to
be added now.)
Change-Id: Ifa5220fd09910a4459ca546d9655e479a2e38f1e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131943
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I42cd6d52bd6c0759fa0a8b1b91bbf1af7eb70ba8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132117
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I9fc7e763b8cf055c3aabaaa97fe8c85ebc5e71b6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131926
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
It is by now practically unmaintained, even bugreports in bugzilla
have been already closed for it. AFAICT this used to be really
used only on Windows, where it's no longer the default.
There's still some OpenGL code left, because there are still two
other places that use OpenGL. One is OpenGL slideshows, which
reuse some of the base OpenGL code (and I've checked they
still work even after this removal). Second one is OpenGL canvas,
which it seems has never been finished or enabled (or so it
most probably should be dumped too).
Change-Id: I7ea5aef77ec252eb8e712d167db591209be84a13
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107290
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
Change-Id: Ia162ad5b7499c0ddfdbfca59ae76b81335ce2d45
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105728
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Tested-by: Jenkins
|
|
<caolan> that "SalPoint" doesn't really seem to to have a purpose
except to highlight that "Point" is assumed to use LONG under windows
and can be passed unchanged to those windows drawing apis
<caolan> so I guess remove SalPoint entirely, use Point instead,
and convert to "POINT" under windows ?
Change-Id: Ic15a7f4516e2075a228fa65cac4e8494d5b3abaa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105634
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: Ice1055021e8568634e9a66ba89d3bb4ef4e731df
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104522
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I592fd5d823d70c6ca01e90e96a30fb6925f63545
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103282
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: Ic861003f522e76431fffaadc408d0a153b12d0e2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99003
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
For backends that do the object-to-device coordinates transformation
directly, it's necessary to also convert the size of line width.
But simply multiplying it with the matrix can also rotate the line
width "vector", making it e.g. negative. So don't use just the X
coordinate, use vector length for the transformation, which is ok.
In fact it doesn't even make sense to treat width as a vector, because
a width simply is not a vector (and for this reason it's also not
actually used).
Change-Id: I1241c9cb29155df105170d568a879ebc32b11a5f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93203
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Jenkins
|
|
AlphaMask doesn't need any conversion to gray, it's just enough
to make sure the alpha channel bitmap is 8bpp. And the conversion
is needed for the separate-OutputDevice-alpha hacks, where
GetBitmap() gives non-8bpp bitmap for the alpha contents, but there
all the R,G,B channels are the same, so just take red and avoid
pointless conversion.
Change-Id: Ib30fc8fa6d05067d582402ab2c0fcfb49a3742f2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91772
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
This reverts commit 59887868da3499c68d5f259cfa48178354397448.
Change-Id: I0f3f6a7680c78103a559a0f881badc8211b97ace
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90544
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Icc150b853f5d2d06afedcb7878f6a031aff57c2b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88533
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
For more info and explanation including state of process
information and discussion(s) see task please.
Adding corrections for gerrit build
Change-Id: Ie10fb8093a86459dee80db5ab4355b47e46c1f8c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88130
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
|
|
To be used also by Skia code to detect problems with Vulkan drivers.
The watchdog does not handle OpenCL because neither did the original
code, but also because OpenCLZone::hardDisable() called from it
would deadlock on SolarMutex for some reason.
Change-Id: I483d8cb0b11a4e1e65c564f4e4c29ab68843ff71
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88008
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
Change-Id: I23e2029486d1bf5880cdd736ac124687158e9f1a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86941
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: Ia9865271cf0a75ebf4b885ff376f7d0a152b2555
Reviewed-on: https://gerrit.libreoffice.org/84925
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
The OpenGL code made the widget drawing use two variants drawn
on black and on white, for reasons not explained
in 3149cc341b1866d215110f0783227549a99b5920 (probably the Windows
API doesn't handle alpha completely correctly or whatever).
This means that getting the actual alpha requires a custom
algorithm that needs to be implemented manually for Skia use.
Change-Id: I1438f3829a1bdeda9e55700c4a397c60d5663446
Reviewed-on: https://gerrit.libreoffice.org/84948
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
This will allow making it GPU-backed, as SkImage can be GPU-backed,
SkBitmap cannot.
Change-Id: I047eefe83741a036d372d39e5fc6a4fa400e6504
Reviewed-on: https://gerrit.libreoffice.org/84559
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
Change-Id: I2414729b9e5dfbafdc575c022517c12cef682e31
Reviewed-on: https://gerrit.libreoffice.org/84508
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Mark some stuff SAL_DLLPUBLIC_RTTI in
include/vcl/metaact.hxx
in order to make ASAN happy.
Change-Id: I97febe0968bf58b9cbe60ce647f0ada25e6f4bb0
Reviewed-on: https://gerrit.libreoffice.org/84202
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: If22569a1b7d53fc1b5b87f7ec7d262ebb260e798
Reviewed-on: https://gerrit.libreoffice.org/83933
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
At least the KF5/Qt5 VCL plugins passes fine.
Change-Id: I033ddf6ae9cc663729ca459cdc514dc0fa51ddc2
|
|
This actually fixes a number of drawing problems (e.g. highlight
in popup menus), it seems the other code path is buggy.
Change-Id: Iea697f577d08d20e338224d5ff5b3bf7b653f8d1
|
|
There are two cases in WinSalGraphics::DrawTextLayout(), with and
without cached glyphs:
- Cached case DeferredTextDraw() gets data as BGRA with the glyph
drawn in white, it just needs to be modulated to the proper color
and drawn.
- Uncached case DrawTextMask() gets data as BGRA with A invalid,
it must be used as mask for the color to drawn, but without
the inverse alpha VCL idiosyncracy that DrawMask() handles.
Change-Id: I05dcec994df68d5986cd85cffa42a8f9f23c42c4
|
|
The shared X11 implementation depends on XRender, which doesn't make
any sense.
Change-Id: I82f36e0835a993a8b226af211d8635336960d7ec
|
|
Currently based on identifying the SkBitmap's by their getPixels(),
but this may need changed later since it's probably going to be
more performant to use SkSurface.
Also move the cache pruning out of AllocateTexture(), as that may
possibly remove elements that would be used by DrawCachedGlyphs().
Change-Id: Ide2de752f634593b97573667af49b7aa9ec1f47f
|
|
Change-Id: If66e92aef04cd5bbeb22b8c5da65b7b9c77fed23
|
|
Basically just remove 'OpenGL' from names of most of the classes,
turn them into base classes that have OpenGL subclasses that
actually implement the functionality.
Change-Id: Idf1f347cebc2a417bda37d6955201c775ecb0890
|
|
Better to have all of them together rather than scattered.
Change-Id: I1f8bbfb7018a6c28c87e4dfa2acbf4efde62894b
|
|
Change-Id: I95845d7217fc5e77e3f8e205030e9cd761ad0cc5
Reviewed-on: https://gerrit.libreoffice.org/82116
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
... since AtomicCounter::is_always_lock_free seems to be
always false on armel
Change-Id: I89c15fd41337ac5b29f781722423427825e6ff45
Reviewed-on: https://gerrit.libreoffice.org/82165
Tested-by: Rene Engelhard <rene@debian.org>
Reviewed-by: Rene Engelhard <rene@debian.org>
|
|
improve the script, but it still generates some false positives
Change-Id: If8ee1cba8c04ac0be11f73220149e6de15f24f44
Reviewed-on: https://gerrit.libreoffice.org/81929
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I95e63105654952d12c1dfd62f51593de114be569
Reviewed-on: https://gerrit.libreoffice.org/81077
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Idd98dc9e1090a6b09124c80eed5a878e5e966cfc
Reviewed-on: https://gerrit.libreoffice.org/80182
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I9790d053248ae6bd58ecc026c774014c4e5e04aa
Reviewed-on: https://gerrit.libreoffice.org/80115
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Recent GCC 10 trunk in C++20 mode reports issues like
> vcl/inc/opengl/zone.hxx:37:21: error: ‘++’ expression of ‘volatile’-qualified type is deprecated [-Werror=volatile]
> 37 | OpenGLZone() { gnEnterCount++; }
> | ^~~~~~~~~~~~
so look for a type that is more appropriate here (see the comment added to
vcl/inc/opengl/zone.hxx for details). (Though calls like
OpenGLZone::isInZone(), comparing gnEnterCount and gnLeaveCount, in
OpenGLWatchdogThread::execute are still not done atomically, of course.)
Change-Id: Ie5563addc65f629336f89cbccb73f7b9ac5e9870
Reviewed-on: https://gerrit.libreoffice.org/79072
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
(keeping the inline'd-ness of what the OpenGLZone ctor/dtor do, in case that
might actually be relevant for performance)
Change-Id: I411b83d1b99ed46b35857c7cca10f95dbc1c8e27
Reviewed-on: https://gerrit.libreoffice.org/79062
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
(though I have no idea how to actually test the affected code)
Change-Id: Ib74d966d021e337bfab94c223812cb51c02c705f
Reviewed-on: https://gerrit.libreoffice.org/79059
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
This should enable using move semantics where possible e.g. in standard
containers.
According to https://en.cppreference.com/w/cpp/language/move_constructor:
To make strong exception guarantee possible, user-defined move
constructors should not throw exceptions. For example, std::vector
relies on std::move_if_noexcept to choose between move and copy
when the elements need to be relocated.
Change-Id: I6e1e1cdd5cd430b139ffa2fa7031fb0bb625decb
Reviewed-on: https://gerrit.libreoffice.org/77957
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I20545527b117c9562b91076b748fb3e2659d2497
Reviewed-on: https://gerrit.libreoffice.org/77944
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I1efccb8b926e4aa10e9ccee7e8e36919e38c05fc
Reviewed-on: https://gerrit.libreoffice.org/76339
Tested-by: Jenkins
Reviewed-by: Andrea Gelmini <andrea.gelmini@gelma.net>
|
|
Since we no longer install on such systems anyway
Change-Id: Ia3b5c202e1276857c97017bb5a7eb9f087d5626e
Reviewed-on: https://gerrit.libreoffice.org/74961
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Platform-specific subdirs are left alone:
android, ios, osx, quartz, win
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.
Change-Id: Icbb906b7fbc960240c73c56d3dae2a78b06a0f53
Reviewed-on: https://gerrit.libreoffice.org/73754
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: Ia91e8d470729fff3f34e5f244a7e19359433a2ee
Reviewed-on: https://gerrit.libreoffice.org/72068
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I530b81b3258a6e1c1456da53bfe1285f14aee712
Reviewed-on: https://gerrit.libreoffice.org/70734
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
In OpenGLSalBitmap::AcquireBuffer(), if ReadTexture() failed, then
the data from AllocateUserData() didn't get deallocated and a next
call to OpenGLSalBitmap::AcquireBuffer() skipped the whole block
because it assumed the data was valid. Triggered while fixing tdf#116888.
Change-Id: Ibfe5c42d6b18748ca649d6b4242ef268c1b13a71
Reviewed-on: https://gerrit.libreoffice.org/69746
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I7f25cba311d42a7e8751cf3651f684b88d1fb8ac
Reviewed-on: https://gerrit.libreoffice.org/69711
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
check for calls to constructors, and extend the list of types we check
for unnecessary temporary creation
Change-Id: Ia2c1f202b41ed6866779fff5343c821128033eec
Reviewed-on: https://gerrit.libreoffice.org/63472
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|