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>.
|
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 403 of file qrhimetal.mm.
|
inline |
Definition at line 428 of file qrhimetal.mm.
References inControlPointCount, and instanceCount.
Referenced by QRhiMetal::tessellatedDraw().
|
inline |
Definition at line 419 of file qrhimetal.mm.
References outControlPointCount.
Referenced by QRhiMetal::tessellatedDraw().
|
inline |
Definition at line 423 of file qrhimetal.mm.
Referenced by QRhiMetal::tessellatedDraw().
id< MTLComputePipelineState > QMetalGraphicsPipelineData::Tessellation::tescCompPipeline | ( | QRhiMetal * | rhiD | ) |
Definition at line 5174 of file qrhimetal.mm.
References QRhi::EnablePipelineCacheDataSave, error, QMetalGraphicsPipelineData::ps, qPrintable, qWarning, and release().
Referenced by QRhiMetal::tessellatedDraw().
id< MTLRenderPipelineState > QMetalGraphicsPipelineData::Tessellation::teseFragRenderPipeline | ( | QRhiMetal * | rhiD, |
QMetalGraphicsPipeline * | pipeline ) |
Definition at line 5373 of file qrhimetal.mm.
References addUnusedVertexAttribute(), addVertexAttribute(), aligned(), alignment, QShaderDescription::ClipDistanceBuiltin, QMetalGraphicsPipeline::d, 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(), QRhiGraphicsPipeline::renderPassDescriptor(), QMetalGraphicsPipeline::setupAttachmentsInMetalRenderPassDescriptor(), QShaderDescription::TessLevelInnerBuiltin, QShaderDescription::TessLevelOuterBuiltin, toMetalTessellationPartitionMode(), toMetalTessellationWindingOrder(), QShaderDescription::TrianglesTessellationMode, QShaderDescription::InOutVariable::type, and QShaderDescription::Vec4.
|
inline |
Definition at line 414 of file qrhimetal.mm.
References instanceCount.
Referenced by QRhiMetal::tessellatedDraw().
id< MTLComputePipelineState > QMetalGraphicsPipelineData::Tessellation::vsCompPipeline | ( | QRhiMetal * | rhiD, |
QShader::Variant | vertexCompVariant ) |
Definition at line 5120 of file qrhimetal.mm.
References QRhi::EnablePipelineCacheDataSave, error, QShaderPrivate::MslTessVertIndicesBufferBinding, QMetalGraphicsPipelineData::ps, qPrintable, qWarning, release(), QShader::UInt16IndexedVertexAsComputeShader, and QShader::UInt32IndexedVertexAsComputeShader.
Referenced by QRhiMetal::tessellatedDraw().
|
static |
Definition at line 5105 of file qrhimetal.mm.
References QShader::NonIndexedVertexAsComputeShader, QShader::UInt16IndexedVertexAsComputeShader, and QShader::UInt32IndexedVertexAsComputeShader.
Referenced by QRhiMetal::tessellatedDraw().
QMetalShader QMetalGraphicsPipelineData::Tessellation::compTesc |
Definition at line 412 of file qrhimetal.mm.
Referenced by QRhiMetal::tessellatedDraw().
QMetalShader QMetalGraphicsPipelineData::Tessellation::compVs[3] |
Definition at line 409 of file qrhimetal.mm.
Referenced by QRhiMetal::tessellatedDraw().
bool QMetalGraphicsPipelineData::Tessellation::enabled = false |
Definition at line 405 of file qrhimetal.mm.
bool QMetalGraphicsPipelineData::Tessellation::failed = false |
Definition at line 406 of file qrhimetal.mm.
uint QMetalGraphicsPipelineData::Tessellation::inControlPointCount |
Definition at line 407 of file qrhimetal.mm.
Referenced by patchCountForDrawCall(), and QRhiMetal::tessellatedDraw().
uint QMetalGraphicsPipelineData::Tessellation::outControlPointCount |
Definition at line 408 of file qrhimetal.mm.
Referenced by tescCompOutputBufferSize(), and QRhiMetal::tessellatedDraw().
QMetalGraphicsPipelineData* QMetalGraphicsPipelineData::Tessellation::q = nullptr |
Definition at line 404 of file qrhimetal.mm.
id<MTLComputePipelineState> QMetalGraphicsPipelineData::Tessellation::tessControlComputeState = nil |
Definition at line 411 of file qrhimetal.mm.
std::array<id<MTLComputePipelineState>, 3> QMetalGraphicsPipelineData::Tessellation::vertexComputeState = {} |
Definition at line 410 of file qrhimetal.mm.
QMetalShader QMetalGraphicsPipelineData::Tessellation::vertTese |
Definition at line 413 of file qrhimetal.mm.