[qt/qt/qtquick3dphysics]: Summary of bulk changes made

KDE Git Services - Bulk Change <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git repository change summary for qt/qt/qtquick3dphysics
Pushed by mirror-service into branch 'dev'.
Changed from 4d32481dc85a34e72e786b98f587417fa2c1cc0f to 07dd4881d9a272b891e446c2588a9f3819cccd0f
Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository.

This change contains the following new commits:

Git commit 4d2ecc717c30eaa600b1adc9d60c8b1df4e48039 by Jonas Karlsson on 07/08/2026 at 09:47..
PhysX: Fix stack-buffer-overflow in CCD sweep

CCDSweep() loaded lastTm0.p/lastTm1.p with an aligned 16-byte SIMD
load (V3LoadA). PxVec3 p is the last member of the 28-byte
PxTransform, so this load always reads 4 bytes past the end of the
struct. The same function already uses the safe unaligned load
(V3LoadU) for transform0.p/transform1.p a few lines below, so this
was an inconsistency in the vendored code.

This went unnoticed under ASan until CCD started running
unconditionally for every scene and a sphere-vs-box CCD sweep test
was added, both of which first exercise this code path.

Pick-to: 6.12 6.11 6.8
Change-Id: I8c0e6e3e2ff2be2c826c48f0b0dbd5d1f26cbeb1
Reviewed-by: Andrei Yankovich <[email protected]>
Reviewed-by: Kristoffer Skau <[email protected]>
https://invent.kde.org/qt/qt/qtquick3dphysics/-/commit/4d2ecc717c30eaa600b1adc9d60c8b1df4e48039

Git commit 07dd4881d9a272b891e446c2588a9f3819cccd0f by Jonas Karlsson (on behalf of Andrei Yankovich) on 07/08/2026 at 09:47..
Allow configuring CCD type selectively per object

In large scenes, enabling CCD globally for all scene objects is usually
counterproductive due to performance overhead, especially given that
physics computation runs on the CPU. Typically, CCD is only needed for
specific fast-moving objects, such as bullets or projectiles, as is
standard practice in other engines.

Add DynamicRigidBody::ccd property (supporting None, SweepBasedCCD, and
SpeculativeCCD) so CCD can be configured per object. Sweep-based CCD is
applied for non-kinematic bodies, while kinematic bodies automatically
fall back to Speculative CCD as PhysX does not support sweep-based CCD
for them.

PhysicsWorld::enableCCD is deprecated in favor of DynamicRigidBody::ccd.
CCD is now always available at the scene level (setting
PxSceneFlag::eENABLE_CCD has negligible cost when no body opts in, since
PhysX's CCD pass bails out immediately when no objects have CCD flags).

For compatibility with existing content, setting PhysicsWorld::enableCCD
to true still enables CCD for all bodies that do not explicitly override
their ccd property (using SweepBasedCCD for dynamic bodies and
SpeculativeCCD for kinematic ones).

[ChangeLog][QtQuick3D][DynamicRigidBody] Added ccd property to allow
configuring continuous collision detection type (None, SweepBasedCCD,
SpeculativeCCD) per object. [ChangeLog][QtQuick3D][PhysicsWorld]
Deprecated enableCCD in favor of DynamicRigidBody::ccd. Setting
PhysicsWorld::enableCCD to true serves as a global fallback for bodies
with ccd set to None.

Change-Id: I4132f17f9ab7b995b852b1d519c9ae90a906d3f4
Reviewed-by: Andrei Yankovich <[email protected]>
Reviewed-by: Jonas Karlsson <[email protected]>
https://invent.kde.org/qt/qt/qtquick3dphysics/-/commit/07dd4881d9a272b891e446c2588a9f3819cccd0f
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.