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
QRhiMetalData Struct Reference
Collaboration diagram for QRhiMetalData:

Classes

struct  BufferReadback
struct  DeferredReleaseEntry
struct  OffscreenFrame
struct  TextureReadback

Public Member Functions

 QRhiMetalData (QRhiMetal *rhi)
 API_AVAILABLE (macosx(11.0), ios(14.0)) id< MTLBinaryArchive > binArch
id< MTLCommandBuffer > newCommandBuffer ()
MTLRenderPassDescriptor * createDefaultRenderPass (bool hasDepthStencil, const QColor &colorClearValue, const QRhiDepthStencilClearValue &depthStencilClearValue, int colorAttCount, QRhiShadingRateMap *shadingRateMap)
id< MTLLibrary > createMetalLib (const QShader &shader, QShader::Variant shaderVariant, QString *error, QByteArray *entryPoint, QShaderKey *activeKey)
id< MTLFunction > createMSLShaderFunction (id< MTLLibrary > lib, const QByteArray &entryPoint)
bool setupBinaryArchive (NSURL *sourceFileUrl=nil)
void addRenderPipelineToBinaryArchive (MTLRenderPipelineDescriptor *rpDesc)
void trySeedingRenderPipelineFromBinaryArchive (MTLRenderPipelineDescriptor *rpDesc)
void addComputePipelineToBinaryArchive (MTLComputePipelineDescriptor *cpDesc)
void trySeedingComputePipelineFromBinaryArchive (MTLComputePipelineDescriptor *cpDesc)
 QRhiMetalData (QRhiMetal *rhi)
 API_AVAILABLE (macosx(11.0), ios(14.0)) id< MTLBinaryArchive > binArch
id< MTLCommandBuffer > newCommandBuffer ()
MTLRenderPassDescriptor * createDefaultRenderPass (bool hasDepthStencil, const QColor &colorClearValue, const QRhiDepthStencilClearValue &depthStencilClearValue, int colorAttCount, QRhiShadingRateMap *shadingRateMap)
id< MTLLibrary > createMetalLib (const QShader &shader, QShader::Variant shaderVariant, QString *error, QByteArray *entryPoint, QShaderKey *activeKey)
id< MTLFunction > createMSLShaderFunction (id< MTLLibrary > lib, const QByteArray &entryPoint)
bool setupBinaryArchive (NSURL *sourceFileUrl=nil)
void addRenderPipelineToBinaryArchive (MTLRenderPipelineDescriptor *rpDesc)
void trySeedingRenderPipelineFromBinaryArchive (MTLRenderPipelineDescriptor *rpDesc)
void addComputePipelineToBinaryArchive (MTLComputePipelineDescriptor *cpDesc)
void trySeedingComputePipelineFromBinaryArchive (MTLComputePipelineDescriptor *cpDesc)

Public Attributes

QRhiMetalq
id< MTLDevice > dev = nil
id< MTLCommandQueue > cmdQueue = nil
QVector< DeferredReleaseEntryreleaseQueue
struct QRhiMetalData::OffscreenFrame ofr
QVarLengthArray< TextureReadback, 2 > activeTextureReadbacks
QVarLengthArray< BufferReadback, 2 > activeBufferReadbacks
MTLCaptureManager * captureMgr
id< MTLCaptureScope > captureScope = nil
QHash< QRhiShaderStage, QMetalShadershaderCache

Static Public Attributes

static const int TEXBUF_ALIGN = 256

Detailed Description

Definition at line 170 of file qrhimetal.mm.

Constructor & Destructor Documentation

◆ QRhiMetalData() [1/2]

QRhiMetalData::QRhiMetalData ( QRhiMetal * rhi)
inline

Definition at line 172 of file qrhimetal.mm.

References q.

Referenced by QRhiMetal::QRhiMetal().

Here is the caller graph for this function:

◆ QRhiMetalData() [2/2]

QRhiMetalData::QRhiMetalData ( QRhiMetal * rhi)
inline

Definition at line 172 of file qrhimetal.mm.

Member Function Documentation

◆ addComputePipelineToBinaryArchive() [1/2]

void QRhiMetalData::addComputePipelineToBinaryArchive ( MTLComputePipelineDescriptor * cpDesc)

Definition at line 6097 of file qrhimetal.mm.

◆ addComputePipelineToBinaryArchive() [2/2]

void QRhiMetalData::addComputePipelineToBinaryArchive ( MTLComputePipelineDescriptor * cpDesc)

◆ addRenderPipelineToBinaryArchive() [1/2]

void QRhiMetalData::addRenderPipelineToBinaryArchive ( MTLRenderPipelineDescriptor * rpDesc)

Definition at line 5115 of file qrhimetal.mm.

◆ addRenderPipelineToBinaryArchive() [2/2]

void QRhiMetalData::addRenderPipelineToBinaryArchive ( MTLRenderPipelineDescriptor * rpDesc)

◆ API_AVAILABLE() [1/2]

QRhiMetalData::API_AVAILABLE ( macosx(11.0) ,
ios(14.0)  )

◆ API_AVAILABLE() [2/2]

QRhiMetalData::API_AVAILABLE ( macosx(11.0) ,
ios(14.0)  )

◆ createDefaultRenderPass() [1/2]

MTLRenderPassDescriptor * QRhiMetalData::createDefaultRenderPass ( bool hasDepthStencil,
const QColor & colorClearValue,
const QRhiDepthStencilClearValue & depthStencilClearValue,
int colorAttCount,
QRhiShadingRateMap * shadingRateMap )

Definition at line 2634 of file qrhimetal.mm.

◆ createDefaultRenderPass() [2/2]

MTLRenderPassDescriptor * QRhiMetalData::createDefaultRenderPass ( bool hasDepthStencil,
const QColor & colorClearValue,
const QRhiDepthStencilClearValue & depthStencilClearValue,
int colorAttCount,
QRhiShadingRateMap * shadingRateMap )

◆ createMetalLib() [1/2]

id< MTLLibrary > QRhiMetalData::createMetalLib ( const QShader & shader,
QShader::Variant shaderVariant,
QString * error,
QByteArray * entryPoint,
QShaderKey * activeKey )

Definition at line 4886 of file qrhimetal.mm.

◆ createMetalLib() [2/2]

id< MTLLibrary > QRhiMetalData::createMetalLib ( const QShader & shader,
QShader::Variant shaderVariant,
QString * error,
QByteArray * entryPoint,
QShaderKey * activeKey )

◆ createMSLShaderFunction() [1/2]

id< MTLFunction > QRhiMetalData::createMSLShaderFunction ( id< MTLLibrary > lib,
const QByteArray & entryPoint )

Definition at line 4959 of file qrhimetal.mm.

◆ createMSLShaderFunction() [2/2]

id< MTLFunction > QRhiMetalData::createMSLShaderFunction ( id< MTLLibrary > lib,
const QByteArray & entryPoint )

◆ newCommandBuffer() [1/2]

id< MTLCommandBuffer > QRhiMetalData::newCommandBuffer ( )

Definition at line 524 of file qrhimetal.mm.

◆ newCommandBuffer() [2/2]

id< MTLCommandBuffer > QRhiMetalData::newCommandBuffer ( )

◆ setupBinaryArchive() [1/2]

bool QRhiMetalData::setupBinaryArchive ( NSURL * sourceFileUrl = nil)

Definition at line 536 of file qrhimetal.mm.

◆ setupBinaryArchive() [2/2]

bool QRhiMetalData::setupBinaryArchive ( NSURL * sourceFileUrl = nil)

◆ trySeedingComputePipelineFromBinaryArchive() [1/2]

void QRhiMetalData::trySeedingComputePipelineFromBinaryArchive ( MTLComputePipelineDescriptor * cpDesc)

Definition at line 6089 of file qrhimetal.mm.

◆ trySeedingComputePipelineFromBinaryArchive() [2/2]

void QRhiMetalData::trySeedingComputePipelineFromBinaryArchive ( MTLComputePipelineDescriptor * cpDesc)

◆ trySeedingRenderPipelineFromBinaryArchive() [1/2]

void QRhiMetalData::trySeedingRenderPipelineFromBinaryArchive ( MTLRenderPipelineDescriptor * rpDesc)

Definition at line 5107 of file qrhimetal.mm.

◆ trySeedingRenderPipelineFromBinaryArchive() [2/2]

void QRhiMetalData::trySeedingRenderPipelineFromBinaryArchive ( MTLRenderPipelineDescriptor * rpDesc)

Member Data Documentation

◆ activeBufferReadbacks

QVarLengthArray< BufferReadback, 2 > QRhiMetalData::activeBufferReadbacks

Definition at line 268 of file qrhimetal.mm.

◆ activeTextureReadbacks

QVarLengthArray< TextureReadback, 2 > QRhiMetalData::activeTextureReadbacks

Definition at line 257 of file qrhimetal.mm.

◆ captureMgr

MTLCaptureManager * QRhiMetalData::captureMgr

Definition at line 270 of file qrhimetal.mm.

◆ captureScope

id< MTLCaptureScope > QRhiMetalData::captureScope = nil

Definition at line 271 of file qrhimetal.mm.

◆ cmdQueue

id< MTLCommandQueue > QRhiMetalData::cmdQueue = nil

Definition at line 176 of file qrhimetal.mm.

◆ dev

id< MTLDevice > QRhiMetalData::dev = nil

Definition at line 175 of file qrhimetal.mm.

◆ ofr

struct QRhiMetalData::OffscreenFrame QRhiMetalData::ofr

◆ q

QRhiMetal * QRhiMetalData::q

Definition at line 174 of file qrhimetal.mm.

Referenced by QRhiMetalData().

◆ releaseQueue

QVector< DeferredReleaseEntry > QRhiMetalData::releaseQueue

Definition at line 239 of file qrhimetal.mm.

◆ shaderCache

QHash< QRhiShaderStage, QMetalShader > QRhiMetalData::shaderCache

Definition at line 275 of file qrhimetal.mm.

◆ TEXBUF_ALIGN

const int QRhiMetalData::TEXBUF_ALIGN = 256
static

Definition at line 273 of file qrhimetal.mm.


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