QMemoryBarrier#
Class to emplace a memory barrier. More…
Synopsis#
Functions#
def
waitOperations
()
Slots#
def
setWaitOperations
(operations)
Signals#
def
waitOperationsChanged
(barrierTypes)
Note
This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE
Detailed Description#
A QMemoryBarrier
FrameGraph node is used to emplace a specific memory barrier at a specific time of the rendering. This is required to properly synchronize drawing and compute commands on the GPU.
The barrier defines the ordering of memory operations issued by a prior command. This means that if command1 is manipulating a buffer that is to be used as a vertex attribute buffer in a following command2, then the memory barrier should be placed after command1 and setting the appropriate barrier type for vertex attribute buffer.
When a 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.
For OpenGL rendering, this page gives more info about the Memory Model
- class PySide6.Qt3DRender.Qt3DRender.QMemoryBarrier([parent=None])#
- Parameters:
parent –
PySide6.Qt3DCore.Qt3DCore.QNode
- PySide6.Qt3DRender.Qt3DRender.QMemoryBarrier.Operation#
(inherits enum.Flag
) This enum type describes types of buffer to be cleared.
Constant
Description
Qt3DRender.QMemoryBarrier.None
Qt3DRender.QMemoryBarrier.ElementArray
Qt3DRender.QMemoryBarrier.Uniform
Qt3DRender.QMemoryBarrier.TextureFetch
Qt3DRender.QMemoryBarrier.ShaderImageAccess
Qt3DRender.QMemoryBarrier.Command
Qt3DRender.QMemoryBarrier.PixelBuffer
Qt3DRender.QMemoryBarrier.TextureUpdate
Qt3DRender.QMemoryBarrier.BufferUpdate
Qt3DRender.QMemoryBarrier.FrameBuffer
Qt3DRender.QMemoryBarrier.TransformFeedback
Qt3DRender.QMemoryBarrier.AtomicCounter
Qt3DRender.QMemoryBarrier.ShaderStorage
Qt3DRender.QMemoryBarrier.QueryBuffer
Qt3DRender.QMemoryBarrier.VertexAttributeArray
Qt3DRender.QMemoryBarrier.All
- PySide6.Qt3DRender.Qt3DRender.QMemoryBarrier.setWaitOperations(operations)#
- Parameters:
operations –
Operations
- PySide6.Qt3DRender.Qt3DRender.QMemoryBarrier.waitOperations()#
- Return type:
Operations
- PySide6.Qt3DRender.Qt3DRender.QMemoryBarrier.waitOperationsChanged(barrierTypes)#
- Parameters:
barrierTypes –
Operations