Sur cette page

Qt3DRender::QMemoryBarrier Class

class Qt3DRender::QMemoryBarrier

Classe permettant de placer une barrière mémoire. Plus d'informations...

En-tête : #include <QMemoryBarrier>
CMake : find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake : QT += 3drender
En QML : MemoryBarrier
Hérite : Qt3DRender::QFrameGraphNode
Statut : Déclassé

Types publics

enum Operation { None, ElementArray, Uniform, TextureFetch, ShaderImageAccess, …, All }
flags Operations

Description détaillée

Un nœud Qt3DRender::QMemoryBarrier FrameGraph est utilisé pour placer une barrière mémoire spécifique à un moment précis du rendu. Cela est nécessaire pour synchroniser correctement les commandes de dessin et de calcul sur le GPU.

La barrière définit l'ordre des opérations de mémoire émises par une commande antérieure. Cela signifie que si la commande 1 manipule un tampon qui sera utilisé comme tampon d'attribut de sommet dans la commande 2 suivante, la barrière mémoire doit être placée après la commande 1 et doit définir le type de barrière approprié pour le tampon d'attribut de sommet.

Lorsqu'un noeud QMemoryBarrier est trouvé dans une branche FrameGraph, la barrière sera appliquée avant toute commande de dessin ou de calcul, même si celles-ci sont définies plus loin dans la branche.

Pour le rendu OpenGL, cette page donne plus d'informations sur le modèle de mémoire.

Type de membre Documentation

enum QMemoryBarrier::Operation
flags QMemoryBarrier::Operations

Cette énumération décrit les types de tampons à effacer.

ConstanteValeur
Qt3DRender::QMemoryBarrier::None0
Qt3DRender::QMemoryBarrier::ElementArray(1 << 1)
Qt3DRender::QMemoryBarrier::Uniform(1 << 2)
Qt3DRender::QMemoryBarrier::TextureFetch(1 << 3)
Qt3DRender::QMemoryBarrier::ShaderImageAccess(1 << 4)
Qt3DRender::QMemoryBarrier::Command(1 << 5)
Qt3DRender::QMemoryBarrier::PixelBuffer(1 << 6)
Qt3DRender::QMemoryBarrier::TextureUpdate(1 << 7)
Qt3DRender::QMemoryBarrier::BufferUpdate(1 << 8)
Qt3DRender::QMemoryBarrier::FrameBuffer(1 << 9)
Qt3DRender::QMemoryBarrier::TransformFeedback(1 << 10)
Qt3DRender::QMemoryBarrier::AtomicCounter(1 << 11)
Qt3DRender::QMemoryBarrier::ShaderStorage(1 << 12)
Qt3DRender::QMemoryBarrier::QueryBuffer(1 << 13)
Qt3DRender::QMemoryBarrier::VertexAttributeArray(1 << 0)
Qt3DRender::QMemoryBarrier::All0xFFFFFFFF

Le type Opérations est un typedef pour QFlags<Operation>. Il stocke une combinaison OU de valeurs d'opération.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.