QMemoryBarrier 類

( Qt3DRender::QMemoryBarrier )

Class to emplace a memory barrier 更多...

頭: #include <QMemoryBarrier>
qmake: QT += 3drender
Since: Qt 5.9
實例化: MemoryBarrier
繼承: Qt3DRender::QFrameGraphNode

公共類型

enum 操作 { None, ElementArray, Uniform, TextureFetch, ..., All }
flags Operations

公共函數

QMemoryBarrier (Qt3DCore::QNode * parent = nullptr)
~QMemoryBarrier ()
操作 waitOperations () const

公共槽

void setWaitOperations (QMemoryBarrier::Operations operations )

信號

void waitOperationsChanged (QMemoryBarrier::Operations barrierTypes )

保護函數

QMemoryBarrier (QMemoryBarrierPrivate & dd , Qt3DCore::QNode * parent = nullptr)

額外繼承成員

詳細描述

Class to emplace a memory barrier

A Qt3DRender::QMemoryBarrier FrameGraph 節點用於在特定渲染時,安放特定內存屏障。這要求在 GPU 正確同步繪製和計算命令。

屏障定義由先前命令,發齣的內存操作次序。這意味著,若 command1 正操縱將緊跟 command2 之後用作頂點屬性緩衝的緩衝,那麼內存屏障應放置在 command1 之後並為頂點屬性緩衝設置閤適屏障類型。

QMemoryBarrier node is found in a FrameGraph branch, the barrier will be enforced prior to any draw or compute command even if these are defined deeper in the branch.

對於 OpenGL 渲染,此頁給齣更多信息關於 內存模型

成員類型文檔編製

enum QMemoryBarrier:: 操作
flags QMemoryBarrier:: Operations

此枚舉類型描述要清零的緩衝類型。

常量
Qt3DRender::QMemoryBarrier::None 0
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::All 0xFFFFFFFF

Operations 類型是 typedef 對於 QFlags <Operation>。它存儲 Operation 值的 OR 組閤。

成員函數文檔編製

QMemoryBarrier:: QMemoryBarrier ( Qt3DCore::QNode * parent = nullptr)

Default constructs an instance of QMemoryBarrier.

[protected] QMemoryBarrier:: QMemoryBarrier ( QMemoryBarrierPrivate & dd , Qt3DCore::QNode * parent = nullptr)

Copy constructor.

QMemoryBarrier:: ~QMemoryBarrier ()

Destroys the instance of QMemoryBarrier.

[slot] void QMemoryBarrier:: setWaitOperations ( QMemoryBarrier::Operations operations )

另請參閱 waitOperations ().

Operations QMemoryBarrier:: waitOperations () const

另請參閱 setWaitOperations ().

[signal] void QMemoryBarrier:: waitOperationsChanged ( QMemoryBarrier::Operations barrierTypes )