| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
tests/auto/client/xdgoutput/tst_xdgoutput.cpp
Regenerated CMake projects.
Removed duplicate wayland source in
tests/auto/client/xdgoutput/xdgoutput.pro. It's still
referenced via the included shared.pri file. Regenerated
the CMake project to adapt to that. Otherwise the CMake
project fails to configure due to duplicate rules with
a error like the one below
CMake Error at src/compositor/Qt6WaylandCompositorMacros.cmake:13 (add_custom_command):
Attempt to add a custom rule to output
tests/auto/client/xdgoutput/wayland-xdg-output-unstable-v1-server-protocol.h.rule
Also use a workaround fix for configuring CMake standalone tests
due to regression introduced by
dd7e40b1086020f6a054957f4972720cd684 in qtbase.
Change-Id: Ib364b851a1fa828c153efbf8653c9e4ef5e618cd
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The Khronos headers may be recent enough to have the ifdefs but
implementation might still be missing on some platforms.
Don't use the extensions unless the configure test passes.
Change-Id: I23129115729567fa92bc23da099d27df598fc206
Reviewed-by: James McDonnell <jmcdonnell@blackberry.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QT_CONFIG is the new and robust way of checking the build
configuration of Qt.
Task-number: QTBUG-83467
Change-Id: Ia58b308b9b8a242df479cbd01d088204eed73a75
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|\ \
| | |
| | |
| | | |
Change-Id: Ia76896a4d06240ccc3d95ba478b6ce273c7a0be2
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The class is now in QtOpenGL.
Change-Id: Ifef8dfa753fb5d337d516a33fc49e610c7c8c6eb
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Several of the QOpenGL* classes we depend on has moved to QtOpenGL, add
the dependency and fix the include paths.
Task-number: QTBUG-74409
Change-Id: Iab7949dd67befaa71cf2cfa041771e93f4e47160
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |\|
| | |
| | |
| | | |
Change-Id: Ibd911372386f9f5fddb13afa05b84af6fe422fdd
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Make EGL 1.5 with EGL_PLATFORM_WAYLAND_EXT a requirement for QNX and
add some EGL 1.5 code alternatives. Avoids the need to deal with
incompatibility problems between the QNX native display/window type
and Wayland display/window type.
Change-Id: Ib26a020e1f8c7f570c6af08697d8c8153c887294
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Reviewed-by: Dan Cape <dcape@qnx.com>
|
| |\|
| | |
| | |
| | | |
Change-Id: Id0bb84667482232cb648f4984e9f9e2ea4c360c6
|
| | |\
| | | |
| | | |
| | | | |
Change-Id: I1f9418f4f5783291286417f6faf6277e0679007c
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Really use (as the comment states) the OpenGL ES 2 API for
the decoration blitter.
Task-number: QTBUG-80356
Change-Id: I4c923343e721a824521fb9b2b36be5d2de984325
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
[ChangeLog][QPA plugin] The QPA plugin now supports running with no screens
attached. This is handled by adding a fake screen when the last screen is
disconnected, similarly to what the other QPA plugins do.
Fixes: QTBUG-79111
Change-Id: I4a0e023ae784217dd030f0c62f12487fdff4825c
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
libs.glx just checks if we can can link against x11 and gl, this should already
be covered by features.xlib and features.opengl.
Also, it probably makes sense to not build these plugins if Qt is configured
with no-feature-xlib.
Task-number: QTBUG-78177
Change-Id: I56ccdc80a4601ccbf03cc5e65abe0adb3a579f99
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|/
|
|
|
|
|
| |
And fix the build at the same time.
Change-Id: I71f1ef2b8777fe514107a27c9ef6ee4c702a74c0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/client/qwaylanddisplay_p.h
src/client/qwaylandwindow.cpp
Change-Id: I50eb5c83a8b81e4bdb032b68d41f429b17d0a74d
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/client/qwaylandwindow_p.h
Change-Id: Ic4104c48267d1682bb58d6b38afc833c39515eae
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The Wayland plugin now takes full control over delivering update request and
implement frame callbacks for both egl and shm.
[ChangeLog][QPA plugin] The non-blocking version of eglSwapBuffers is now used, if
supported. This fixed a bug where minimized windows would block the event loop.
[ChangeLog][QPA plugin] Windows that don't get frame callbacks from the
compositor within 100 ms are now set as not exposed. This should stop most
clients from rendering unnecessary frames to minimized or hidden windows.
Also, when we relied on the QPA version of requestUpdate, we would sometimes
deliver one update request while we were waiting for a frame callback. When we
implement the fallback timer ourselves we can make sure we only deliver the
fallback if there are no pending frame callbacks.
QtQuick and other applications often depend on blocking swapBuffers to throttle
animations. If the context's surface format has a non-zero swapInterval, try to
emulate a blocking swap.
Fixes: QTBUG-69077
Change-Id: I3c6964f31a16e9aff70b8ec3c5340e640a30fef2
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp
src/plugins/shellintegration/xdg-shell-v5/qwaylandxdgshellv5.cpp
Done-with: Johan Klokkhammer Helsing <johan.helsing@qt.io>
Change-Id: Ia6fa28454f681b4965b5e18f635cb8c40da316f3
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This allows to drop all the StateGuard code, reduce OpenGL state changes
when blitting and to also support windows that requested an OpenGL Core
context.
Change-Id: Ie507a14a04b3d26cdf31f68973057553fa8493bf
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|\| |
| | |
| | |
| | | |
Change-Id: I735eb66a8469216029a1225080f49bfdcd3f0732
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I146dd41d54889af694b829bf1e6d47e03e892b27
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|\| |
| | |
| | |
| | | |
Change-Id: I3dc204fcaa71c01a80b0c622443012eb07964431
|
| |\|
| | |
| | |
| | | |
Change-Id: Ifb1c6c64abbb5c453092eeb1aff91572b57de410
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The call to flushWindowSystemEvents() sometimes caused new popups to be shown
in the middle of hiding another. I.e. if multiple events show and hide
surfaces, they would be shown/hidden in opposite order of their corresponding
events. QMenus sometimes suffered from this (can be seen with the qopenglwidget
example from qtbase).
When the flush was added 5 years ago in 50f43a0c5, it was to "reduce the
chances of seeing a bad frame". I don't see any rendering artifacts, though,
and I can't find any bug report on it. So let's hope it's safe to remove the
hack.
[ChangeLog][QPA plugin] Fixed a crash that sometimes happened when switching
popups.
Also adds more info to the workaround warning message that appears when a popup
grab is attempted and there already is another grabbing popup that is not the
parent.
Fixes: QTBUG-73524
Change-Id: Ibfcbb48c4bbe295c2be1a30add2d7e05cad398c5
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Using NVIDIA's Vulkan/GL interop function: glGetVkProcAddrNV
[ChangeLog] Added Vulkan-based server buffer integration for
NVIDIA EGLStreams.
Change-Id: I500f80ff3b00a9585178976d8e400baa38e89ef6
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QWaylandWindow inheriting wl_surface is a leftover from the old days, and today
it is sometimes causing great problems. Especially on xdg_shell and other
shells where the wl_surface needs to recreated with a different role if the
QWindow::type changes.
This is currently worked around by calling reset() on the surface, which will
destroy the wl_surface, and emit some necessary events and signals.
However, much of the rest of the code still assumes that a QWaylandWindow maps
directly to a single wl_surface which won't change over the lifetime of the
QWaylandWindow.
Today, it would make sense to implement this with composition rather than
inheritance. This is a major undertaking and so this is the first small step;
hide the inheritance in QWaylandWindow's public API. This makes it much more
visible when and where the rest of the QPA plugin is using it, so we can
eventually move it into its own class later.
Task-number: QTBUG-74373
Change-Id: I257729e33c3a5368cef4bb1e16148ba392e65bd2
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][QPA plugin] Fixed a bug where window decorations were to small for
for the content when QT_SCALE_FACTOR was set.
Fixes: QTBUG-72993
Change-Id: I1ed26e038c27f7c4454a6bcc04f0849e4af789e7
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
src/3rdparty/protocol/qt_attribution.json
src/client/qwaylandintegration.cpp
Change-Id: I475889f2817c7094b68a2948fdd34ddf8b0c486f
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QWaylandGlContext::makeCurrent() tries to be smart and only call
eglMakeCurrent() if really needed. This causes problems on NVIDIA where
the call is always needed.
Change-Id: I08d881d69f79a0fd4ea83a65780052e269a566be
Task-number: QTBUG-71697
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This caused regressions because QtQuick depends on swapBuffers for throttling
animations. We probably need to emulate a blocking swapBuffers and continue
after a timeout, but until we have a patch for this, revert this to avoid
releasing a regression.
This brings back the bug with a frozen event loop when a surface is waiting for
a frame callback, but this is preferable to a regression.
This reverts commit 1dc85b95ab0adc1e805d059e2c35c671ef790011.
Fixes: QTBUG-72578
Change-Id: If6435a947aae5e9fd775404649a392bfafe9130a
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Where it makes sense, default init variables to sensible values
Change-Id: Ie2aa6ab79a6a3c8322bb0ff804f340f7ffd1c1d1
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
README
src/hardwareintegration/client/xcomposite_share/xcomposite_share.pri
Change-Id: I7cbbf39916821f0f1749e3ccab3151f68f4aa1ac
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The Wayland plugin now takes full control over delivering update request and
implement frame callbacks for both egl and shm.
Fixes two bugs:
[ChangeLog][Client] The non-blocking version of eglSwapBuffers is now used.
This fixed a bug where minimized windows would block the event loop.
Also, when we relied on the QPA version of requestUpdate, we would sometimes
deliver one update request while we were waiting for a frame callback. When we
implement the fallback timer ourselves we can make sure we only deliver the
fallback if there are no pending frame callbacks.
Fixes: QTBUG-69077
Change-Id: I2d3a6896c32e63d8520b57448a3601a817816a91
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Fixing build issue now that XComposite no longer pulls in X11.
Change-Id: I4c5e77188cf167716aa64f2575d70ac2ca37608b
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some drivers may return wrong size from wl_egl_window_get_attached_size
and can therefore ignore wl_egl_window_resize calls. This patch
introduces a new env variable QT_WAYLAND_DISABLE_RESIZECHECK to skip
the size check and to force resizing of egl window on create and resize
events.
Task-number: QTBUG-70079
Change-Id: I9be97480088c63ae0a6dc3d1d1e026b0683a627e
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Use logging categories, and print error code when eglInitialize fails.
Change-Id: Iacba3b74a5dad23aba2309919fac7662967c94d7
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
|\|
| |
| |
| | |
Change-Id: Ib4c65db63c2f3119fc7c157d4353c4e0ecebefb0
|
| |
| |
| |
| |
| | |
Change-Id: I588ccc782f593ec83a87f75bd88d98f873366395
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
wayland-client.h and wayland-server.h includes protocol generated for the
version of wayland.xml corresponding to the libwayland version. This becomes a
problem when we want to support a version of wayland.xml that's newer than the
system libwayland.
The solution is to include wayland-client-core.h and wayland-client-server.h
instead. These headers don't include any wayland-scanner generated code, so we
can safely compile and link code generated against the version of wayland.xml
that we ship.
[ChangeLog] Code generated by qtwaylandscanner now includes
wayland-client-core.h and wayland-server-core.h instead of wayland-client.h and
wayland-server.h. This might break source compatibility for code using custom
wayland extensions.
Fixes: QTBUG-70553
Change-Id: Ice0cdb60ecc4f936acc0e158b96f7978549f62c1
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I4bd7389958fcee8b16d131625280c7d125894212
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If makeCurrent was called before the window was exposed, it would disable
resizing, which would block the window from applying the configure which the
client needs to ack in order to be exposed.
Fixes the issue by locking resizing only if the window is exposed.
Change-Id: I0e6b30bc4b08886fb95d502cac0b735d4bb732d2
Fixes: QTBUG-70646
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I66c91dfde14a7c252a02777cfcf0396b1d05e854
|
| |
| |
| |
| |
| |
| | |
Fixes: QTBUG-70494
Change-Id: Iaa4990fe9d39a1f9fb81f5e5f19039aa2e52dcac
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I27420ad626a0c6a18b9a11c6ffdc102006fe78e0
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QOpenGLContext::makeCurrent no longer sets the current context before calling
the platform function.
Task-number: QTBUG-70511
Change-Id: I67766d43b1142b0742f655b5c2728f4c87fbfb5f
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I40724946222f7e51b3cf36a2ce1cd60d7801f41a
|
| |
| |
| |
| |
| | |
Change-Id: I215db1d8bb321e0fe9d49d09c8b5f0d2492e901d
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][QPA plugin] Fixed a bug where offscreen surfaces would get
surfaceless EGL contexts.
Fixes a regression in in bf09c7a1.
The call, window->updateSurface(window->isExposed()), is problematic because
offscreen textures are never exposed, and consequently, eglSurface will be
EGL_NO_SURFACE, which will then create a surfaceless context in the call:
eglMakeCurrent(m_eglDisplay, eglSurface, eglSurface, m_context)
This reverts to the old behavior of always trying to create an EGL surface,
unless the window doesn't have a valid wl_surface, in which case it doesn't
make sense (which is what bf09c7a1 fixed, QTBUG-65553).
Task-number: QTBUG-70242
Task-number: QTBUG-68605
Task-number: QTBUG-67601
Change-Id: I44b07bb8bf4b33c73c6379a1de8e9e5cfd220b51
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|/
|
|
|
| |
Change-Id: Ie8b76534a1c7904abd6b2e1e594174004847b28c
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
| |
Commit 815206 fixed renderableType of wayland gl context, keep
for sanity also correct renderableType for surface. This is most likely
never used, but makes more sense to keep it in sync.
Change-Id: I8e8cae1feba20054aac94be246e449ccb0974240
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|