Revision control

++ // Copyright (C) 2026 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
++
++ // A container pass references one of two leaf passes through a SubRenderPass.
++ // Toggling root.useLeafAAsSubPass flips which leaf is the sub-pass, exercising
++ // the runtime re-derivation of the top-level/sub-pass classification.
++
++ import QtQuick
++ import QtQuick3D
++ import QtQuick3D.Helpers
++
++ Item {
++ id: root
++ width: 200
++ height: 200
++
++ property bool useLeafAAsSubPass: false
++
++ View3D {
++ anchors.fill: parent
++ renderOverrides: View3D.DisableInternalPasses
++
++ PerspectiveCamera { position: Qt.vector3d(0, 0, 300) }
++
++ RenderPassTexture { id: texA; format: RenderPassTexture.RGBA8 }
++ RenderPassTexture { id: texB; format: RenderPassTexture.RGBA8 }
++ RenderPassTexture { id: texMain; format: RenderPassTexture.RGBA8 }
++
++ RenderPass {
++ id: leafA
++ objectName: "leafA"
++ commands: [
++ ColorAttachment { target: texA },
++ DepthStencilAttachment {},
++ RenderablesFilter { renderableTypes: RenderablesFilter.None }
++ ]
++ }
++ RenderPass {
++ id: leafB
++ objectName: "leafB"
++ commands: [
++ ColorAttachment { target: texB },
++ DepthStencilAttachment {},
++ RenderablesFilter { renderableTypes: RenderablesFilter.None }
++ ]
++ }
++ RenderPass {
++ id: container
++ objectName: "container"
++ commands: [
++ ColorAttachment { target: texMain },
++ DepthStencilAttachment {},
++ RenderablesFilter { renderableTypes: RenderablesFilter.None },
++ SubRenderPass { renderPass: root.useLeafAAsSubPass ? leafA : leafB }
++ ]
++ }
++
++ SimpleQuadRenderer {
++ texture: Texture {
++ textureProvider: RenderOutputProvider {
++ textureSource: RenderOutputProvider.UserPassTexture
++ renderPass: container
++ }
++ }
++ }
++ }
++ }