Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QMetalComputePipeline Struct Reference

#include <qrhimetal_p.h>

Inheritance diagram for QMetalComputePipeline:
Collaboration diagram for QMetalComputePipeline:

Public Member Functions

 QMetalComputePipeline (QRhiImplementation *rhi)
 ~QMetalComputePipeline ()
void destroy () override
 Releases (or requests deferred releasing of) the underlying native graphics resources.
bool create () override
Public Member Functions inherited from QRhiComputePipeline
QRhiResource::Type resourceType () const override
Flags flags () const
void setFlags (Flags f)
 Sets the flags f.
QRhiShaderStage shaderStage () const
void setShaderStage (const QRhiShaderStage &stage)
 Sets the shader to use.
QRhiShaderResourceBindingsshaderResourceBindings () const
void setShaderResourceBindings (QRhiShaderResourceBindings *srb)
 Associates with srb describing the resource binding layout and the resources (QRhiBuffer, QRhiTexture) themselves.
Public Member Functions inherited from QRhiResource
virtual ~QRhiResource ()
 Destructor.
void deleteLater ()
 When called without a frame being recorded, this function is equivalent to deleting the object.
QByteArray name () const
void setName (const QByteArray &name)
 Sets a name for the object.
quint64 globalResourceId () const
QRhirhi () const

Public Attributes

QMetalComputePipelineDatad
uint generation = 0
int lastActiveFrameSlot = -1

Friends

class QRhiMetal

Additional Inherited Members

Public Types inherited from QRhiComputePipeline
enum  Flag { CompileShadersWithDebugInfo = 1 << 0 }
 Flag values for describing pipeline options. More...
Public Types inherited from QRhiResource
enum  Type {
  Buffer , Texture , Sampler , RenderBuffer ,
  RenderPassDescriptor , SwapChainRenderTarget , TextureRenderTarget , ShaderResourceBindings ,
  GraphicsPipeline , SwapChain , ComputePipeline , CommandBuffer ,
  ShadingRateMap
}
 Specifies type of the resource. More...
Protected Member Functions inherited from QRhiComputePipeline
 QRhiComputePipeline (QRhiImplementation *rhi)
Protected Member Functions inherited from QRhiResource
 QRhiResource (QRhiImplementation *rhi)
Protected Attributes inherited from QRhiComputePipeline
Flags m_flags
QRhiShaderStage m_shaderStage
QRhiShaderResourceBindingsm_shaderResourceBindings = nullptr
Protected Attributes inherited from QRhiResource
QRhiImplementationm_rhi = nullptr
quint64 m_id
QByteArray m_objectName

Detailed Description

Definition at line 254 of file qrhimetal_p.h.

Constructor & Destructor Documentation

◆ QMetalComputePipeline()

QMetalComputePipeline::QMetalComputePipeline ( QRhiImplementation * rhi)

Definition at line 6054 of file qrhimetal.mm.

References QMetalComputePipeline(), and d.

Referenced by QMetalComputePipeline().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~QMetalComputePipeline()

QMetalComputePipeline::~QMetalComputePipeline ( )

Definition at line 6060 of file qrhimetal.mm.

References d, and destroy().

Here is the call graph for this function:

Member Function Documentation

◆ create()

bool QMetalComputePipeline::create ( )
overridevirtual

Implements QRhiComputePipeline.

Definition at line 6108 of file qrhimetal.mm.

References QMetalComputePipelineData::bufferSizeBuffer, QMetalBuffer::create(), d, QRhiMetal::d, destroy(), and lastActiveFrameSlot.

Here is the call graph for this function:

◆ destroy()

void QMetalComputePipeline::destroy ( )
overridevirtual

Releases (or requests deferred releasing of) the underlying native graphics resources.

Safe to call multiple times, subsequent invocations will be a no-op then.

Once destroy() is called, the QRhiResource instance can be reused, by calling create() again. That will then result in creating new native graphics resources underneath.

Note
Resources referenced by commands for the current frame should not be released until the frame is submitted by QRhi::endFrame().

The QRhiResource destructor also performs the same task, so calling this function is not necessary before deleting a QRhiResource.

See also
deleteLater()

Implements QRhiResource.

Definition at line 6066 of file qrhimetal.mm.

References QMetalComputePipelineData::bufferSizeBuffer, QRhiMetalData::DeferredReleaseEntry::ComputePipeline, d, QRhiMetal::d, lastActiveFrameSlot, QRhiMetalData::DeferredReleaseEntry::lastActiveFrameSlot, and QRhiMetalData::DeferredReleaseEntry::type.

Referenced by ~QMetalComputePipeline(), and create().

Here is the caller graph for this function:

◆ QRhiMetal

friend class QRhiMetal
friend

Definition at line 264 of file qrhimetal_p.h.

Member Data Documentation

◆ d

◆ generation

uint QMetalComputePipeline::generation = 0

Definition at line 262 of file qrhimetal_p.h.

◆ lastActiveFrameSlot

int QMetalComputePipeline::lastActiveFrameSlot = -1

Definition at line 263 of file qrhimetal_p.h.

Referenced by create(), and destroy().


The documentation for this struct was generated from the following files: