[][src]Struct qt_3d_render::QMemoryBarrier

#[repr(C)]pub struct QMemoryBarrier { /* fields omitted */ }

Class to emplace a memory barrier

C++ class: Qt3DRender::QMemoryBarrier.

C++ documentation:

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.

C++ documentation:

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<Ptr<QNode>>) -> QBox<QMemoryBarrier>[src]

Default constructs an instance of QMemoryBarrier.

Calls C++ function: [constructor] void Qt3DRender::QMemoryBarrier::QMemoryBarrier(Qt3DCore::QNode* parent = …).

C++ documentation:

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().

C++ documentation:

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(
    &self,
    arg1: Call,
    arg2: c_int,
    arg3: *mut *mut c_void
) -> c_int
[src]

Calls C++ function: virtual int Qt3DRender::QMemoryBarrier::qt_metacall(QMetaObject::Call arg1, int arg2, void** arg3).

pub unsafe fn qt_metacast(&self, arg1: *const c_char) -> *mut c_void[src]

Calls C++ function: virtual void* Qt3DRender::QMemoryBarrier::qt_metacast(const char* arg1).

pub unsafe fn set_wait_operations(&self, operations: QFlags<Operation>)[src]

See also waitOperations().

Calls C++ function: [slot] void Qt3DRender::QMemoryBarrier::setWaitOperations(QFlags<Qt3DRender::QMemoryBarrier::Operation> operations).

C++ documentation:

See also waitOperations().

pub unsafe fn static_meta_object() -> Ref<QMetaObject>[src]

Returns a reference to the staticMetaObject field.

pub unsafe fn tr(
    s: *const c_char,
    c: *const c_char,
    n: c_int
) -> CppBox<QString>
[src]

Calls C++ function: static QString Qt3DRender::QMemoryBarrier::tr(const char* s, const char* c, int n).

pub unsafe fn tr_utf8(
    s: *const c_char,
    c: *const c_char,
    n: c_int
) -> CppBox<QString>
[src]

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.

C++ documentation:

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) -> QPtr<QFrameGraphNode>[src]

Returns a pointer to the parent.

Calls C++ function: Qt3DRender::QFrameGraphNode* Qt3DRender::QFrameGraphNode::parentFrameGraphNode() const.

C++ documentation:

Returns a pointer to the parent.

pub unsafe fn qt_metacall(
    &self,
    arg1: Call,
    arg2: c_int,
    arg3: *mut *mut c_void
) -> c_int
[src]

Calls C++ function: virtual int Qt3DRender::QFrameGraphNode::qt_metacall(QMetaObject::Call arg1, int arg2, void** arg3).

pub unsafe fn qt_metacast(&self, arg1: *const c_char) -> *mut c_void[src]

Calls C++ function: virtual void* Qt3DRender::QFrameGraphNode::qt_metacast(const char* arg1).

Trait Implementations

impl CppDeletable for QMemoryBarrier[src]

unsafe fn delete(&self)[src]

Destroys the instance of QMemoryBarrier.

Calls C++ function: virtual [destructor] void Qt3DRender::QMemoryBarrier::~QMemoryBarrier().

C++ documentation:

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 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).

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).

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).

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).

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).

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).

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).

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).

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).

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, U> CastInto<U> for T where
    U: CastFrom<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> StaticUpcast<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.