| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Make sure Metal shaders get generated on iOS as well as macOS.
Task-number: QTBUG-95130
Change-Id: I38276405bfa58fcac1f09b9928fe5b4aa7cabe58
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
(cherry picked from commit 7f1f3c358258331f86dc792c653482c82bbf2ec6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-93035
Change-Id: I7157783e195b274001e81662e7e3929c32fbc8a1
Reviewed-by: Mike Krus <mike.krus@kdab.com>
(cherry picked from commit d1a6046de5718ba17cef28857dd2674de62adab3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Otherwise, this results in the bounding volume being out of sync with
entities (an entity initially disabled that gets enabled would have an
empty bounding volume) until some other events in the scene triggers a
rebuild.
Task-number: QTBUG-93035
Change-Id: Ia21eec0eb5601169e1789321080803a5aed12e82
Reviewed-by: Mike Krus <mike.krus@kdab.com>
(cherry picked from commit d29f3b277d0f949f2fa0b0e0214e38ec3e790c40)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, bounding computation results from the core aspect were
propagated to the render aspect via the front end objects.
This introduces a job watcher which gets called with the results
and the render aspect can update it's backend data directly.
The watcher process method is called in the thread of the core
aspect job but the render aspect job will wait for that complete
anyway (since it depends on the core aspect job).
Change-Id: Ie59337f00025fd55fc723a7d105342e0b1e91d6c
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
(cherry picked from commit e378ebd0db6c06af7709498122912284852e6bc9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
In b9994cd88925ca012d66e52d033cc9a3a909fc7a, we removed the tool and the parser.
This restores the parser, but the tool was unmaintained.
Change-Id: I168e720b7fdf65aafebb9652933d8093f5449bdc
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
(cherry picked from commit 3c02825fcedbdb0983775d0522af9c851be6c0cd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Change-Id: If9c4c17879fd99923cce096a21edb939ae5de1b9
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
(cherry picked from commit a6e373ccd2fcbd5133f455c878413584462138fd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
- RHI requires updates to existing prototypes, explicit locations for
inputs and outputs and treats samplers, uniforms and other inputs
differently
Change-Id: I7f8c6bf0d2a4732b8badcb7fb426f3349da3d6c3
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
(cherry picked from commit 9c9284ce7f0d4ea3dda6d6bc6b602f5d4d6016d4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using Scene3DView, qt3d still has a single scene graph and and a
single framegraph. It automatically creates layers and layer filters
to make sure the right objects are only rendered in the right view.
This affects picking though as it was not aware of layer filters.
This patch collects the filtered layers for each view and makes sure
only entities matching those layers are tested for picking (this uses
code that existed for ray casting).
This changes the behavior of Qt3D though as non rendered objects (ie,
excluded by layer filtering) are no longer pickable. Only way now would
be to provide a shader that just discarded everything.
Note: Scene3DView is not available in Qt6 so on this branch this only
really affects custom scenes with multiple views each showing different
content.
[ChangeLog] Non rendered entities (due to layer filtering) are no
longer pickable
Ticket-number: QTBUG-94214
Change-Id: I8515368e43342b33ac219dff533e92efa72fbe7d
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
(cherry picked from commit d79376732105dea749e71cdb114251084c7138a9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Change-Id: I44d1400da38949285f1c12c17bba3561b36f6dc9
Reviewed-by: Mike Krus <mike.krus@kdab.com>
(cherry picked from commit ca4a251a207795b879a15f0df30f21e717183172)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
This otherwise leads to inconsistent dll linkage warnigns on windows.
Change-Id: I4f32f2fd2cc45939187535b8232172b280df7316
Reviewed-by: Mike Krus <mike.krus@kdab.com>
(cherry picked from commit 9d17891737befa4645ffd1e1a1153c314366e059)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Pick the supported rule with highest version number. For instance, if
we're looking for a rule for OpenGL ES 3.2, and there's a rule for ES
2.0 and another one for ES 3.0, make sure the rule for ES 3 is
selected.
Change-Id: Ie517206948bc0422f6254472de43cda4dd2ce982
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
(cherry picked from commit e5276cd4cdc6b7b2e37c14e6983eaf4ce31b5a1c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implementations of GraphicsHelperInterface::drawBuffers expect an array
of zero-based attachment point indexes (GL_COLOR_ATTACHMENT0 is added to
the indexes internally), so we can't convert the attachment index to an
OpenGL enum before calling drawBuffers.
Change-Id: Ibc8af9f7c402b055c5391ad673b815c1fb65a40a
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
(cherry picked from commit 0157b93098fb5339cfe8fe99a111cf6e6f047565)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Change-Id: I8d45926ebe6abadaa7f5eaa1f8cf6c34df664b9f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit e13df32309d920de813b89adcdac659f826b2aef)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit 9a473a3c9b246f4895ae73d7060745b8b199a6c5 introduced a
find_package call in a configure.cmake file, very subtly breaking
top-level builds with configure or calls to qt-configure-module for
qt3d.
The find_package call results in errors of the cmake call that runs
QtProcessConfigureArgs.cmake (see bug report for details).
Guard the find_package call by checking QT_CONFIGURE_RUNNING.
Fixes: QTBUG-92163
Change-Id: Ib192bbfce6fb9a1cc3b65dd7824f76db3a99aa43
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit bf5d1fe5422d3740985be2eacb35f3e971f2a39d)
|
|
|
|
|
|
|
|
| |
Re-generate src/core/configure.cmake and use the renamed WrapQt3DAssimp.
Change-Id: Ifd4accb55216af61c0a4e29b3723eae6c9b853eb
Reviewed-by: Mike Krus <mike.krus@kdab.com>
(cherry picked from commit 598b72dac2f467fcc244e0b7ef348c034daf428b)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add the missing qt_cmdline.cmake files.
Fix the bundled assimp library.
Remove the stale configure.cmake in src/plugins/sceneparsers.
Remove unused features from src/core/configure.json.
Change-Id: Id2aa3a02a1c0118c97bd2a447bd23f332f4b5270
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mike Krus <mike.krus@kdab.com>
(cherry picked from commit e4aec09c7b9c639542965207850fdc8a3d1fc841)
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When Qt is built to enable Vulkan support, it is given the path to
the Vulkan header source. This then enables the vulkan feature.
Qt3D used this feature to decide if it could use Vulkan directly or
not, however, since it is now built separately, it has no idea where
to find the headers, so QVulkanInstance is not properly defined.
This caused an issue when using official installers of Qt since
those are configured to support Vulkan.
So we now do a separate config check to find Vulkan for Qt3D.
When building Qt3D, you need to make sure if can find Vulkan (the same
way you configure Qt itself)
Task-number: QTBUG-90243
Change-Id: Ia05381597b4974d7b0914706ea2f607341dccacc
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
(cherry picked from commit 9a473a3c9b246f4895ae73d7060745b8b199a6c5)
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
Task-number: QTBUG-92861
Change-Id: I94ff185cf5f37b19959e620921b9c97fde1bfc07
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit d1bd4d78d7361f5d909be3184ce8bab8c5417945)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
It depends on qtmultimedia which isn't avalable in Qt 6 yet
Change-Id: I8b525bdf0a6c78d7b4b227fa679a4e94e4883395
Reviewed-by: Mike Krus <mike.krus@kdab.com>
(cherry picked from commit a790b6b5fc92afa20836ad62b5806dfcbc80230e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We already did this for the value types. As we cannot mix declarative
and procedural registration, we need to do it for the object types, too.
For declarative registration, the qmltypes files are generated at
compile time. For procedural registration, you need to manually invoke
qmlplugindump to generate them. Doing both leads to two conflicting
qmltypes files for the same module.
Fixes: QTBUG-92259
Change-Id: Ic3d9c63410f84e04cd368ddaee3a6ff2d9a3c997
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Mike Krus <mike.krus@kdab.com>
(cherry picked from commit 59fc9cacce5eca68c9dece3c30d6f11ee7693d4e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
The type in question has a Q_GADGET. It shouldn't need an explicit
metatype and the manual metatype declaration conflicts with the
automatically generated one.
Change-Id: I2a2cfafcb53f4bfbf3962ba15bc18f0f2d20a118
Reviewed-by: Mike Krus <mike.krus@kdab.com>
(cherry picked from commit 9bf40d1bed80017be065c5e9e8873b11638ac34b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The build system ended up trying to copy two different versions of
plugins.qmltypes, one auto-generated by 3DQuick Qt module and another
that was manually generated by qmlplugindump.
Since c42d558dc9ff89d452546412ee88a16ae1e324e4 landed, this uncovered
the issue and made it a fatal error.
To unblock integrations in Coin, temporarily remove the manually
generated file to avoid the duplicate copying.
This means that qmltypes support is lost for some types.
Pick-to: dev
Fixes: QTBUG-92254
Task-number: QTBUG-92259
Change-Id: I23587d6581421cb0339e82950b3604ba39dad748
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
We are hitting a race condition otherwise. This is likely due to the fact
that removing the shaders is done only once we have unloaded them from the
graphics API which technically could happen in a separate thread than the
scenegraph thread when running with Scene3D.
Change-Id: Ic914f3b305bf807081294a90250413a5d263f124
Reviewed-by: Mike Krus <mike.krus@kdab.com>
(cherry picked from commit a536039d102f911677e5efec03cc6f3d701aceac)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
Use same version than qtquick3d is using
Change-Id: Idff7881dd1ce4608915c6f3e653cf9d16f731374
Reviewed-by: Mike Krus <mike.krus@kdab.com>
(cherry picked from commit 842542e01062714eae32bea7e89a5c630c6e14b4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When adding a QObjectPicker component to a QEntity, the object couldn't
actually be picked until one of hoverEnabled, dragEnabled or priority
changed.
This fixes the issue by ensuring notifyJob is called at least once,
when the picker is initialized.
Change-Id: I5b035cf5be6ef1da35c2d24cf76bc2daaad9bc57
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
(cherry picked from commit 1641eae01636ddb82b668c4f91d2c26f89e5bc06)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Id9574cf23b9af29815d8452915cebfc380fd94d1
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
| |
operator==/!=
Pick-to: 6.0
Change-Id: I8e63400ca2b2d6d7963b8ea6f111e6e9026f1278
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
| |
- Port the qHash() functions to size_t
- Add some casts
- Adapt some types
Pick-to: 6.0
Change-Id: Ib889d46dd56c1a1c4bf6b87ae1f756c188069180
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The default is now to use the same rules as QtQuick.
If nothing is specified, will use RHI and the best surface for the
platform (Metal on Mac, DX on Windows, Vulkan if available, etc).
If Qt3D's OpenGL backend is requested via QT3D_RENDERER, will always
use OpenGL surface.
If QSG_RHI_BACKEND is set, will honour that if possible.
Otherwise will use the API requested in the constructor (which
defaults to using auto detection).
Pick-to: 6.0
Change-Id: I8941a081940c073dfcf66711a8628e8ef6fd0915
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- We cache commands and only rebuild them when really needed. When we rebuild
then, we also store the mapping between uniform location and parameter name
- When reusing a command, we only update the uniform values but expect the
mapping between to remain the same.
- When dealing with lights however, we can end up in a case where the light type
changes, and therefore so does the shader data associated. The command remains
cached as nothing really requires a rebuid. Yet, this means we could
have more or less parameters than the number of mappings we have stored
previously if the shader data defines more or less properties. To account for
this, we now rebuild the mapping when building the command or if the number of
parameters in the parameter pack is different than at the previous frame.
Change-Id: I9400fc7e5bcb4b97ac9da69cdf794010cf81103b
Pick-to: 6.0 5.15
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
|
| |
Should hopefully fix compile issues on platform when vulkan isn't found.
Change-Id: Ia54486dc160960e0e7000c7de832f154ecee8b0c
Task-number: QTBUG-90243
Pick-to: 6.0
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-89433
Change-Id: Iec372c94b541f871f3ed78843656c2dfa1a1f613
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
(cherry picked from commit 5d4a3edca84eab4453165f7d90d786a2b914f58e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Pick-to: 5.15
Fixes: QTBUG-64110
Change-Id: I09330ba29b0c120d6e7e0ae0b2bf8d4e388054e1
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I797f52d7cf4f55b5991448c0498e0b149a3dd7c6
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
| |
Haven't tried to run anything, it just builds
Change-Id: I6c2c2a949bc3892a363697cf38f1608af87c303c
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
| |
Push-to: 6.0
Change-Id: I03ff6cab88d5bb0d279a61fa0a730f32b088b481
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I98febe2ae6500f2eaf44b489283f597c3c20c272
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: I3fa63c558033488122c8c2ff60d4b9cd33cdbf2b
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
Making it more readable and add details of failed FBO creation.
Pick-to: 6.0
Change-Id: I14a65a5ed6165597acc52f38dc5d1cb908732911
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
| |
Updates to support building with Qt6 and Qt5.15
Change-Id: I9f06d810c943a348e6a060f4ea35ed870f21694a
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
| |
Pick-to: 6.0
Change-Id: I9a4075312db7c385d3ba49176dea8ca0c06061a7
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
| |
Use lambdas with local typedefs for index type
Change-Id: I2876c71d619815e7e777f936e8bb0835b8269336
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
| |
Pick-to: 6.0
Change-Id: I3b074a02ff47e33472d9506c6dccab281f555e74
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
| |
So that anything relying on that env variable to detect the Qt3D rendering
backend gets a valid value.
Pick-to: 6.0
Change-Id: I291ec03720fd6127900f43888a7e40ab382a075a
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
| |
Change-Id: Iacb06149178f02811885f6fbee88713894b5a7b6
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
| |
Change-Id: Iba91d91d4fcd292d1e1bb388db63800893c59fc8
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Built with QtQuick disabled.
- C++17 required
- minor issues with QList vs QVector
- QMutexLocker templated vs not
- moc forward declaration handling
Change-Id: I5540625e74e2c009e528f56203e4b88be8d54599
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
|
|
| |
Facilitates building against Qt 5.15.
Will migrate to std::vector over time.
Change-Id: I5db14c9ea95b38e4b2d596d7397fef76f6baf118
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|
|
|
|
|
|
| |
Pick-to: 6.0 5.15
Change-Id: I57f758f279d62ee4508914d12f99ee68cd41a2c7
Reviewed-by: Mike Krus <mike.krus@kdab.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Q_MOVABLE_TYPE was conceived before C++ had move semantics. Now, with
move semantics, its name is misleading. Q_RELOCATABLE_TYPE was
introduced as a synonym to Q_MOVABLE_TYPE. Usage of Q_MOVABLE_TYPE
is discouraged now. This patch replaces all usages of Q_MOVABLE_TYPE
by Q_RELOCATABLE_TYPE in Qt3D. As the two are synonymous, this
patch should have no impact on users.
Task-number: QTBUG-86829
Change-Id: Ie63323a692e8937fa72f0225b48ccb703f479c47
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
|