Класс QMemoryBarrier
(Qt3DRender::QMemoryBarrier)Класс для размещения барьера памяти Подробнее...
| Заголовок: | #include <QMemoryBarrier> |
| qmake: | QT += 3drender |
| С момента: | Qt 5.9 |
| Инициализируется: | MemoryBarrier |
| Наследует: | Qt3DRender::QFrameGraphNode |
Типы
| Перечисление | Operation { None, ElementArray, Uniform, TextureFetch, ..., All } |
| Флаги | Operations |
Открытые функции
| QMemoryBarrier(Qt3DCore::QNode *parent = nullptr) | |
| ~QMemoryBarrier() | |
| Operations | waitOperations() const |
- 1 открытая функция унаследованная от Qt3DRender::QFrameGraphNode
- 11 открытых функций унаследованных от Qt3DCore::QNode
- 32 открытых функций унаследованных от QObject
Открытые слоты
| void | setWaitOperations(QMemoryBarrier::Operations operations) |
- 3 открытых слота унаследованных от Qt3DCore::QNode
- 1 открытый слот унаследованный от QObject
Сигналы
| void | waitOperationsChanged(QMemoryBarrier::Operations barrierTypes) |
- 4 сигнала унаследованных от Qt3DCore::QNode
- 2 сигнала унаследованных от QObject
Защищённые функции
| QMemoryBarrier(QMemoryBarrierPrivate &dd, Qt3DCore::QNode *parent = nullptr) |
- 1 защищённая функция унаследованная от Qt3DRender::QFrameGraphNode
- 2 защищённых функций унаследованных от Qt3DCore::QNode
- 9 защищённых функций унаследованных от QObject
Дополнительные унаследованные члены
- 3 свойства, унаследованные от Qt3DCore::QNode
- 1 свойство, унаследованное от QObject
- 11 статических открытых членов, унаследованных от QObject
Подробное описание
Класс для размещения барьера памяти
Узел Qt3DRender::QMemoryBarrier FrameGraph используется для размещения определенного барьера памяти в определенное время рендеринга. Это необходимо для правильной синхронизации команд рисования и вычислений на графическом процессоре.
Барьер определяет порядок операций с памятью, выпущенных предыдущей командой. Это означает, что если команда1 манипулирует буфером, который будет использоваться в качестве буфера атрибутов вершин в последующей команде2, то барьер памяти должен быть размещен после команды1 и установлен соответствующий тип барьера для буфера атрибутов вершин.
Когда узел QMemoryBarrier найден в ветви FrameGraph, барьер будет применен перед любой командой рисования или вычисления, даже если эти команды определены глубже в ветви.
Для рендеринга OpenGL на этой странице представлена дополнительная информация о модели памяти
Документация по типу члена
перечисление QMemoryBarrier::OperationФлаги 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 — псевдоним для QFlags<Operation>. Он хранит результат операции OR из значений Operation.
Документация по функциям членов
QMemoryBarrier::QMemoryBarrier(Qt3DCore::QNode *parent = nullptr)
Конструктор по умолчанию для создания экземпляра QMemoryBarrier.
[protected] QMemoryBarrier::QMemoryBarrier(QMemoryBarrierPrivate &dd, Qt3DCore::QNode *parent = nullptr)
Копирующий конструктор.
QMemoryBarrier::~QMemoryBarrier()
Удаляет экземпляр QMemoryBarrier.
[slot] void QMemoryBarrier::setWaitOperations(QMemoryBarrier::Operations operations)
См. также waitOperations().
Operations QMemoryBarrier::waitOperations() const
См. также setWaitOperations().
[signal] void QMemoryBarrier::waitOperationsChanged(QMemoryBarrier::Operations barrierTypes)
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qt3drender-qmemorybarrier.html