![]() |
Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
|
Classes | |
| struct | DeferredReleaseEntry |
| struct | OffscreenFrame |
| struct | TextureReadback |
| struct | BufferReadback |
| struct | StagingArea |
Public Types | |
| using | ShaderCacheKey = std::pair<QRhiShaderStage, bool> |
| using | ShaderCacheKey = std::pair<QRhiShaderStage, bool> |
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, bool preferArgumentBuffers, 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) |
| id< MTLBuffer > | allocFromStagingArea (StagingArea *area, quint32 size, quint32 alignment, int frameSlot, quint32 minBlockSize, quint32 *offset) |
| id< MTLBuffer > | allocArgumentBuffer (quint32 size, quint32 alignment, int frameSlot, quint32 *offset) |
| id< MTLBuffer > | allocBufferStaging (quint32 size, int frameSlot, quint32 *offset) |
| id< MTLBuffer > | newOneShotStagingBuffer (quint32 size, int frameSlot) |
| void | resetAndResizeBufferStagingArea (int frameSlot) |
| 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, bool preferArgumentBuffers, 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) |
| id< MTLBuffer > | allocFromStagingArea (StagingArea *area, quint32 size, quint32 alignment, int frameSlot, quint32 minBlockSize, quint32 *offset) |
| id< MTLBuffer > | allocArgumentBuffer (quint32 size, quint32 alignment, int frameSlot, quint32 *offset) |
| id< MTLBuffer > | allocBufferStaging (quint32 size, int frameSlot, quint32 *offset) |
| id< MTLBuffer > | newOneShotStagingBuffer (quint32 size, int frameSlot) |
| void | resetAndResizeBufferStagingArea (int frameSlot) |
Static Public Attributes | |
| static const int | TEXBUF_ALIGN = 256 |
| static constexpr quint32 | LARGE_STAGING_ALLOC = 512 * 1024 |
| static constexpr quint32 | STAGING_AREA_MIN = 64 * 1024 |
| static constexpr quint32 | STAGING_AREA_MAX = 16 * 1024 * 1024 |
| static constexpr int | STAGING_AREA_LOW_DEMAND_FRAMES = 60 |
| static constexpr int | STAGING_AREA_HIGH_DEMAND_FRAMES = 3 |
Definition at line 179 of file qrhimetal.mm.
| using QRhiMetalData::ShaderCacheKey = std::pair<QRhiShaderStage, bool> |
Definition at line 307 of file qrhimetal.mm.
| using QRhiMetalData::ShaderCacheKey = std::pair<QRhiShaderStage, bool> |
Definition at line 307 of file qrhimetal.mm.
|
inline |
Definition at line 181 of file qrhimetal.mm.
References q.
Referenced by QRhiMetal::QRhiMetal().
|
inline |
Definition at line 181 of file qrhimetal.mm.
| void QRhiMetalData::addComputePipelineToBinaryArchive | ( | MTLComputePipelineDescriptor * | cpDesc | ) |
Definition at line 8012 of file qrhimetal.mm.
| void QRhiMetalData::addComputePipelineToBinaryArchive | ( | MTLComputePipelineDescriptor * | cpDesc | ) |
| void QRhiMetalData::addRenderPipelineToBinaryArchive | ( | MTLRenderPipelineDescriptor * | rpDesc | ) |
Definition at line 6980 of file qrhimetal.mm.
| void QRhiMetalData::addRenderPipelineToBinaryArchive | ( | MTLRenderPipelineDescriptor * | rpDesc | ) |
| id< MTLBuffer > QRhiMetalData::allocArgumentBuffer | ( | quint32 | size, |
| quint32 | alignment, | ||
| int | frameSlot, | ||
| quint32 * | offset ) |
Definition at line 6647 of file qrhimetal.mm.
| id< MTLBuffer > QRhiMetalData::allocArgumentBuffer | ( | quint32 | size, |
| quint32 | alignment, | ||
| int | frameSlot, | ||
| quint32 * | offset ) |
Definition at line 6665 of file qrhimetal.mm.
| id< MTLBuffer > QRhiMetalData::allocFromStagingArea | ( | StagingArea * | area, |
| quint32 | size, | ||
| quint32 | alignment, | ||
| int | frameSlot, | ||
| quint32 | minBlockSize, | ||
| quint32 * | offset ) |
Definition at line 6616 of file qrhimetal.mm.
References QRhiMetalData::DeferredReleaseEntry::lastActiveFrameSlot, QRhiMetalData::DeferredReleaseEntry::StagingBuffer, and QRhiMetalData::DeferredReleaseEntry::type.
| id< MTLBuffer > QRhiMetalData::allocFromStagingArea | ( | StagingArea * | area, |
| quint32 | size, | ||
| quint32 | alignment, | ||
| int | frameSlot, | ||
| quint32 | minBlockSize, | ||
| quint32 * | offset ) |
| MTLRenderPassDescriptor * QRhiMetalData::createDefaultRenderPass | ( | bool | hasDepthStencil, |
| const QColor & | colorClearValue, | ||
| const QRhiDepthStencilClearValue & | depthStencilClearValue, | ||
| int | colorAttCount, | ||
| QRhiShadingRateMap * | shadingRateMap ) |
Definition at line 3524 of file qrhimetal.mm.
| MTLRenderPassDescriptor * QRhiMetalData::createDefaultRenderPass | ( | bool | hasDepthStencil, |
| const QColor & | colorClearValue, | ||
| const QRhiDepthStencilClearValue & | depthStencilClearValue, | ||
| int | colorAttCount, | ||
| QRhiShadingRateMap * | shadingRateMap ) |
| id< MTLLibrary > QRhiMetalData::createMetalLib | ( | const QShader & | shader, |
| QShader::Variant | shaderVariant, | ||
| bool | preferArgumentBuffers, | ||
| QString * | error, | ||
| QByteArray * | entryPoint, | ||
| QShaderKey * | activeKey ) |
Definition at line 6738 of file qrhimetal.mm.
| id< MTLLibrary > QRhiMetalData::createMetalLib | ( | const QShader & | shader, |
| QShader::Variant | shaderVariant, | ||
| bool | preferArgumentBuffers, | ||
| QString * | error, | ||
| QByteArray * | entryPoint, | ||
| QShaderKey * | activeKey ) |
| id< MTLFunction > QRhiMetalData::createMSLShaderFunction | ( | id< MTLLibrary > | lib, |
| const QByteArray & | entryPoint ) |
Definition at line 6823 of file qrhimetal.mm.
| id< MTLFunction > QRhiMetalData::createMSLShaderFunction | ( | id< MTLLibrary > | lib, |
| const QByteArray & | entryPoint ) |
| id< MTLCommandBuffer > QRhiMetalData::newCommandBuffer | ( | ) |
Definition at line 610 of file qrhimetal.mm.
| id< MTLCommandBuffer > QRhiMetalData::newCommandBuffer | ( | ) |
Definition at line 6652 of file qrhimetal.mm.
References QRhiMetalData::DeferredReleaseEntry::lastActiveFrameSlot, QRhiMetalData::DeferredReleaseEntry::StagingBuffer, and QRhiMetalData::DeferredReleaseEntry::type.
| void QRhiMetalData::resetAndResizeBufferStagingArea | ( | int | frameSlot | ) |
Definition at line 6687 of file qrhimetal.mm.
References QRhiMetalData::StagingArea::highDemandFrames, QRhiMetalData::DeferredReleaseEntry::lastActiveFrameSlot, QRhiMetalData::StagingArea::lowDemandFrames, STAGING_AREA_HIGH_DEMAND_FRAMES, STAGING_AREA_LOW_DEMAND_FRAMES, QRhiMetalData::DeferredReleaseEntry::StagingBuffer, and QRhiMetalData::DeferredReleaseEntry::type.
Referenced by QRhiMetal::beginFrame(), and QRhiMetal::beginOffscreenFrame().
| void QRhiMetalData::resetAndResizeBufferStagingArea | ( | int | frameSlot | ) |
| bool QRhiMetalData::setupBinaryArchive | ( | NSURL * | sourceFileUrl = nil | ) |
Definition at line 622 of file qrhimetal.mm.
| bool QRhiMetalData::setupBinaryArchive | ( | NSURL * | sourceFileUrl = nil | ) |
| void QRhiMetalData::trySeedingComputePipelineFromBinaryArchive | ( | MTLComputePipelineDescriptor * | cpDesc | ) |
Definition at line 8004 of file qrhimetal.mm.
| void QRhiMetalData::trySeedingComputePipelineFromBinaryArchive | ( | MTLComputePipelineDescriptor * | cpDesc | ) |
| void QRhiMetalData::trySeedingRenderPipelineFromBinaryArchive | ( | MTLRenderPipelineDescriptor * | rpDesc | ) |
Definition at line 6972 of file qrhimetal.mm.
| void QRhiMetalData::trySeedingRenderPipelineFromBinaryArchive | ( | MTLRenderPipelineDescriptor * | rpDesc | ) |
| QVarLengthArray< BufferReadback, 2 > QRhiMetalData::activeBufferReadbacks |
Definition at line 284 of file qrhimetal.mm.
| QVarLengthArray< TextureReadback, 2 > QRhiMetalData::activeTextureReadbacks |
Definition at line 274 of file qrhimetal.mm.
| StagingArea QRhiMetalData::argBufPool |
Definition at line 318 of file qrhimetal.mm.
| id< MTLBinaryArchive > QRhiMetalData::binArch = nil |
Definition at line 186 of file qrhimetal.mm.
| StagingArea QRhiMetalData::bufStagingPool |
Definition at line 319 of file qrhimetal.mm.
| MTLCaptureManager * QRhiMetalData::captureMgr |
Definition at line 286 of file qrhimetal.mm.
| id< MTLCaptureScope > QRhiMetalData::captureScope = nil |
Definition at line 287 of file qrhimetal.mm.
| id< MTLCommandQueue > QRhiMetalData::cmdQueue = nil |
Definition at line 185 of file qrhimetal.mm.
| id< MTLDevice > QRhiMetalData::dev = nil |
Definition at line 184 of file qrhimetal.mm.
| quint64 QRhiMetalData::globalFrameId = 0 |
Definition at line 338 of file qrhimetal.mm.
| id< MTLIndirectCommandBuffer > QRhiMetalData::icb = nil |
Definition at line 290 of file qrhimetal.mm.
| id< MTLBuffer > QRhiMetalData::icbArgumentBuffer = nil |
Definition at line 298 of file qrhimetal.mm.
| NSUInteger QRhiMetalData::icbCapacity = 0 |
Definition at line 291 of file qrhimetal.mm.
| id< MTLFunction > QRhiMetalData::icbEncodeFunction = nil |
Definition at line 295 of file qrhimetal.mm.
| id< MTLFunction > QRhiMetalData::icbEncodeFunctionU16 = nil |
Definition at line 297 of file qrhimetal.mm.
| id< MTLFunction > QRhiMetalData::icbEncodeFunctionU32 = nil |
Definition at line 296 of file qrhimetal.mm.
| id< MTLComputePipelineState > QRhiMetalData::icbEncodePipeline = nil |
Definition at line 292 of file qrhimetal.mm.
| id< MTLComputePipelineState > QRhiMetalData::icbEncodePipelineU16 = nil |
Definition at line 294 of file qrhimetal.mm.
| id< MTLComputePipelineState > QRhiMetalData::icbEncodePipelineU32 = nil |
Definition at line 293 of file qrhimetal.mm.
| id< MTLBuffer > QRhiMetalData::icbNoCountBuffer = nil |
Definition at line 302 of file qrhimetal.mm.
| id< MTLBuffer > QRhiMetalData::icbRangeBuffer = nil |
Definition at line 300 of file qrhimetal.mm.
| bool QRhiMetalData::icbSetupFailed = false |
Definition at line 303 of file qrhimetal.mm.
Referenced by QRhiMetal::destroy(), and QRhiMetal::prepareIcbKernels().
|
staticconstexpr |
Definition at line 330 of file qrhimetal.mm.
| struct QRhiMetalData::OffscreenFrame QRhiMetalData::ofr |
| QRhiMetal * QRhiMetalData::q |
Definition at line 183 of file qrhimetal.mm.
Referenced by QRhiMetalData().
| QVector< DeferredReleaseEntry > QRhiMetalData::releaseQueue |
Definition at line 256 of file qrhimetal.mm.
| QHash< ShaderCacheKey, QMetalShader > QRhiMetalData::shaderCache |
Definition at line 308 of file qrhimetal.mm.
|
staticconstexpr |
Definition at line 334 of file qrhimetal.mm.
Referenced by resetAndResizeBufferStagingArea().
|
staticconstexpr |
Definition at line 333 of file qrhimetal.mm.
Referenced by resetAndResizeBufferStagingArea().
|
staticconstexpr |
Definition at line 332 of file qrhimetal.mm.
|
staticconstexpr |
Definition at line 331 of file qrhimetal.mm.
|
static |
Definition at line 305 of file qrhimetal.mm.