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>.
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)
 

Static Public Member Functions

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 403 of file qrhimetal.mm.

Member Function Documentation

◆ patchCountForDrawCall()

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

Definition at line 428 of file qrhimetal.mm.

References inControlPointCount, and instanceCount.

Referenced by QRhiMetal::tessellatedDraw().

+ Here is the caller graph for this function:

◆ tescCompOutputBufferSize()

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

Definition at line 419 of file qrhimetal.mm.

References outControlPointCount.

Referenced by QRhiMetal::tessellatedDraw().

+ Here is the caller graph for this function:

◆ tescCompPatchOutputBufferSize()

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

Definition at line 423 of file qrhimetal.mm.

Referenced by QRhiMetal::tessellatedDraw().

+ Here is the caller graph for this function:

◆ tescCompPipeline()

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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ teseFragRenderPipeline()

◆ vsCompOutputBufferSize()

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

Definition at line 414 of file qrhimetal.mm.

References instanceCount.

Referenced by QRhiMetal::tessellatedDraw().

+ Here is the caller graph for this function:

◆ vsCompPipeline()

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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vsCompVariantToIndex()

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

Definition at line 5105 of file qrhimetal.mm.

References QShader::NonIndexedVertexAsComputeShader, QShader::UInt16IndexedVertexAsComputeShader, and QShader::UInt32IndexedVertexAsComputeShader.

Referenced by QRhiMetal::tessellatedDraw().

+ Here is the caller graph for this function:

Member Data Documentation

◆ compTesc

QMetalShader QMetalGraphicsPipelineData::Tessellation::compTesc

Definition at line 412 of file qrhimetal.mm.

Referenced by QRhiMetal::tessellatedDraw().

◆ compVs

QMetalShader QMetalGraphicsPipelineData::Tessellation::compVs[3]

Definition at line 409 of file qrhimetal.mm.

Referenced by QRhiMetal::tessellatedDraw().

◆ enabled

bool QMetalGraphicsPipelineData::Tessellation::enabled = false

Definition at line 405 of file qrhimetal.mm.

◆ failed

bool QMetalGraphicsPipelineData::Tessellation::failed = false

Definition at line 406 of file qrhimetal.mm.

◆ inControlPointCount

uint QMetalGraphicsPipelineData::Tessellation::inControlPointCount

Definition at line 407 of file qrhimetal.mm.

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

◆ outControlPointCount

uint QMetalGraphicsPipelineData::Tessellation::outControlPointCount

Definition at line 408 of file qrhimetal.mm.

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

◆ q

QMetalGraphicsPipelineData* QMetalGraphicsPipelineData::Tessellation::q = nullptr

Definition at line 404 of file qrhimetal.mm.

◆ tessControlComputeState

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

Definition at line 411 of file qrhimetal.mm.

◆ vertexComputeState

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

Definition at line 410 of file qrhimetal.mm.

◆ vertTese

QMetalShader QMetalGraphicsPipelineData::Tessellation::vertTese

Definition at line 413 of file qrhimetal.mm.


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