[−][src]Struct qt_3d_render::QMemoryBarrier
Class to emplace a memory barrier
C++ class: Qt3DRender::QMemoryBarrier
.
Class to emplace a memory barrier
A Qt3DRender::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
Methods
impl QMemoryBarrier
[src]
pub fn slot_set_wait_operations(&self) -> Receiver<(c_int,)>
[src]
See also waitOperations().
Returns a built-in Qt slot Qt3DRender::QMemoryBarrier::setWaitOperations
that can be passed to qt_core::Signal::connect
.
See also waitOperations().
pub fn wait_operations_changed(&self) -> Signal<(c_int,)>
[src]
Returns a built-in Qt signal Qt3DRender::QMemoryBarrier::waitOperationsChanged
that can be passed to qt_core::Signal::connect
.
pub unsafe fn meta_object(&self) -> Ptr<QMetaObject>
[src]
Calls C++ function: virtual const QMetaObject* Qt3DRender::QMemoryBarrier::metaObject() const
.
pub unsafe fn new_1a(
parent: impl CastInto<MutPtr<QNode>>
) -> QBox<QMemoryBarrier>
[src]
parent: impl CastInto<MutPtr<QNode>>
) -> QBox<QMemoryBarrier>
Default constructs an instance of QMemoryBarrier.
Calls C++ function: [constructor] void Qt3DRender::QMemoryBarrier::QMemoryBarrier(Qt3DCore::QNode* parent = …)
.
Default constructs an instance of QMemoryBarrier.
pub unsafe fn new_0a() -> QBox<QMemoryBarrier>
[src]
Class to emplace a memory barrier
Calls C++ function: [constructor] void Qt3DRender::QMemoryBarrier::QMemoryBarrier()
.
Class to emplace a memory barrier
A Qt3DRender::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
pub unsafe fn qt_metacall(
&mut self,
arg1: Call,
arg2: c_int,
arg3: impl CastInto<MutPtr<*mut c_void>>
) -> c_int
[src]
&mut self,
arg1: Call,
arg2: c_int,
arg3: impl CastInto<MutPtr<*mut c_void>>
) -> c_int
Calls C++ function: virtual int Qt3DRender::QMemoryBarrier::qt_metacall(QMetaObject::Call arg1, int arg2, void** arg3)
.
pub unsafe fn qt_metacast(
&mut self,
arg1: impl CastInto<Ptr<c_char>>
) -> MutPtr<c_void>
[src]
&mut self,
arg1: impl CastInto<Ptr<c_char>>
) -> MutPtr<c_void>
Calls C++ function: virtual void* Qt3DRender::QMemoryBarrier::qt_metacast(const char* arg1)
.
pub unsafe fn set_wait_operations(&mut self, operations: QFlags<Operation>)
[src]
See also waitOperations().
Calls C++ function: [slot] void Qt3DRender::QMemoryBarrier::setWaitOperations(QFlags<Qt3DRender::QMemoryBarrier::Operation> operations)
.
See also waitOperations().
pub unsafe fn static_meta_object() -> Ref<QMetaObject>
[src]
Returns a reference to the staticMetaObject
field.
pub unsafe fn tr(
s: impl CastInto<Ptr<c_char>>,
c: impl CastInto<Ptr<c_char>>,
n: c_int
) -> CppBox<QString>
[src]
s: impl CastInto<Ptr<c_char>>,
c: impl CastInto<Ptr<c_char>>,
n: c_int
) -> CppBox<QString>
Calls C++ function: static QString Qt3DRender::QMemoryBarrier::tr(const char* s, const char* c, int n)
.
pub unsafe fn tr_utf8(
s: impl CastInto<Ptr<c_char>>,
c: impl CastInto<Ptr<c_char>>,
n: c_int
) -> CppBox<QString>
[src]
s: impl CastInto<Ptr<c_char>>,
c: impl CastInto<Ptr<c_char>>,
n: c_int
) -> CppBox<QString>
Calls C++ function: static QString Qt3DRender::QMemoryBarrier::trUtf8(const char* s, const char* c, int n)
.
pub unsafe fn wait_operations(&self) -> QFlags<Operation>
[src]
See also setWaitOperations().
Calls C++ function: QFlags<Qt3DRender::QMemoryBarrier::Operation> Qt3DRender::QMemoryBarrier::waitOperations() const
.
See also setWaitOperations().
Methods from Deref<Target = QFrameGraphNode>
pub unsafe fn meta_object(&self) -> Ptr<QMetaObject>
[src]
Calls C++ function: virtual const QMetaObject* Qt3DRender::QFrameGraphNode::metaObject() const
.
pub unsafe fn parent_frame_graph_node(&self) -> QMutPtr<QFrameGraphNode>
[src]
Returns a pointer to the parent.
Calls C++ function: Qt3DRender::QFrameGraphNode* Qt3DRender::QFrameGraphNode::parentFrameGraphNode() const
.
Returns a pointer to the parent.
pub unsafe fn qt_metacall(
&mut self,
arg1: Call,
arg2: c_int,
arg3: impl CastInto<MutPtr<*mut c_void>>
) -> c_int
[src]
&mut self,
arg1: Call,
arg2: c_int,
arg3: impl CastInto<MutPtr<*mut c_void>>
) -> c_int
Calls C++ function: virtual int Qt3DRender::QFrameGraphNode::qt_metacall(QMetaObject::Call arg1, int arg2, void** arg3)
.
pub unsafe fn qt_metacast(
&mut self,
arg1: impl CastInto<Ptr<c_char>>
) -> MutPtr<c_void>
[src]
&mut self,
arg1: impl CastInto<Ptr<c_char>>
) -> MutPtr<c_void>
Calls C++ function: virtual void* Qt3DRender::QFrameGraphNode::qt_metacast(const char* arg1)
.
Trait Implementations
impl CppDeletable for QMemoryBarrier
[src]
unsafe fn delete(&mut self)
[src]
Destroys the instance of QMemoryBarrier.
Calls C++ function: virtual [destructor] void Qt3DRender::QMemoryBarrier::~QMemoryBarrier()
.
Destroys the instance of QMemoryBarrier.
impl Deref for QMemoryBarrier
[src]
type Target = QFrameGraphNode
The resulting type after dereferencing.
fn deref(&self) -> &QFrameGraphNode
[src]
Calls C++ function: Qt3DRender::QFrameGraphNode* static_cast<Qt3DRender::QFrameGraphNode*>(Qt3DRender::QMemoryBarrier* ptr)
.
impl DerefMut for QMemoryBarrier
[src]
fn deref_mut(&mut self) -> &mut QFrameGraphNode
[src]
Calls C++ function: Qt3DRender::QFrameGraphNode* static_cast<Qt3DRender::QFrameGraphNode*>(Qt3DRender::QMemoryBarrier* ptr)
.
impl DynamicCast<QMemoryBarrier> for QFrameGraphNode
[src]
unsafe fn dynamic_cast(ptr: Ptr<QFrameGraphNode>) -> Ptr<QMemoryBarrier>
[src]
Calls C++ function: Qt3DRender::QMemoryBarrier* dynamic_cast<Qt3DRender::QMemoryBarrier*>(Qt3DRender::QFrameGraphNode* ptr)
.
unsafe fn dynamic_cast_mut(
ptr: MutPtr<QFrameGraphNode>
) -> MutPtr<QMemoryBarrier>
[src]
ptr: MutPtr<QFrameGraphNode>
) -> MutPtr<QMemoryBarrier>
Calls C++ function: Qt3DRender::QMemoryBarrier* dynamic_cast<Qt3DRender::QMemoryBarrier*>(Qt3DRender::QFrameGraphNode* ptr)
.
impl DynamicCast<QMemoryBarrier> for QNode
[src]
unsafe fn dynamic_cast(ptr: Ptr<QNode>) -> Ptr<QMemoryBarrier>
[src]
Calls C++ function: Qt3DRender::QMemoryBarrier* dynamic_cast<Qt3DRender::QMemoryBarrier*>(Qt3DCore::QNode* ptr)
.
unsafe fn dynamic_cast_mut(ptr: MutPtr<QNode>) -> MutPtr<QMemoryBarrier>
[src]
Calls C++ function: Qt3DRender::QMemoryBarrier* dynamic_cast<Qt3DRender::QMemoryBarrier*>(Qt3DCore::QNode* ptr)
.
impl DynamicCast<QMemoryBarrier> for QObject
[src]
unsafe fn dynamic_cast(ptr: Ptr<QObject>) -> Ptr<QMemoryBarrier>
[src]
Calls C++ function: Qt3DRender::QMemoryBarrier* dynamic_cast<Qt3DRender::QMemoryBarrier*>(QObject* ptr)
.
unsafe fn dynamic_cast_mut(ptr: MutPtr<QObject>) -> MutPtr<QMemoryBarrier>
[src]
Calls C++ function: Qt3DRender::QMemoryBarrier* dynamic_cast<Qt3DRender::QMemoryBarrier*>(QObject* ptr)
.
impl StaticDowncast<QMemoryBarrier> for QFrameGraphNode
[src]
unsafe fn static_downcast(ptr: Ptr<QFrameGraphNode>) -> Ptr<QMemoryBarrier>
[src]
Calls C++ function: Qt3DRender::QMemoryBarrier* static_cast<Qt3DRender::QMemoryBarrier*>(Qt3DRender::QFrameGraphNode* ptr)
.
unsafe fn static_downcast_mut(
ptr: MutPtr<QFrameGraphNode>
) -> MutPtr<QMemoryBarrier>
[src]
ptr: MutPtr<QFrameGraphNode>
) -> MutPtr<QMemoryBarrier>
Calls C++ function: Qt3DRender::QMemoryBarrier* static_cast<Qt3DRender::QMemoryBarrier*>(Qt3DRender::QFrameGraphNode* ptr)
.
impl StaticDowncast<QMemoryBarrier> for QNode
[src]
unsafe fn static_downcast(ptr: Ptr<QNode>) -> Ptr<QMemoryBarrier>
[src]
Calls C++ function: Qt3DRender::QMemoryBarrier* static_cast<Qt3DRender::QMemoryBarrier*>(Qt3DCore::QNode* ptr)
.
unsafe fn static_downcast_mut(ptr: MutPtr<QNode>) -> MutPtr<QMemoryBarrier>
[src]
Calls C++ function: Qt3DRender::QMemoryBarrier* static_cast<Qt3DRender::QMemoryBarrier*>(Qt3DCore::QNode* ptr)
.
impl StaticDowncast<QMemoryBarrier> for QObject
[src]
unsafe fn static_downcast(ptr: Ptr<QObject>) -> Ptr<QMemoryBarrier>
[src]
Calls C++ function: Qt3DRender::QMemoryBarrier* static_cast<Qt3DRender::QMemoryBarrier*>(QObject* ptr)
.
unsafe fn static_downcast_mut(ptr: MutPtr<QObject>) -> MutPtr<QMemoryBarrier>
[src]
Calls C++ function: Qt3DRender::QMemoryBarrier* static_cast<Qt3DRender::QMemoryBarrier*>(QObject* ptr)
.
impl StaticUpcast<QFrameGraphNode> for QMemoryBarrier
[src]
unsafe fn static_upcast(ptr: Ptr<QMemoryBarrier>) -> Ptr<QFrameGraphNode>
[src]
Calls C++ function: Qt3DRender::QFrameGraphNode* static_cast<Qt3DRender::QFrameGraphNode*>(Qt3DRender::QMemoryBarrier* ptr)
.
unsafe fn static_upcast_mut(
ptr: MutPtr<QMemoryBarrier>
) -> MutPtr<QFrameGraphNode>
[src]
ptr: MutPtr<QMemoryBarrier>
) -> MutPtr<QFrameGraphNode>
Calls C++ function: Qt3DRender::QFrameGraphNode* static_cast<Qt3DRender::QFrameGraphNode*>(Qt3DRender::QMemoryBarrier* ptr)
.
impl StaticUpcast<QNode> for QMemoryBarrier
[src]
unsafe fn static_upcast(ptr: Ptr<QMemoryBarrier>) -> Ptr<QNode>
[src]
Calls C++ function: Qt3DCore::QNode* static_cast<Qt3DCore::QNode*>(Qt3DRender::QMemoryBarrier* ptr)
.
unsafe fn static_upcast_mut(ptr: MutPtr<QMemoryBarrier>) -> MutPtr<QNode>
[src]
Calls C++ function: Qt3DCore::QNode* static_cast<Qt3DCore::QNode*>(Qt3DRender::QMemoryBarrier* ptr)
.
impl StaticUpcast<QObject> for QMemoryBarrier
[src]
unsafe fn static_upcast(ptr: Ptr<QMemoryBarrier>) -> Ptr<QObject>
[src]
Calls C++ function: QObject* static_cast<QObject*>(Qt3DRender::QMemoryBarrier* ptr)
.
unsafe fn static_upcast_mut(ptr: MutPtr<QMemoryBarrier>) -> MutPtr<QObject>
[src]
Calls C++ function: QObject* static_cast<QObject*>(Qt3DRender::QMemoryBarrier* ptr)
.
Auto Trait Implementations
impl RefUnwindSafe for QMemoryBarrier
impl Send for QMemoryBarrier
impl Sync for QMemoryBarrier
impl Unpin for QMemoryBarrier
impl UnwindSafe for QMemoryBarrier
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> CastInto<U> for T where
U: CastFrom<T>,
[src]
U: CastFrom<T>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> StaticUpcast<T> for T
[src]
unsafe fn static_upcast(ptr: Ptr<T>) -> Ptr<T>
[src]
unsafe fn static_upcast_mut(ptr: MutPtr<T>) -> MutPtr<T>
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,