Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
|
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) |
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 |
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 164 of file qrhimetal.mm.
|
inline |
Definition at line 166 of file qrhimetal.mm.
void QRhiMetalData::addComputePipelineToBinaryArchive | ( | MTLComputePipelineDescriptor * | cpDesc | ) |
Definition at line 5958 of file qrhimetal.mm.
References error, iOS, qPrintable, and qWarning.
void QRhiMetalData::addRenderPipelineToBinaryArchive | ( | MTLRenderPipelineDescriptor * | rpDesc | ) |
Definition at line 4972 of file qrhimetal.mm.
References error, iOS, qPrintable, and qWarning.
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 2540 of file qrhimetal.mm.
References i.
Referenced by QRhiMetal::beginPass().
id< MTLLibrary > QRhiMetalData::createMetalLib | ( | const QShader & | shader, |
QShader::Variant | shaderVariant, | ||
QString * | error, | ||
QByteArray * | entryPoint, | ||
QShaderKey * | activeKey ) |
Definition at line 4735 of file qrhimetal.mm.
References dev, error, init(), iOS, QShader::MetalLibShader, QShader::MslShader, qPrintable, qWarning, release(), QShaderCode::shader(), and toMetalLanguageVersion().
id< MTLFunction > QRhiMetalData::createMSLShaderFunction | ( | id< MTLLibrary > | lib, |
const QByteArray & | entryPoint ) |
Definition at line 4814 of file qrhimetal.mm.
References QByteArray::constData().
id< MTLCommandBuffer > QRhiMetalData::newCommandBuffer | ( | ) |
Definition at line 513 of file qrhimetal.mm.
References cmdQueue.
Referenced by QRhiMetal::beginFrame(), QRhiMetal::beginOffscreenFrame(), and QRhiMetal::finish().
bool QRhiMetalData::setupBinaryArchive | ( | NSURL * | sourceFileUrl = nil | ) |
Definition at line 525 of file qrhimetal.mm.
References dev, error, iOS, qPrintable, qWarning, and release().
Referenced by QRhiMetal::create(), and QRhiMetal::setPipelineCacheData().
void QRhiMetalData::trySeedingComputePipelineFromBinaryArchive | ( | MTLComputePipelineDescriptor * | cpDesc | ) |
Definition at line 5948 of file qrhimetal.mm.
References iOS.
void QRhiMetalData::trySeedingRenderPipelineFromBinaryArchive | ( | MTLRenderPipelineDescriptor * | rpDesc | ) |
Definition at line 4962 of file qrhimetal.mm.
References iOS.
QVarLengthArray<BufferReadback, 2> QRhiMetalData::activeBufferReadbacks |
Definition at line 257 of file qrhimetal.mm.
Referenced by QRhiMetal::enqueueResourceUpdates(), and QRhiMetal::finishActiveReadbacks().
QVarLengthArray<TextureReadback, 2> QRhiMetalData::activeTextureReadbacks |
Definition at line 246 of file qrhimetal.mm.
Referenced by QRhiMetal::finishActiveReadbacks().
MTLCaptureManager* QRhiMetalData::captureMgr |
Definition at line 259 of file qrhimetal.mm.
Referenced by QRhiMetal::create().
id<MTLCaptureScope> QRhiMetalData::captureScope = nil |
Definition at line 260 of file qrhimetal.mm.
Referenced by QRhiMetal::beginFrame(), QRhiMetal::create(), QRhiMetal::destroy(), and QRhiMetal::endFrame().
id<MTLCommandQueue> QRhiMetalData::cmdQueue = nil |
Definition at line 170 of file qrhimetal.mm.
Referenced by QRhiMetal::QRhiMetal(), QRhiMetal::create(), QRhiMetal::destroy(), and newCommandBuffer().
id<MTLDevice> QRhiMetalData::dev = nil |
Definition at line 169 of file qrhimetal.mm.
Referenced by QRhiMetal::QRhiMetal(), QRhiMetal::create(), createMetalLib(), QRhiMetal::destroy(), and setupBinaryArchive().
struct QRhiMetalData::OffscreenFrame QRhiMetalData::ofr |
Referenced by QRhiMetal::beginOffscreenFrame(), QRhiMetal::endOffscreenFrame(), and QRhiMetal::finish().
QRhiMetal* QRhiMetalData::q |
Definition at line 168 of file qrhimetal.mm.
QVector<DeferredReleaseEntry> QRhiMetalData::releaseQueue |
Definition at line 228 of file qrhimetal.mm.
Referenced by QRhiMetal::executeDeferredReleases().
QHash<QRhiShaderStage, QMetalShader> QRhiMetalData::shaderCache |
Definition at line 264 of file qrhimetal.mm.
Referenced by QRhiMetal::destroy(), and QRhiMetal::releaseCachedResources().
|
static |
Definition at line 262 of file qrhimetal.mm.
Referenced by QRhiMetal::enqueueSubresUpload(), and QRhiMetal::subresUploadByteSize().