| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Output variable gl_FragColor wasn't declared due to a copy-paste error.
Pick-to: 6.7 6.6 6.5
Change-Id: I0732953143d9a2315d430e57d8e1a92cca87f542
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
| |
Change-Id: I5543ace14dbc854e2122c9b31189701cf025df3b
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
| |
Fixes: QTBUG-120397
Pick-to: 6.7 6.6 6.5 6.2
Change-Id: I52dee0bf480dee26ca71f7a914150be9679f87f3
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Support for v4-wip was not added into any desktop linux compositors, nor
was it ever enabled into the default Qt client builds for clients or
compositor.
TextInputV3 has become the most widely deployed. Whilst changes are
needed, they do not need to be breaking changes. A second iteration of
V3 can add the features we need. This is now in motion upstream.
For cases where QtWaylandCompositor is used, the custom Qt text input
method is preferred to work with the Qt virtual keyboard.
Pick-to: 6.7
Change-Id: I01e2686c67846804c0069f1495952b530547f91c
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
In some cases like using Key.forwardTo, keyReleaseEvent is ignored.
It should be generated regardless of focus.
Fixes: QTBUG-118042
Pick-to: 6.6 6.5
Change-Id: I154a27542c73264c3238d645e9b18e869c60b19e
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Multiple \qmlproperty, \qmlmethod, and \qmlsignal topics used an
incorrect QML module identifier. With upcoming changes to QDoc
these will start to generate documentation warnings.
Fix the commands to either use the correct identifier, or remove
the identifier as QDoc is capable of resolving the parent QML
type without it.
In passing, fix a documentation linking issue.
Pick-to: 6.6 6.5
Change-Id: I5a562acc5f135d36c036ea1c1cc56218c23833b8
Reviewed-by: Andreas Eliasson <andreas.eliasson@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-113331
Change-Id: I8c421d916a43c031113dc82a502aea9fb1424fd4
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
| |
The acitve focus has only been set in clients when a key was pressed.
This caused Qt clients to miss the pressed key event.
Fixes: QTBUG-108645
Change-Id: Ie277d64e4e707533d84179c01a69a745cb4da950
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
If a QuickItem used in a compositor has a texture provider,
it is not destroyed before deleting QRhi. It makes a warning
of unreleased resources.
Fixes: QTBUG-108767
Pick-to: 6.4
Change-Id: Id86839f1de1ff4f374170627d9c1e02c4afb7301
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@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 6.2 5.15
Task-number: QTBUG-103295
Change-Id: I2311465d5341fc5902981d80ab0a117dd2df002d
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
|
|
|
|
|
|
|
|
|
| |
surface()->client() could return null at the moment when
QWaylandQuickItem::takeFocus invoked, which cause using nullptr
Pick-to: 6.2 6.3
Change-Id: I89432882bd7117f45bac889bc85b2f86c77b21e8
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the client says it's fully opaque through the
set_opaque_region request, we can disable blending
for the item and potentially improve performance a
little bit.
[ChangeLog][QtWaylandCompositor] The compositor now respects
the opaque region set by the client and no longer applies
blending or overdraw for fully opaque windows.
Fixes: QTBUG-100373
Change-Id: Iaa68fbf1f086d926c9c1867d981a63810f4ca855
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
This avoids "No update on item size as the buffer is currently
locked" warnings when windows are hold in a model and a window is
closed and removed from the model. The problem was apparent in many
QtApplicationManager examples.
Pick-to: 6.2 6.3
Change-Id: Icb9d4cd37d3a4a8ee4214a92aed8422794729d9d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
| |
Unused lambda capture and private variables that clang complains about.
Pick-to: 6.2 6.3
Task-number: QTBUG-100249
Change-Id: I204eea8d4fc0c22542224d94bae113fa66870d15
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|
|
|
|
| |
Change-Id: If9a610004ae66f8e829d9e602ab249ee9f527eaa
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This feature can be enabled by -feature-wayland-text-input-v4-wip.
It is disabled by default.
TextInputManagerV4 is available in a compositor.
zwp_text_input_v4 is available for QT_WAYLAND_TEXT_INPUT_PROTOCOL in
a client
It supports Hangul(Korean) with a qtvirtualkeyboard patchset
(refs/changes/02/357902/3)
It includes some workarounds for ibus because each ibus module has its own
policy for focus-in/focus-out.
enter/leave will synchronize with enable/disable and they will happen
whenever focus-in/focus-out happen.
Cursor/anchor positions are byte offsets.
Surrounding text will be trimmed when it is over 4000 byte.
For debugging,
uses "qt.waylandcompositor.textinput" in a compositor side
uses "qt.qpa.wayland.textinput" in a client side
Tested on qtvirtualkeyboard and ibus
TODO :
* QTBUG-97248 - event:preedit_commit_mode is not implemented yet. Current
preedit_commit_mode is 'commit'.
* request:set_text_change_cause is not implemented.
Task-number: QTBUG-94327
Change-Id: I72644893f40f30c4b03cd6a7d05483d12bde1070
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
from clients and one compositor at same time.
For compositor side, just need to have TextInputManager and
QtTextInputMethodManager together.
For client side, set QT_WAYLAND_TEXT_INPUT_PROTOCOL env to choose:
* If the env is unset(empty) or invalid, it will search
qt_text_input_method_v1 and zwp_text_input_v2 in order
* Set as "qt_text_input_method_v1" or "zwp_text_input_v2" if compositor
supports
* Set as "zwp_text_input_v2;qt_text_input_method_v1"
Change-Id: Ieec293ff412bf2d3e5ca9c69a951bfe1899cc808
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For the code path which uses QWaylandBufferMaterial, the buffer
could potentially be deleted before the material had been
updated, which could cause issues if the render thread was
currently using the textures.
In the default code path this was handled by keeping a reference
to the buffer in the texture provider, but in the alternative YUV
format code path, we did not increase the reference count of the
buffer, so it would be deleted immediately when it was replaced
rather than wait for the sync with the render thread.
Pick-to: 5.15 6.1 6.2
Task-number: QTBUG-95715
Change-Id: Ic6038ea8281e2a2e292d12150d1fffedb5c3b76e
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some EGL image formats (the YUV formats specifically) cannot
be handled by the built-in node types in the Qt Quick scene
graph and use a custom material and geometry setup.
In this setup, the wp_viewporter source rectangle was ignored
and the entire texture was always sampled. This caused problems
e.g. for video frames supplied by GStreamer.
[ChangeLog][Extensions] Support for wp_viewporter extended to
cover less common buffer formats.
Pick-to: 5.15 6.1 6.2
Task-number: QTBUG-95464
Change-Id: I2504c6cd7d82e17d28e930a59d9ec71b25779acb
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Docs for WaylandQuickItem subsurfaceHandler suggest you use it like so:
subsurfaceHandler: QtObject {
function handleSubsurfaceAdded(child) {
...
}
}
However, as far as C++ is concerned all arguments of a JavaScript
function are QVariant, so the type-specific invocation fails.
Change-Id: I2d1a32bef5b30099cf34edc8a9e50b42fb26f217
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Calling deleteLater on the SG texture leads to a race condition when
shutting down the compositor: the deleteLater handler is called after
the global RHI shutdown, leading to crashes in the render thread
and/or debug outputs complaining about leaked texture resources.
Fixes: QTBUG-95394
Pick-to: 6.2
Change-Id: I19525507597e2ecdb534e57406b4fe1d34fcf4de
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When showing a surface with a subsurface in a QML based compositor, the
subsurface QQuickitems are now destroyed when when main surface QQuickItem
is destroyed and not just when the surface is destroyed.
This prevents subsurface QQuickItems piling up when showing and hiding
the client surfaces e.g. inside a StackView.
Fixes: QTBUG-94602
Pick-to: 5.12
Pick-to: 5.15
Pick-to: 6.1
Pick-to: 6.2
Change-Id: I006a6a763d4daf560ba2a7b6f83e1de3e3c48906
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
| |
Document what the corresponding C++ class for any given QML item is,
like it's done in Qt Declarative.
Pick-to: 5.15
Change-Id: I015565f88cb457f1e73dd7c2c54edff3505db395
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
| |
Texture provider and texture node use setFiltering to apply anti-aliasing.
That part was missed when use QSGSimpleTextureNode instead of QWaylandSurfaceNode.
Change-Id: Ice14e3dafca4529d8051585909870bbc987eadf6
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
| |
When client attaches empty buffer and commits, it updates source rect
for the new node even though buffer is locked.
Change-Id: Ibbd1ecdd054aa134093874cefcb3f86c630abf75
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The shader for external OES texture cannot go through the normal
pipeline and thus is required to be created manually.
Note: This e.g. fixes wayland-egl backend on NVIDIA, as the
EGLStreams implementation depends on external OES buffer type.
Pick-to: 6.0 6.1
Task-number: QTBUG-89960
Change-Id: I9ab92b72f9db019be94e69a64d3fdf652dd4ed45
Reviewed-by: Jaeyoon Jung <jaeyoon.jung@lge.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
If the buffer format is external OES, use fromNativeExternalOES to set
the correct texture flag.
Task-number: QTBUG-89960
Change-Id: Ia72f2833c9fac580d099959af9dcb28b9c477c55
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
| |
Fix problem the surface item gets shrunk as a null buffer is attached to
its surface even though its buffer is locked.
Change-Id: I28afccbae4f82d9d2f831d29e808873bb0cbd514
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
| |
In QWaylandQuickItem::updatePaintNode there are two different QSGNode
types used as per the buffer type and format. When it changes, oldNode
should be destroyed so that a new QSGNode can be created.
Change-Id: I3240e17838b3878c7d7d3a6fd6eb580a77274346
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Whenever a subsurface was added we would create a QWaylandQuickItem,
but this was never deleted. It is one-to-one with the surface, so it
should be deleted at the same time.
[ChangeLog][QtWaylandCompositor] Fixed a memory leak when creating
subsurfaces.
Pick-to: 5.15 5.12
Task-number: QTBUG-88782
Change-Id: If4b3f15200ce3bd123ff73847d3593d174a39229
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
QTouchEvent::touchPoints() is deprecated and replaced by just
points(), and there is a new value in Qt::TouchPointState.
normalizedPos() is replaced by normalizedPosition().
And QVariant::type() is deprecated.
Change-Id: I4a4eea2775030f67ad12488df25d4859099c1783
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
| |
Fixes: QTBUG-87313
Change-Id: I99c0b08d908cffe271b555e0696af5fba3fb8780
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix build when Qt is built with -no-opengl:
1. Certain includes have to be conditional on QT_CONFIG(opengl),
just like the code that uses them.
2. After 585f20dce37c398d8b2e6367008e3329dac79e24, the
ClientBufferIntegration is used even with a software-raster
compositor, so we need to include this class in the build.
3. The wayland-scanner-generated header files are unconditionally
installed through sync.profile and there is no way to exclude it
there based on Qt configuration, which causes errors when doing
make install. The easy fix for this is to generate the headers
even though they will not be used anywhere.
Fixes: QTBUG-86291
Pick-to: 5.15
Change-Id: I671b6345cbc7138309e20fe62e09513f191cd3fe
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
|
|
|
|
|
|
|
|
|
| |
We create the QSGTexture at the same time as the OpenGLTexture
and store it in the material for later updates.
Task-number: QTBUG-78673
Change-Id: I09a0e073f538934798cb80e1ff98d1d786225c89
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We introduce an alternative input-method protocol, which
is a one-to-one mapping to Qt's input method API. Input
methods such as the virtual keyboard's hunspell
integration is quite sensitive to the inner workings of
the input method handling, both in terms of when state
is updated and which updates are delivered when.
With a one-to-one mapping we are able to match these
expectations and keep a well-synchronized state.
Task-number: QTBUG-85135
Task-number: QTBUG-85134
Change-Id: Id69c22a7b0885ea59f39fdcc8d663749af56c7ce
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
| |
Change-Id: I6111cd2e280a7cff610d3f89d51fb3964d61b51f
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QTouchDevice has been replaced with a more general QPointingDevice.
All input devices need detailed information and need to be registered
via QWindowSystemInterface::registerInputDevice(). This patch is not
doing that yet; it's just enough to get qtwayland to compile again.
Done-With: Liang Qi <liang.qi@qt.io>
Change-Id: Id3a2e475ed07294a1977004fc72b11e466acc216
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
| |
The createShader() virtual function has been extended to take
a renderMode argument.
Task-number: QTBUG-78673
Change-Id: I6213c71c0ecbe33fc7301c1fc1eb80cf7e8a5090
Reviewed-by: Laszlo Agocs <laszlo.agocs@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>
|
|
|
|
|
| |
Change-Id: If1739b7d58e710fa331f76cf1e1c8e7c4af61fde
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|
|
|
|
|
|
| |
Follow the naming convention of other boolean getters.
Change-Id: I0e1e56b0cab41910b8a8269d17e6ea1d5f453e9e
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QML cannot do property binding with properties without CONSTANT or
NOTIFY. Also emit changed signal where it's not.
Change-Id: I5117383e22085af08589f6aa05892676c24f3846
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Id0bb84667482232cb648f4984e9f9e2ea4c360c6
|
| |
| |
| |
| |
| | |
Change-Id: Ie0bed19704bed89044d3cf25e7aaa1f740a4b39a
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |\
| | |
| | |
| | | |
Change-Id: If5fcfe5252c1ac1db63ec77136b186a104280b57
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add missing function and function/qml method parameter documentation,
linking issues, and other minor tweaks.
QDoc fails to parse a Q_PROPERTY if the property type includes the
keyword 'enum' - fix that in the header file for
QWaylandXdgToplevel::DecorationMode.
These changes bring the currect warning count to zero.
Fixes: QTBUG-79817
Change-Id: I302b110eb91858f06e9cd410872a12365d421a8e
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|