Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QMetalGraphicsPipelineData::Tessellation Struct Reference
Collaboration diagram for QMetalGraphicsPipelineData::Tessellation:

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)
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)
static int vsCompVariantToIndex (QShader::Variant vertexCompVariant)

Public Attributes

QMetalGraphicsPipelineDataq = 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

Detailed Description

Definition at line 419 of file qrhimetal.mm.

Member Function Documentation

◆ patchCountForDrawCall() [1/2]

quint32 QMetalGraphicsPipelineData::Tessellation::patchCountForDrawCall ( quint32 vertexOrIndexCount,
quint32 instanceCount ) const
inline

Definition at line 444 of file qrhimetal.mm.

References inControlPointCount.

◆ patchCountForDrawCall() [2/2]

quint32 QMetalGraphicsPipelineData::Tessellation::patchCountForDrawCall ( quint32 vertexOrIndexCount,
quint32 instanceCount ) const
inline

Definition at line 444 of file qrhimetal.mm.

◆ tescCompOutputBufferSize() [1/2]

quint32 QMetalGraphicsPipelineData::Tessellation::tescCompOutputBufferSize ( quint32 patchCount) const
inline

Definition at line 435 of file qrhimetal.mm.

References outControlPointCount.

◆ tescCompOutputBufferSize() [2/2]

quint32 QMetalGraphicsPipelineData::Tessellation::tescCompOutputBufferSize ( quint32 patchCount) const
inline

Definition at line 435 of file qrhimetal.mm.

◆ tescCompPatchOutputBufferSize() [1/2]

quint32 QMetalGraphicsPipelineData::Tessellation::tescCompPatchOutputBufferSize ( quint32 patchCount) const
inline

Definition at line 439 of file qrhimetal.mm.

◆ tescCompPatchOutputBufferSize() [2/2]

quint32 QMetalGraphicsPipelineData::Tessellation::tescCompPatchOutputBufferSize ( quint32 patchCount) const
inline

Definition at line 439 of file qrhimetal.mm.

◆ tescCompPipeline() [1/2]

id< MTLComputePipelineState > QMetalGraphicsPipelineData::Tessellation::tescCompPipeline ( QRhiMetal * rhiD)

Definition at line 5315 of file qrhimetal.mm.

References QRhiMetal::d.

◆ tescCompPipeline() [2/2]

id< MTLComputePipelineState > QMetalGraphicsPipelineData::Tessellation::tescCompPipeline ( QRhiMetal * rhiD)

◆ teseFragRenderPipeline() [1/2]

id< MTLRenderPipelineState > QMetalGraphicsPipelineData::Tessellation::teseFragRenderPipeline ( QRhiMetal * rhiD,
QMetalGraphicsPipeline * pipeline )

Definition at line 5514 of file qrhimetal.mm.

References QMetalGraphicsPipeline::d, QRhiMetal::d, and QMetalGraphicsPipeline::setupAttachmentsInMetalRenderPassDescriptor().

Here is the call graph for this function:

◆ teseFragRenderPipeline() [2/2]

id< MTLRenderPipelineState > QMetalGraphicsPipelineData::Tessellation::teseFragRenderPipeline ( QRhiMetal * rhiD,
QMetalGraphicsPipeline * pipeline )

◆ vsCompOutputBufferSize() [1/2]

quint32 QMetalGraphicsPipelineData::Tessellation::vsCompOutputBufferSize ( quint32 vertexOrIndexCount,
quint32 instanceCount ) const
inline

Definition at line 430 of file qrhimetal.mm.

◆ vsCompOutputBufferSize() [2/2]

quint32 QMetalGraphicsPipelineData::Tessellation::vsCompOutputBufferSize ( quint32 vertexOrIndexCount,
quint32 instanceCount ) const
inline

Definition at line 430 of file qrhimetal.mm.

◆ vsCompPipeline() [1/2]

id< MTLComputePipelineState > QMetalGraphicsPipelineData::Tessellation::vsCompPipeline ( QRhiMetal * rhiD,
QShader::Variant vertexCompVariant )

Definition at line 5261 of file qrhimetal.mm.

References QRhiMetal::d, and q.

◆ vsCompPipeline() [2/2]

id< MTLComputePipelineState > QMetalGraphicsPipelineData::Tessellation::vsCompPipeline ( QRhiMetal * rhiD,
QShader::Variant vertexCompVariant )

◆ vsCompVariantToIndex() [1/2]

int QMetalGraphicsPipelineData::Tessellation::vsCompVariantToIndex ( QShader::Variant vertexCompVariant)
static

Definition at line 5246 of file qrhimetal.mm.

◆ vsCompVariantToIndex() [2/2]

int QMetalGraphicsPipelineData::Tessellation::vsCompVariantToIndex ( QShader::Variant vertexCompVariant)
static

Member Data Documentation

◆ compTesc

QMetalShader QMetalGraphicsPipelineData::Tessellation::compTesc

Definition at line 428 of file qrhimetal.mm.

◆ compVs

QMetalShader QMetalGraphicsPipelineData::Tessellation::compVs

Definition at line 425 of file qrhimetal.mm.

◆ enabled

bool QMetalGraphicsPipelineData::Tessellation::enabled = false

Definition at line 421 of file qrhimetal.mm.

◆ failed

bool QMetalGraphicsPipelineData::Tessellation::failed = false

Definition at line 422 of file qrhimetal.mm.

◆ inControlPointCount

uint QMetalGraphicsPipelineData::Tessellation::inControlPointCount

Definition at line 423 of file qrhimetal.mm.

Referenced by patchCountForDrawCall(), and QRhiMetal::tessellatedDraw().

◆ outControlPointCount

uint QMetalGraphicsPipelineData::Tessellation::outControlPointCount

Definition at line 424 of file qrhimetal.mm.

Referenced by tescCompOutputBufferSize().

◆ q

QMetalGraphicsPipelineData * QMetalGraphicsPipelineData::Tessellation::q = nullptr

Definition at line 420 of file qrhimetal.mm.

Referenced by vsCompPipeline().

◆ tessControlComputeState

id< MTLComputePipelineState > QMetalGraphicsPipelineData::Tessellation::tessControlComputeState = nil

Definition at line 427 of file qrhimetal.mm.

◆ vertexComputeState

std::array< id< MTLComputePipelineState >, 3 > QMetalGraphicsPipelineData::Tessellation::vertexComputeState = {}

Definition at line 426 of file qrhimetal.mm.

◆ vertTese

QMetalShader QMetalGraphicsPipelineData::Tessellation::vertTese

Definition at line 429 of file qrhimetal.mm.


The documentation for this struct was generated from the following file: