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  DeferredReleaseEntry
struct  OffscreenFrame
struct  TextureReadback
struct  BufferReadback

Public Member Functions

 QRhiMetalData (QRhiMetal *rhi)
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)
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
id< MTLBinaryArchive > binArch = nil
QVector< DeferredReleaseEntryreleaseQueue
struct QRhiMetalData::OffscreenFrame ofr
QVarLengthArray< TextureReadback, 2 > activeTextureReadbacks
QVarLengthArray< BufferReadback, 2 > activeBufferReadbacks
MTLCaptureManager * captureMgr
id< MTLCaptureScope > captureScope = nil
id< MTLIndirectCommandBuffer > icb = nil
NSUInteger icbCapacity = 0
id< MTLComputePipelineState > icbEncodePipelineU32 = nil
id< MTLComputePipelineState > icbEncodePipelineU16 = nil
id< MTLFunction > icbEncodeFunctionU32 = nil
id< MTLFunction > icbEncodeFunctionU16 = nil
id< MTLBuffer > icbArgumentBuffer = nil
QHash< QRhiShaderStage, QMetalShadershaderCache

Static Public Attributes

static const int TEXBUF_ALIGN = 256

Detailed Description

Definition at line 174 of file qrhimetal.mm.

Constructor & Destructor Documentation

◆ QRhiMetalData() [1/2]

QRhiMetalData::QRhiMetalData ( QRhiMetal * rhi)
inline

Definition at line 176 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 176 of file qrhimetal.mm.

Member Function Documentation

◆ addComputePipelineToBinaryArchive() [1/2]

void QRhiMetalData::addComputePipelineToBinaryArchive ( MTLComputePipelineDescriptor * cpDesc)

Definition at line 6433 of file qrhimetal.mm.

◆ addComputePipelineToBinaryArchive() [2/2]

void QRhiMetalData::addComputePipelineToBinaryArchive ( MTLComputePipelineDescriptor * cpDesc)

◆ addRenderPipelineToBinaryArchive() [1/2]

void QRhiMetalData::addRenderPipelineToBinaryArchive ( MTLRenderPipelineDescriptor * rpDesc)

Definition at line 5448 of file qrhimetal.mm.

◆ addRenderPipelineToBinaryArchive() [2/2]

void QRhiMetalData::addRenderPipelineToBinaryArchive ( MTLRenderPipelineDescriptor * rpDesc)

◆ createDefaultRenderPass() [1/2]

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

Definition at line 2967 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 5222 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 5291 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 545 of file qrhimetal.mm.

◆ newCommandBuffer() [2/2]

id< MTLCommandBuffer > QRhiMetalData::newCommandBuffer ( )

◆ setupBinaryArchive() [1/2]

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

Definition at line 557 of file qrhimetal.mm.

◆ setupBinaryArchive() [2/2]

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

◆ trySeedingComputePipelineFromBinaryArchive() [1/2]

void QRhiMetalData::trySeedingComputePipelineFromBinaryArchive ( MTLComputePipelineDescriptor * cpDesc)

Definition at line 6425 of file qrhimetal.mm.

◆ trySeedingComputePipelineFromBinaryArchive() [2/2]

void QRhiMetalData::trySeedingComputePipelineFromBinaryArchive ( MTLComputePipelineDescriptor * cpDesc)

◆ trySeedingRenderPipelineFromBinaryArchive() [1/2]

void QRhiMetalData::trySeedingRenderPipelineFromBinaryArchive ( MTLRenderPipelineDescriptor * rpDesc)

Definition at line 5440 of file qrhimetal.mm.

◆ trySeedingRenderPipelineFromBinaryArchive() [2/2]

void QRhiMetalData::trySeedingRenderPipelineFromBinaryArchive ( MTLRenderPipelineDescriptor * rpDesc)

Member Data Documentation

◆ activeBufferReadbacks

QVarLengthArray< BufferReadback, 2 > QRhiMetalData::activeBufferReadbacks

Definition at line 277 of file qrhimetal.mm.

◆ activeTextureReadbacks

QVarLengthArray< TextureReadback, 2 > QRhiMetalData::activeTextureReadbacks

Definition at line 266 of file qrhimetal.mm.

◆ binArch

id< MTLBinaryArchive > QRhiMetalData::binArch = nil

Definition at line 181 of file qrhimetal.mm.

◆ captureMgr

MTLCaptureManager * QRhiMetalData::captureMgr

Definition at line 279 of file qrhimetal.mm.

◆ captureScope

id< MTLCaptureScope > QRhiMetalData::captureScope = nil

Definition at line 280 of file qrhimetal.mm.

◆ cmdQueue

id< MTLCommandQueue > QRhiMetalData::cmdQueue = nil

Definition at line 180 of file qrhimetal.mm.

◆ dev

id< MTLDevice > QRhiMetalData::dev = nil

Definition at line 179 of file qrhimetal.mm.

◆ icb

id< MTLIndirectCommandBuffer > QRhiMetalData::icb = nil

Definition at line 283 of file qrhimetal.mm.

◆ icbArgumentBuffer

id< MTLBuffer > QRhiMetalData::icbArgumentBuffer = nil

Definition at line 289 of file qrhimetal.mm.

◆ icbCapacity

NSUInteger QRhiMetalData::icbCapacity = 0

Definition at line 284 of file qrhimetal.mm.

◆ icbEncodeFunctionU16

id< MTLFunction > QRhiMetalData::icbEncodeFunctionU16 = nil

Definition at line 288 of file qrhimetal.mm.

◆ icbEncodeFunctionU32

id< MTLFunction > QRhiMetalData::icbEncodeFunctionU32 = nil

Definition at line 287 of file qrhimetal.mm.

◆ icbEncodePipelineU16

id< MTLComputePipelineState > QRhiMetalData::icbEncodePipelineU16 = nil

Definition at line 286 of file qrhimetal.mm.

◆ icbEncodePipelineU32

id< MTLComputePipelineState > QRhiMetalData::icbEncodePipelineU32 = nil

Definition at line 285 of file qrhimetal.mm.

◆ ofr

struct QRhiMetalData::OffscreenFrame QRhiMetalData::ofr

◆ q

QRhiMetal * QRhiMetalData::q

Definition at line 178 of file qrhimetal.mm.

Referenced by QRhiMetalData().

◆ releaseQueue

QVector< DeferredReleaseEntry > QRhiMetalData::releaseQueue

Definition at line 248 of file qrhimetal.mm.

◆ shaderCache

QHash< QRhiShaderStage, QMetalShader > QRhiMetalData::shaderCache

Definition at line 293 of file qrhimetal.mm.

◆ TEXBUF_ALIGN

const int QRhiMetalData::TEXBUF_ALIGN = 256
static

Definition at line 291 of file qrhimetal.mm.


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