Don't assign a dependency index to user sub-passes


The dependency-index loop in QQuick3DSceneRenderer::synchronize()
assigned every user pass the DFS index of its parent spatial node;
this has its own issues but that will be addressed in a follow-up
change. Since a sub-pass is invoked by its parent pass and should not
participate in top-level ordering. When such a sub-pass was also
scheduled directly, for example because its output was consumed through
a RenderOutputProvider, its non-zero index sorted it ahead of the genuine
top-level passes in the scheduled list, so the top-level passes were no
longer ordered correctly.

This change also correct two comments that described the scheduling
order as "QML declaration order". The order actually follows the scene
manager's userRenderPasses list, which reflects the order the passes
were first synced and is not a guaranteed QML declaration order.

Add a regression test that declares a sub-pass under a Node and verifies
its backend pass keeps a zero dependency index.

Pick-to: 6.12 6.11
Task-number: QTBUG-148554
Change-Id: I784936079694988e8a97ab961f256862b6546cae
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
commit2cccf6ce84144679d74c94c7dbfc4fef788e50a9
parent348c606f7eea1f05147fe084f313586586206ba5
authorChristian Strømme <christian.stromme@qt.io>
committerChristian Strømme <christian.stromme@qt.io>
commit timeWed, 9 Sep 2026 06:02:40 +0000