Qt 6.x
The Qt SDK
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 389 of file qrhimetal.mm.

Member Function Documentation

◆ patchCountForDrawCall()

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

Definition at line 414 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 405 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 409 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 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().

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

◆ teseFragRenderPipeline()

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

◆ vsCompOutputBufferSize()

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

Definition at line 400 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 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().

+ 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 5047 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

◆ compVs

QMetalShader QMetalGraphicsPipelineData::Tessellation::compVs[3]

◆ enabled

bool QMetalGraphicsPipelineData::Tessellation::enabled = false

◆ failed

bool QMetalGraphicsPipelineData::Tessellation::failed = false

Definition at line 392 of file qrhimetal.mm.

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

◆ inControlPointCount

uint QMetalGraphicsPipelineData::Tessellation::inControlPointCount

Definition at line 393 of file qrhimetal.mm.

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

◆ outControlPointCount

uint QMetalGraphicsPipelineData::Tessellation::outControlPointCount

Definition at line 394 of file qrhimetal.mm.

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

◆ q

QMetalGraphicsPipelineData* QMetalGraphicsPipelineData::Tessellation::q = nullptr

Definition at line 390 of file qrhimetal.mm.

Referenced by QMetalGraphicsPipeline::QMetalGraphicsPipeline().

◆ tessControlComputeState

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

Definition at line 397 of file qrhimetal.mm.

Referenced by QMetalGraphicsPipeline::destroy().

◆ vertexComputeState

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

Definition at line 396 of file qrhimetal.mm.

Referenced by QMetalGraphicsPipeline::destroy().

◆ vertTese

QMetalShader QMetalGraphicsPipelineData::Tessellation::vertTese

Definition at line 399 of file qrhimetal.mm.

Referenced by QMetalGraphicsPipeline::destroy(), and QRhiMetal::setShaderResources().


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