![]() |
Qt 6.x
The Qt SDK
|
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 | |
| MTLRenderPassDescriptor * | createDefaultRenderPass (bool hasDepthStencil, const QColor &colorClearValue, const QRhiDepthStencilClearValue &depthStencilClearValue, int colorAttCount) |
| 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 | |
| QRhiMetal * | q |
| id< MTLDevice > | dev = nil |
| id< MTLCommandQueue > | cmdQueue = nil |
| bool | binArchWasEmpty = false |
| QVector< DeferredReleaseEntry > | releaseQueue |
| struct QRhiMetalData::OffscreenFrame | ofr |
| QVarLengthArray< TextureReadback, 2 > | activeTextureReadbacks |
| QVarLengthArray< BufferReadback, 2 > | activeBufferReadbacks |
| MTLCaptureManager * | captureMgr |
| id< MTLCaptureScope > | captureScope = nil |
| QHash< QRhiShaderStage, QMetalShader > | shaderCache |
Static Public Attributes | |
| static const int | TEXBUF_ALIGN = 256 |
Definition at line 153 of file qrhimetal.mm.
|
inline |
Definition at line 155 of file qrhimetal.mm.
| void QRhiMetalData::addComputePipelineToBinaryArchive | ( | MTLComputePipelineDescriptor * | cpDesc | ) |
Definition at line 5900 of file qrhimetal.mm.
References canAddToBinaryArchive(), error, iOS, qPrintable, and qWarning.
Referenced by QMetalGraphicsPipelineData::Tessellation::tescCompPipeline(), and QMetalGraphicsPipelineData::Tessellation::vsCompPipeline().
Here is the call graph for this function:
Here is the caller graph for this function:| void QRhiMetalData::addRenderPipelineToBinaryArchive | ( | MTLRenderPipelineDescriptor * | rpDesc | ) |
Definition at line 4914 of file qrhimetal.mm.
References canAddToBinaryArchive(), error, iOS, qPrintable, and qWarning.
Referenced by QMetalGraphicsPipelineData::Tessellation::teseFragRenderPipeline().
Here is the call graph for this function:
Here is the caller graph for this function:| QRhiMetalData::API_AVAILABLE | ( | macosx(11.0) | , |
| ios(14.0) | |||
| ) |
| MTLRenderPassDescriptor * QRhiMetalData::createDefaultRenderPass | ( | bool | hasDepthStencil, |
| const QColor & | colorClearValue, | ||
| const QRhiDepthStencilClearValue & | depthStencilClearValue, | ||
| int | colorAttCount | ||
| ) |
Definition at line 2510 of file qrhimetal.mm.
References QColor::alphaF(), QColor::blueF(), QRhiDepthStencilClearValue::depthClearValue(), QColor::greenF(), i, QColor::redF(), and QRhiDepthStencilClearValue::stencilClearValue().
Referenced by QRhiMetal::beginPass().
Here is the call graph for this function:
Here is the caller graph for this function:| id< MTLLibrary > QRhiMetalData::createMetalLib | ( | const QShader & | shader, |
| QShader::Variant | shaderVariant, | ||
| QString * | error, | ||
| QByteArray * | entryPoint, | ||
| QShaderKey * | activeKey | ||
| ) |
Definition at line 4654 of file qrhimetal.mm.
References QByteArray::constData(), dev, QShaderCode::entryPoint(), error, init(), iOS, QByteArray::isEmpty(), QShader::MetalLibShader, QShader::MslShader, qPrintable, qWarning, release(), QShaderCode::shader(), QByteArray::size(), and toMetalLanguageVersion().
Here is the call graph for this function:| id< MTLFunction > QRhiMetalData::createMSLShaderFunction | ( | id< MTLLibrary > | lib, |
| const QByteArray & | entryPoint | ||
| ) |
Definition at line 4733 of file qrhimetal.mm.
References QByteArray::constData().
Here is the call graph for this function:| bool QRhiMetalData::setupBinaryArchive | ( | NSURL * | sourceFileUrl = nil | ) |
Definition at line 499 of file qrhimetal.mm.
References binArchWasEmpty, dev, error, iOS, qPrintable, qWarning, and release().
Referenced by QRhiMetal::create(), and QRhiMetal::setPipelineCacheData().
Here is the call graph for this function:
Here is the caller graph for this function:| void QRhiMetalData::trySeedingComputePipelineFromBinaryArchive | ( | MTLComputePipelineDescriptor * | cpDesc | ) |
Definition at line 5890 of file qrhimetal.mm.
References iOS.
Referenced by QMetalGraphicsPipelineData::Tessellation::tescCompPipeline(), and QMetalGraphicsPipelineData::Tessellation::vsCompPipeline().
Here is the caller graph for this function:| void QRhiMetalData::trySeedingRenderPipelineFromBinaryArchive | ( | MTLRenderPipelineDescriptor * | rpDesc | ) |
Definition at line 4881 of file qrhimetal.mm.
References iOS.
Referenced by QMetalGraphicsPipelineData::Tessellation::teseFragRenderPipeline().
Here is the caller graph for this function:| QVarLengthArray<BufferReadback, 2> QRhiMetalData::activeBufferReadbacks |
Definition at line 246 of file qrhimetal.mm.
Referenced by QRhiMetal::enqueueResourceUpdates(), and QRhiMetal::finishActiveReadbacks().
| QVarLengthArray<TextureReadback, 2> QRhiMetalData::activeTextureReadbacks |
Definition at line 235 of file qrhimetal.mm.
Referenced by QRhiMetal::finishActiveReadbacks().
| bool QRhiMetalData::binArchWasEmpty = false |
Definition at line 161 of file qrhimetal.mm.
Referenced by setupBinaryArchive().
| MTLCaptureManager* QRhiMetalData::captureMgr |
Definition at line 248 of file qrhimetal.mm.
Referenced by QRhiMetal::create().
| id<MTLCaptureScope> QRhiMetalData::captureScope = nil |
Definition at line 249 of file qrhimetal.mm.
Referenced by QRhiMetal::beginFrame(), QRhiMetal::create(), QRhiMetal::destroy(), and QRhiMetal::endFrame().
| id<MTLCommandQueue> QRhiMetalData::cmdQueue = nil |
Definition at line 159 of file qrhimetal.mm.
Referenced by QRhiMetal::QRhiMetal(), QRhiMetal::beginFrame(), QRhiMetal::beginOffscreenFrame(), QRhiMetal::create(), QRhiMetal::destroy(), and QRhiMetal::finish().
| id<MTLDevice> QRhiMetalData::dev = nil |
Definition at line 158 of file qrhimetal.mm.
Referenced by QRhiMetal::QRhiMetal(), QRhiMetal::create(), createMetalLib(), QRhiMetal::destroy(), setupBinaryArchive(), QMetalGraphicsPipelineData::Tessellation::tescCompPipeline(), QMetalGraphicsPipelineData::Tessellation::teseFragRenderPipeline(), and QMetalGraphicsPipelineData::Tessellation::vsCompPipeline().
| struct QRhiMetalData::OffscreenFrame QRhiMetalData::ofr |
Referenced by QRhiMetal::beginOffscreenFrame(), QRhiMetal::endOffscreenFrame(), and QRhiMetal::finish().
| QRhiMetal* QRhiMetalData::q |
Definition at line 157 of file qrhimetal.mm.
| QVector<DeferredReleaseEntry> QRhiMetalData::releaseQueue |
Definition at line 217 of file qrhimetal.mm.
Referenced by QRhiMetal::executeDeferredReleases().
| QHash<QRhiShaderStage, QMetalShader> QRhiMetalData::shaderCache |
Definition at line 253 of file qrhimetal.mm.
Referenced by QRhiMetal::destroy(), and QRhiMetal::releaseCachedResources().
|
static |
Definition at line 251 of file qrhimetal.mm.
Referenced by QRhiMetal::enqueueSubresUpload(), and QRhiMetal::subresUploadByteSize().