| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove redundant categorization from example title as according
to example guidelines.
The examples are already categorized under Qt Wayland Compositor
Examples, so adding it to the title makes the list a bit cluttered.
Pick-to: 6.5
Task-number: QTBUG-110993
Change-Id: I91ad127611c7b1e4d8c558377bc5f46e0ec28a41
Reviewed-by: Inho Lee <inho.lee@qt.io>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
| |
Add dependencies to WaylandCompositor_sync_headers for the qml plugin
targets. Add deprecation macros. Fix syncqt warnings.
Task-number: QTBUG-87480
Change-Id: I0e169344c9a8186484fbb36f5ec1e03cd38ea19b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This is required to filter the generated wayland files when syncing
headers.
Task-number: QTBUG-103196
Change-Id: I86d440bf8b56802dff2fa75ba621c37a8daa8bbf
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-105718
Change-Id: Icb25ea4e07a38eea81f55ed59c6d3b9d37602626
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
CMakeLists.txt and .cmake files of significant size
(more than 2 lines according to our check in tst_license.pl)
now have the copyright and license header.
Existing copyright statements remain intact
Task-number: QTBUG-88621
Change-Id: Ib014757184540728f40df71cd580f01e85fbbb56
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Plugins should not link publicly to libraries.
Don't use deprecated TYPE option of qt_add_plugin.
Amends d89c8920f3b82dd2098971b5a66c4b9c75da5af0
Pick-to: 6.3 6.4
Change-Id: I0b5ad54e802147778b1a979b16ff1c2c47eb8c5b
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
|
|
|
|
|
|
|
|
| |
Use CLASS_NAME instead of CLASSNAME.
The latter will be removed in the future.
Change-Id: I740f945a8dede80e89dd28ed49bf7a37a35df21f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
License files are organized under LICENSES directory.
Pick-to: 6.4
Task-number: QTBUG-67283
Change-Id: I106d3a5d1a7b96250380b6f51a48f3b19d10e4d9
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
| |
Pick-to: 6.3
Task-number: QTBUG-103295
Change-Id: Ib8d24b06b22711b6fa6d3f6f15729cad7f3edd07
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
|
|
|
|
|
|
|
| |
Pick-to: 6.3 6.2 5.15
Task-number: QTBUG-103295
Change-Id: I8b26c642488928523effbf9be9ac05939067a493
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
When these are missing, external links to the contents of the modules
break. Any \inqmlmodule should always have a corresponding \qmlmodule.
Pick-to: 6.3
Fixes: QTBUG-102379
Change-Id: Id800e1ac3976957869f4a521f69f0190fb7eba5a
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
See script in qtbase/util/includeprivate for the rules.
Since these files are being touched anyway, I also ran the
updatecopyright.pl script too.
Change-Id: Ib056b47dde3341ef9a52ffff13ef677e471674b6
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
| |
Pick-to: 6.3
Change-Id: Ifda9223dbf9d7c615de6540250a23a6687daecd7
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
qwaylandxdgshell.cpp:508:15: warning: unused variable ‘activation’
Pick-to: 6.3
Change-Id: I0e5f6bec596a4a78bd3bfffd16c995a0b7feef5c
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With the protocol, client knows accurate presentation timing
which can support vsync-based rendering for smooth video
playback with video/audio synchronization.
Also, the protocol provides metrics from client to on-screen
for optimizing frame latency.
Tested with weston-presentation-shm client which also requires
xdg shell.
Change-Id: I3b286420e7221aa1c9b81bf7ae9ae70d3cbe6eb6
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds a new API for writing custom shell extensions. This API is supported,
but semi-public. Binary compatibility is not guaranteed.
Also adds qt-shell, a new shell that maps directly to the QWindow API, and
provides functionality that Qt provides on other window systems, such as
absolute window positions and window activation. This shell is not intended
for use on the desktop.
This is a squashed commit of a development branch consisting of approximately
60 changes. Contributors:
Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Paul Olav Tvete <paul.tvete@qt.io>
Task-number: QTBUG-94330
Task-number: QTBUG-91542
Change-Id: I419b6bd8179fe03e4da47d328c7ff4b4795b8a91
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Amends db33032ff1cf66796d8fdcff5ce6f0ce99e0699e. This added install
commands for plugins.qmltypes for all the shells except the
IviApplication shell.
Pick-to: 6.2
Change-Id: I0c17d9d8d727ae35cda14398f88cc63205522ee0
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The pro2cmake.py conversion script faithfully reproduced the .pro files
for the plugins, which specified the libraries as public. But in CMake,
the implications of this are that public usage requirements should then
be propagated to consumers. We don't expect any consumers, since a
plugin is created as a MODULE library in CMake, so for Windows we don't
even have an import library to link with. The only exception to this is
for static builds where plugins are created as STATIC libraries
instead, but only in certain controlled situations do we then link to
plugins. Even then, usage requirements are not expected to propagate to
the consumers, so these relationships should always be specified as
private.
Pick-to: 6.2
Task-number: QTBUG-90819
Change-Id: Ia7a8f27d4eecf067055511577ec664ad857905cd
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The compositor part was already in a good shape, and we can get rid of
the custom plugin.
The other plugins aren't ported to declarative type registration yet, so
we keep the plugins as they are for now.
Change-Id: I2cbaa761f0313878864fd615e21c003c58243b48
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Use PROJECT_VERSION instead of CMAKE_PROJECT_VERSION, so that the
repo project version is used in a top-level build, rather
than the version of the qt5 project.
Pick-to: 6.1 6.0
Task-number: QTBUG-92861
Change-Id: Ie829f66433d4edd7ce2d68376cecf38d6b1b642d
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
qmldir files to be generated by the cmake build procedure and don't
need to be stored in the source tree.
Task-number: QTBUG-88263
Change-Id: Id32303457ae8983a1a6ec102a459a28bdcac8618
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This includes removal of the corresponding .prev_CMakeLists.txt files.
Pick-to: 6.1
Task-number: QTBUG-88742
Change-Id: I57922bff138258f5b35d484caa4b00d84e924a06
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The texture sharing mechanism has some issues still, and
it is not strictly required in Qt 6.0. So we keep the code
for now, but hide the feature and document it as experimental
and unsupported. This makes it convenient to bring it back
later, maybe with a revised API, when have more concrete use
cases.
The example is moved into manual tests for now, and can
easily be brought back later.
Change-Id: Icfe4841b329bebcf9d63d1e00a4f6ae613c5092f
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
There is no actual need for the SharedTexture subclass, since
the OpenGL context is guaranteed to be bound when the
createTexture() call is made, and we don't support the buffer
changing after it has been received.
Task-number: QTBUG-78673
Change-Id: I73e0f755e0618c67dabeccb0085bb44560f2a214
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
| |
Modify special case locations to use the new API as well.
Task-number: QTBUG-86815
Change-Id: I2ba7753b64f3d88332e919dc90c98e252e20dd98
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add one moc include to make things compile after
the changes in qtbase.
The nooutput test fails with this update because
high-dpi is now enabled by default. When running
with a placeholder screen, we get a scale factor
of NaN because the default logicalDpi()
implementation divides by physical size, which
is 0x0 in the case of the placeholder. We
temporarily disable the test in order to get the
update in.
Task-number: QTBUG-86698
Change-Id: I474f6970186e93905332c679f2cec5fea459de64
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We move the .qml files back to the plugin directory, since
the way everything is designed, these should reside next to
the qmldir file. Also, the cmake build files will now know
about the .qml files when generating the qmldir that
replaces the handwritten one (which will be removed later
on)
Fixes: QTBUG-86164
Change-Id: I1e45b585fa300968e5605aa5741e45ed594bfab7
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In order to add new properties and types in Qt 6, we
need to port everything over to the new extension API
in QML. This is generally more type safe and needs
less manual maintenance, but there is some work involved
in porting.
The previous version exposed some types from
the QtWaylandCompositor C++ library, extended a few
of them with Qt Quick-specific subclass, added
one additional C++-implemented type (QWaylandMouseTracker)
and two additional QML-implemented types.
We need all types to be defined in the same place for
the automatic generation of plugins.qmltypes to work.
Therefore all the additional types are moved from the
plugin into the library, but still not exposed through
public API.
The plugin still exposes the types, so for the user this
change will be transparent.
Fixes: QTBUG-85512
Change-Id: I46e9e80424c9299c3eaee92773d233b1ec29cf2c
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
We want extensions to be in submodules in QML.
[ChangeLog][WlShell] Moved WlShell types into QML import
QtWayland.Compositor.WlShell rather than QtWayland.Compositor
Task-number: QTBUG-68840
Change-Id: I7c3d2d05efdab86ea61affc6a9a0bc3e10835328
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
We want extensions to be in submodules, to make them easier to
deprecate and replace when they become outdated.
[ChangeLog][IviApplication] Moved IviApplication types from
QML import QtWayland.Compositor to QtWayland.Compositor.IviApplication.
Task-number: QTBUG-68840
Change-Id: Ib940b980b5e4fcd8a80b359efb0a0e6c42f32c06
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We want extensions to be accessible from submodules to
QtWayland.Compositor, since this makes it easier to
deprecate and remove things as they become outdated.
[ChangeLog][XdgShell] Moved XdgShell types from QML
import QtWayland.Compositor to QtWayland.Compositor.XdgShell.
Task-number: QTBUG-68840
Change-Id: I74bf6e31dad1a05151f547ea5e5ff043128512cd
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This code would unconditionally generate a qrc file for
two .qml files instead of just adding the qrc file to the
repository for some reason. This caused problems in the conversion
to cmake.
Change-Id: Ib859e51155847f72d646ce174259d3b8ba5ca93d
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new convention is to match the C++ module version in the
QML import. QtWaylandCompositor is technically a new type,
since it was previously named QtWayland.Compositor, but
since it might make porting easier, we keep the revision
history for QtWayland.Compositor intact and keep \since
tags in documentation etc.
This also removes the QtQuick.Window import from the QML
files (the Window class has been moved to QtQuick) and
removes the versioned import per the new standard.
Task-number: QTBUG-68840
Change-Id: I40483c7e16d92915adf08d0ff3c5d48af04db6af
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
XdgShellv5 and XdgShellv6 have been deprecated in
the compositor since 5.15, and wl-scaler since 5.13.
These are now removed.
Since the qwindow-compositor has not been updated
for a long time, it depends on the outdated protocols.
This change removes it, since it no longer represents
best practices. This means we will be missing a proper
C++-based compositor for now, so we will have to
create a new one later.
Change-Id: Icc6ef97c17e553f266c4145abeef26ddd631d6bf
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Several event accessors were deprecated in
qtbase/24e52c10deedbaef833c0e2c3ee7bee03eacc4f5.
Replacements were generated by clazy using the new qevent-accessors check:
$ export CLAZY_CHECKS=qevent-accessors
$ export CLAZY_EXPORT_FIXES=1
$ ../qt6/configure -platform linux-clang -developer-build -debug
-no-optimize-debug -opensource -confirm-license -no-pch QMAKE_CXX=clazy
$ make
$ cd ../../qt6/qtwayland
$ find . -name "*.clazy.yaml"
$ clang-apply-replacements .
Task-number: QTBUG-20885
Task-number: QTBUG-84775
Change-Id: If822ba409f974f737dc46ac31f6e8e92cc1603cc
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It should be possible to make this working on RHI-on-OpenGL, except
maybe for the external OES sampler case.
This is a not a complete fix, because it breaks the texture sharing
extension for now. It allows us to proceed with building and integrating
in the CI however.
The rest will be handled in follow up patches.
Change-Id: I96e128166e9bb5cd30809807dd0dccee1fe9be4c
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-84469
Change-Id: I4bc7b2eb2913fc828f09f96e21480b76cabf8656
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
| |
Change-Id: I8cf6be77434059b3c3910d843d6922d4c38f51b2
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A stable version of XdgShell has been released. Since most clients now support
stable and v6 is almost a copy of stable. Most people that use v6 can probably
just switch over to stable with minimal issues.
[ChangeLog][Compositor] XdgShellV6 has been deprecated, use XdgShell instead.
Task-number: QTBUG-81853
Change-Id: I1f5affe7ab0f6a1a0fe19f3a01ee146fb3bfeecf
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A stable version of XdgShell has been released. Since xdg-shell v5 is quite
different from both the stable version and wl-shell with regards to how
configure events work, it would be a maintenance burden to keep supporting it
in Qt 6.
[ChangeLog][Compositor] XdgShellV5 has been deprecated, use XdgShell instead.
Task-number: QTBUG-81853
Change-Id: I06ffc676cb8c9c1a46de30eef59ceef8bb0ff7a3
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This aligns with 76f783c23f in qtdeclarative.
As a precursor to removing the OpenGL specifics (such as, textureId(),
bind(), etc.), QSGTexture now has a pure virtual comparisonKey().
Implement this in the two places where QSGTexture is subclassed.
Further adaptation to the post-direct-OpenGL-world is left as a
future exercise.
Change-Id: I102dd0749659fe13347bf95d4b15515680aebbfa
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some of the changes that were needed
- adjusted wayland macros due to changed target names for plugins
- a few direct moc file includes, to get rid of compilation errors
- Threads::Threads linking for a few tests
- a few special cases for QT_FOR_PRIVATE handling because pro2cmake
doesn't handle those correctly at the moment (they map to
PRIVATE_MODULE_INTERFACE rather than PRIVATE_LIBRARIES)
- just regenerating all projects
Change-Id: I418ce91b1c69c7388d41eb22b94a93a9e80fa732
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|\ \
| | |
| | |
| | | |
Change-Id: Ia76896a4d06240ccc3d95ba478b6ce273c7a0be2
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| |\ \
| | |/
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.cpp
Change-Id: I42733f5ad9429a5d2ff6c804eb1f3f2d50f50811
|
| |\ \
| | | |
| | | |
| | | | |
Change-Id: I25e65c392612cc1c379bd408adb60559b1d8a498
|
| |\ \ \
| | | | |
| | | | |
| | | | | |
Change-Id: I8d16410f0c400ee685774722d210d6f5986de843
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The client, compositor, tests, plugins and examples now build.
There are still a few minor issues:
- The protocol source generation is a bit hacky.
- The tests for checking if building CMake projects don't work anymore as they
have Qt 5 specific code. They have just been commented out for now.
Fixes: QTBUG-78177
Change-Id: Ie17cb05f0cdbd5b098970ce765adaeccf61a8fde
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Qt CMake Build Bot
|
|\ \ \ \ \
| | |_|_|/
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | | |
Conflicts:
src/hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.cpp
Change-Id: I6c6e05f76abcea8a315fe3ba471c4aa2139127b5
|