![]() |
Qt 6.x
The Qt SDK
|
Public Member Functions | |
quint32 | vsCompOutputBufferSize (quint32 vertexOrIndexCount, quint32 instanceCount) const |
quint32 | tescCompOutputBufferSize (quint32 patchCount) const |
quint32 | tescCompPatchOutputBufferSize (quint32 patchCount) const |
quint32 | patchCountForDrawCall (quint32 vertexOrIndexCount, quint32 instanceCount) const |
id< MTLComputePipelineState > | vsCompPipeline (QRhiMetal *rhiD, QShader::Variant vertexCompVariant) |
id< MTLComputePipelineState > | tescCompPipeline (QRhiMetal *rhiD) |
id< MTLRenderPipelineState > | teseFragRenderPipeline (QRhiMetal *rhiD, QMetalGraphicsPipeline *pipeline) |
Static Public Member Functions | |
static int | vsCompVariantToIndex (QShader::Variant vertexCompVariant) |
Public Attributes | |
QMetalGraphicsPipelineData * | q = nullptr |
bool | enabled = false |
bool | failed = false |
uint | inControlPointCount |
uint | outControlPointCount |
QMetalShader | compVs [3] |
std::array< id< MTLComputePipelineState >, 3 > | vertexComputeState = {} |
id< MTLComputePipelineState > | tessControlComputeState = nil |
QMetalShader | compTesc |
QMetalShader | vertTese |
Definition at line 389 of file qrhimetal.mm.
|
inline |
Definition at line 414 of file qrhimetal.mm.
References inControlPointCount, and instanceCount.
Referenced by QRhiMetal::tessellatedDraw().
|
inline |
Definition at line 405 of file qrhimetal.mm.
References outControlPointCount.
Referenced by QRhiMetal::tessellatedDraw().
|
inline |
Definition at line 409 of file qrhimetal.mm.
Referenced by QRhiMetal::tessellatedDraw().
id< MTLComputePipelineState > QMetalGraphicsPipelineData::Tessellation::tescCompPipeline | ( | QRhiMetal * | rhiD | ) |
Definition at line 5116 of file qrhimetal.mm.
References QRhiMetalData::addComputePipelineToBinaryArchive(), QRhiMetal::d, QRhiMetalData::dev, QRhi::EnablePipelineCacheDataSave, error, QMetalGraphicsPipelineData::ps, qPrintable, qWarning, release(), QRhiMetal::rhiFlags, and QRhiMetalData::trySeedingComputePipelineFromBinaryArchive().
Referenced by QRhiMetal::tessellatedDraw().
id< MTLRenderPipelineState > QMetalGraphicsPipelineData::Tessellation::teseFragRenderPipeline | ( | QRhiMetal * | rhiD, |
QMetalGraphicsPipeline * | pipeline | ||
) |
Definition at line 5315 of file qrhimetal.mm.
References QRhiMetalData::addRenderPipelineToBinaryArchive(), addUnusedVertexAttribute(), addVertexAttribute(), aligned(), alignment, QShaderDescription::ClipDistanceBuiltin, QMap< Key, T >::contains(), QSet< T >::contains(), QMetalGraphicsPipeline::d, QRhiMetal::d, QRhiMetalData::dev, QRhi::EnablePipelineCacheDataSave, error, QShaderDescription::Float, QMetalGraphicsPipelineData::fs, QMetalShader::func, QShaderDescription::Half2, QShaderDescription::Half4, init(), matches(), QShaderPrivate::MslTessTescPatchOutputBufferBinding, QShaderPrivate::MslTessTescTessLevelBufferBinding, QShaderPrivate::MslTessVertTescOutputBufferBinding, nextAttributeIndex(), QShaderDescription::PointSizeBuiltin, QShaderDescription::PositionBuiltin, QMetalGraphicsPipelineData::ps, qPrintable, QRHI_RES, qWarning, release(), QMap< Key, T >::remove(), QRhiGraphicsPipeline::renderPassDescriptor(), QRhiMetal::rhiFlags, QMetalGraphicsPipeline::setupAttachmentsInMetalRenderPassDescriptor(), QShaderDescription::TessLevelInnerBuiltin, QShaderDescription::TessLevelOuterBuiltin, toMetalTessellationPartitionMode(), toMetalTessellationWindingOrder(), QShaderDescription::TrianglesTessellationMode, QRhiMetalData::trySeedingRenderPipelineFromBinaryArchive(), QMap< Key, T >::value(), and QShaderDescription::Vec4.
|
inline |
Definition at line 400 of file qrhimetal.mm.
References instanceCount.
Referenced by QRhiMetal::tessellatedDraw().
id< MTLComputePipelineState > QMetalGraphicsPipelineData::Tessellation::vsCompPipeline | ( | QRhiMetal * | rhiD, |
QShader::Variant | vertexCompVariant | ||
) |
Definition at line 5062 of file qrhimetal.mm.
References QRhiMetalData::addComputePipelineToBinaryArchive(), QRhiMetal::d, QRhiMetalData::dev, QRhi::EnablePipelineCacheDataSave, error, QShaderPrivate::MslTessVertIndicesBufferBinding, QMetalGraphicsPipelineData::ps, qPrintable, qWarning, release(), QRhiMetal::rhiFlags, QRhiMetalData::trySeedingComputePipelineFromBinaryArchive(), QShader::UInt16IndexedVertexAsComputeShader, QShader::UInt32IndexedVertexAsComputeShader, and QMap< Key, T >::value().
Referenced by QRhiMetal::tessellatedDraw().
|
static |
Definition at line 5047 of file qrhimetal.mm.
References QShader::NonIndexedVertexAsComputeShader, QShader::UInt16IndexedVertexAsComputeShader, and QShader::UInt32IndexedVertexAsComputeShader.
Referenced by QRhiMetal::tessellatedDraw().
QMetalShader QMetalGraphicsPipelineData::Tessellation::compTesc |
Definition at line 398 of file qrhimetal.mm.
Referenced by QMetalGraphicsPipeline::destroy(), QRhiMetal::setShaderResources(), and QRhiMetal::tessellatedDraw().
QMetalShader QMetalGraphicsPipelineData::Tessellation::compVs[3] |
Definition at line 395 of file qrhimetal.mm.
Referenced by QMetalGraphicsPipeline::destroy(), QRhiMetal::setShaderResources(), and QRhiMetal::tessellatedDraw().
bool QMetalGraphicsPipelineData::Tessellation::enabled = false |
Definition at line 391 of file qrhimetal.mm.
Referenced by QRhiMetal::draw(), QRhiMetal::drawIndexed(), QRhiMetal::setGraphicsPipeline(), and QRhiMetal::setShaderResources().
bool QMetalGraphicsPipelineData::Tessellation::failed = false |
Definition at line 392 of file qrhimetal.mm.
Referenced by QRhiMetal::setGraphicsPipeline(), and QRhiMetal::tessellatedDraw().
uint QMetalGraphicsPipelineData::Tessellation::inControlPointCount |
Definition at line 393 of file qrhimetal.mm.
Referenced by patchCountForDrawCall(), and QRhiMetal::tessellatedDraw().
uint QMetalGraphicsPipelineData::Tessellation::outControlPointCount |
Definition at line 394 of file qrhimetal.mm.
Referenced by tescCompOutputBufferSize(), and QRhiMetal::tessellatedDraw().
QMetalGraphicsPipelineData* QMetalGraphicsPipelineData::Tessellation::q = nullptr |
Definition at line 390 of file qrhimetal.mm.
Referenced by QMetalGraphicsPipeline::QMetalGraphicsPipeline().
id<MTLComputePipelineState> QMetalGraphicsPipelineData::Tessellation::tessControlComputeState = nil |
Definition at line 397 of file qrhimetal.mm.
Referenced by QMetalGraphicsPipeline::destroy().
std::array<id<MTLComputePipelineState>, 3> QMetalGraphicsPipelineData::Tessellation::vertexComputeState = {} |
Definition at line 396 of file qrhimetal.mm.
Referenced by QMetalGraphicsPipeline::destroy().
QMetalShader QMetalGraphicsPipelineData::Tessellation::vertTese |
Definition at line 399 of file qrhimetal.mm.
Referenced by QMetalGraphicsPipeline::destroy(), and QRhiMetal::setShaderResources().