Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qrhimetal.mm File Reference
#include "qrhimetal_p.h"
#include "qshader_p.h"
#include <QGuiApplication>
#include <QWindow>
#include <QUrl>
#include <QFile>
#include <QTemporaryFile>
#include <QFileInfo>
#include <qmath.h>
#include <QOperatingSystemVersion>
#include <QtCore/private/qcore_mac_p.h>
#include <UIKit/UIKit.h>
#include <Metal/Metal.h>
#include <QuartzCore/CAMetalLayer.h>
+ Include dependency graph for qrhimetal.mm:

Go to the source code of this file.

Classes

struct  QMetalShader
 \variable QRhiMetalCommandBufferNativeHandles::commandBuffer More...
 
struct  QRhiMetalData
 
struct  QRhiMetalData::DeferredReleaseEntry
 
struct  QRhiMetalData::OffscreenFrame
 
struct  QRhiMetalData::TextureReadback
 
struct  QRhiMetalData::BufferReadback
 
struct  QMetalBufferData
 
struct  QMetalBufferData::BufferUpdate
 
struct  QMetalRenderBufferData
 
struct  QMetalTextureData
 
struct  QMetalSamplerData
 
struct  QMetalShaderResourceBindingsData
 
struct  QMetalShaderResourceBindingsData::Stage
 
struct  QMetalShaderResourceBindingsData::Stage::Buffer
 
struct  QMetalShaderResourceBindingsData::Stage::Texture
 
struct  QMetalShaderResourceBindingsData::Stage::Sampler
 
struct  QMetalCommandBufferData
 
struct  QMetalRenderTargetData
 
struct  QMetalRenderTargetData::ColorAtt
 
struct  QMetalGraphicsPipelineData
 
struct  QMetalGraphicsPipelineData::ExtraBufferManager
 
struct  QMetalGraphicsPipelineData::Tessellation
 
struct  QMetalComputePipelineData
 
struct  QMetalSwapChainData
 
struct  QMetalPipelineCacheDataHeader
 

Enumerations

enum class  BindingType { Buffer , Texture , Sampler }
 

Functions

 Q_DECLARE_TYPEINFO (QRhiMetalData::DeferredReleaseEntry, Q_RELOCATABLE_TYPE)
 
 Q_DECLARE_TYPEINFO (QRhiMetalData::TextureReadback, Q_RELOCATABLE_TYPE)
 
template<class Int >
Int aligned (Int v, Int byteAlign)
 
static int mapBinding (int binding, int stageIndex, const QShader::NativeResourceBindingMap *nativeResourceBindingMaps[], BindingType type)
 
static void bindStageBuffers (QMetalCommandBuffer *cbD, int stage, const QRhiBatchedBindings< id< MTLBuffer > >::Batch &bufferBatch, const QRhiBatchedBindings< NSUInteger >::Batch &offsetBatch)
 
static void bindStageTextures (QMetalCommandBuffer *cbD, int stage, const QRhiBatchedBindings< id< MTLTexture > >::Batch &textureBatch)
 
static void bindStageSamplers (QMetalCommandBuffer *cbD, int encoderStage, const QRhiBatchedBindings< id< MTLSamplerState > >::Batch &samplerBatch)
 
static void rebindShaderResources (QMetalCommandBuffer *cbD, int resourceStage, int encoderStage, const QMetalShaderResourceBindingsData *customBindingState=nullptr)
 
static QRhiShaderResourceBinding::StageFlag toRhiSrbStage (int stage)
 
static id< MTLComputeCommandEncoder > tessellationComputeEncoder (QMetalCommandBuffer *cbD)
 
static void endTessellationComputeEncoding (QMetalCommandBuffer *cbD)
 
static void qrhimtl_releaseBuffer (const QRhiMetalData::DeferredReleaseEntry &e)
 
static void qrhimtl_releaseRenderBuffer (const QRhiMetalData::DeferredReleaseEntry &e)
 
static void qrhimtl_releaseTexture (const QRhiMetalData::DeferredReleaseEntry &e)
 
static void qrhimtl_releaseSampler (const QRhiMetalData::DeferredReleaseEntry &e)
 
static MTLPixelFormat toMetalTextureFormat (QRhiTexture::Format format, QRhiTexture::Flags flags, const QRhiMetal *d)
 
static MTLSamplerMinMagFilter toMetalFilter (QRhiSampler::Filter f)
 
static MTLSamplerMipFilter toMetalMipmapMode (QRhiSampler::Filter f)
 
static MTLSamplerAddressMode toMetalAddressMode (QRhiSampler::AddressMode m)
 
static MTLCompareFunction toMetalTextureCompareFunction (QRhiSampler::CompareOp op)
 
static MTLVertexFormat toMetalAttributeFormat (QRhiVertexInputAttribute::Format format)
 
static MTLBlendFactor toMetalBlendFactor (QRhiGraphicsPipeline::BlendFactor f)
 
static MTLBlendOperation toMetalBlendOp (QRhiGraphicsPipeline::BlendOp op)
 
static uint toMetalColorWriteMask (QRhiGraphicsPipeline::ColorMask c)
 
static MTLCompareFunction toMetalCompareOp (QRhiGraphicsPipeline::CompareOp op)
 
static MTLStencilOperation toMetalStencilOp (QRhiGraphicsPipeline::StencilOp op)
 
static MTLPrimitiveType toMetalPrimitiveType (QRhiGraphicsPipeline::Topology t)
 
static MTLPrimitiveTopologyClass toMetalPrimitiveTopologyClass (QRhiGraphicsPipeline::Topology t)
 
static MTLCullMode toMetalCullMode (QRhiGraphicsPipeline::CullMode c)
 
static MTLTriangleFillMode toMetalTriangleFillMode (QRhiGraphicsPipeline::PolygonMode mode)
 
static MTLWinding toMetalTessellationWindingOrder (QShaderDescription::TessellationWindingOrder w)
 
static MTLTessellationPartitionMode toMetalTessellationPartitionMode (QShaderDescription::TessellationPartitioning p)
 
static MTLLanguageVersion toMetalLanguageVersion (const QShaderVersion &version)
 
static bool canAddToBinaryArchive (QRhiMetalData *d)
 
static bool indexTaken (quint32 index, quint64 indices)
 
static void takeIndex (quint32 index, quint64 &indices)
 
static int nextAttributeIndex (quint64 indices)
 
static int aligned (quint32 offset, quint32 alignment)
 
template<typename T >
static void addUnusedVertexAttribute (const T &variable, QRhiMetal *rhiD, quint32 &offset, quint32 &vertexAlignment)
 
template<typename T >
static void addVertexAttribute (const T &variable, int binding, QRhiMetal *rhiD, int &index, quint32 &offset, MTLVertexAttributeDescriptorArray *attributes, quint64 &indices, quint32 &vertexAlignment)
 
static bool matches (const QList< QShaderDescription::BlockVariable > &a, const QList< QShaderDescription::BlockVariable > &b)
 
static bool matches (const QShaderDescription::InOutVariable &a, const QShaderDescription::InOutVariable &b)
 
static CAMetalLayer * layerForWindow (QWindow *window)
 

Enumeration Type Documentation

◆ BindingType

enum class BindingType
strong
Enumerator
Buffer 
Texture 
Sampler 

Definition at line 1093 of file qrhimetal.mm.

Function Documentation

◆ addUnusedVertexAttribute()

template<typename T >
static void addUnusedVertexAttribute ( const T &  variable,
QRhiMetal rhiD,
quint32 offset,
quint32 vertexAlignment 
)
static

Definition at line 5177 of file qrhimetal.mm.

References addUnusedVertexAttribute(), aligned(), alignment, QRhiImplementation::byteSizePerVertexForVertexInputFormat(), elements, QRhiImplementation::shaderDescVariableFormatToVertexInputFormat(), and QShaderDescription::Struct.

Referenced by addUnusedVertexAttribute(), and QMetalGraphicsPipelineData::Tessellation::teseFragRenderPipeline().

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

◆ addVertexAttribute()

template<typename T >
static void addVertexAttribute ( const T &  variable,
int  binding,
QRhiMetal rhiD,
int &  index,
quint32 offset,
MTLVertexAttributeDescriptorArray *  attributes,
quint64 indices,
quint32 vertexAlignment 
)
static

Definition at line 5207 of file qrhimetal.mm.

References addVertexAttribute(), aligned(), alignment, QRhiImplementation::byteSizePerVertexForVertexInputFormat(), elements, indexTaken(), nextAttributeIndex(), Q_ASSERT, QRhiImplementation::shaderDescVariableFormatToVertexInputFormat(), QShaderDescription::Struct, takeIndex(), and toMetalAttributeFormat().

Referenced by addVertexAttribute(), and QMetalGraphicsPipelineData::Tessellation::teseFragRenderPipeline().

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

◆ aligned() [1/2]

template<class Int >
Int aligned ( Int  v,
Int  byteAlign 
)
inline

Definition at line 483 of file qrhimetal.mm.

Referenced by addUnusedVertexAttribute(), addVertexAttribute(), and QMetalGraphicsPipelineData::Tessellation::teseFragRenderPipeline().

+ Here is the caller graph for this function:

◆ aligned() [2/2]

static int aligned ( quint32  offset,
quint32  alignment 
)
inlinestatic

Definition at line 5171 of file qrhimetal.mm.

References alignment.

◆ bindStageBuffers()

static void bindStageBuffers ( QMetalCommandBuffer cbD,
int  stage,
const QRhiBatchedBindings< id< MTLBuffer > >::Batch &  bufferBatch,
const QRhiBatchedBindings< NSUInteger >::Batch &  offsetBatch 
)
inlinestatic

Definition at line 1118 of file qrhimetal.mm.

References QMetalShaderResourceBindingsData::COMPUTE, QVarLengthArray< T, Prealloc >::constData(), QMetalCommandBufferData::currentComputePassEncoder, QMetalCommandBufferData::currentRenderPassEncoder, QMetalCommandBuffer::d, QMetalShaderResourceBindingsData::FRAGMENT, QRhiBatchedBindings< T >::Batch::resources, QMetalShaderResourceBindingsData::TESSCTRL, QMetalShaderResourceBindingsData::TESSEVAL, and QMetalShaderResourceBindingsData::VERTEX.

Referenced by QRhiMetal::enqueueShaderResourceBindings(), and rebindShaderResources().

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

◆ bindStageSamplers()

static void bindStageSamplers ( QMetalCommandBuffer cbD,
int  encoderStage,
const QRhiBatchedBindings< id< MTLSamplerState > >::Batch &  samplerBatch 
)
inlinestatic

◆ bindStageTextures()

static void bindStageTextures ( QMetalCommandBuffer cbD,
int  stage,
const QRhiBatchedBindings< id< MTLTexture > >::Batch &  textureBatch 
)
inlinestatic

◆ canAddToBinaryArchive()

static bool canAddToBinaryArchive ( QRhiMetalData d)
static

Definition at line 4891 of file qrhimetal.mm.

References d, iOS, and qCDebug.

Referenced by QRhiMetalData::addComputePipelineToBinaryArchive(), and QRhiMetalData::addRenderPipelineToBinaryArchive().

+ Here is the caller graph for this function:

◆ endTessellationComputeEncoding()

static void endTessellationComputeEncoding ( QMetalCommandBuffer cbD)
static

Definition at line 1908 of file qrhimetal.mm.

References QVarLengthArray< T, Prealloc >::append(), QMetalCommandBufferData::cb, QMetalRenderTargetData::colorAttCount, QMetalCommandBufferData::currentPassRpDesc, QMetalCommandBufferData::currentRenderPassEncoder, QMetalCommandBuffer::currentTarget, QMetalCommandBuffer::d, QMetalRenderTargetData::dsAttCount, i, Q_ASSERT, QRHI_RES, QMetalCommandBuffer::resetPerPassCachedState(), QRhiResource::resourceType(), QRhiResource::SwapChainRenderTarget, QMetalCommandBufferData::tessellationComputeEncoder, and QRhiResource::TextureRenderTarget.

Referenced by QRhiMetal::tessellatedDraw().

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

◆ indexTaken()

static bool indexTaken ( quint32  index,
quint64  indices 
)
inlinestatic

Definition at line 5145 of file qrhimetal.mm.

Referenced by addVertexAttribute(), and nextAttributeIndex().

+ Here is the caller graph for this function:

◆ layerForWindow()

static CAMetalLayer * layerForWindow ( QWindow window)
inlinestatic

Definition at line 6144 of file qrhimetal.mm.

References Q_ASSERT, view, and window().

Referenced by QRhiMetal::updateSwapChainProxyData().

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

◆ mapBinding()

static int mapBinding ( int  binding,
int  stageIndex,
const QShader::NativeResourceBindingMap nativeResourceBindingMaps[],
BindingType  type 
)
inlinestatic

Definition at line 1099 of file qrhimetal.mm.

References QMap< Key, T >::cend(), QMap< Key, T >::constFind(), QMap< Key, T >::isEmpty(), it, map, and Sampler.

+ Here is the call graph for this function:

◆ matches() [1/2]

static bool matches ( const QList< QShaderDescription::BlockVariable > &  a,
const QList< QShaderDescription::BlockVariable > &  b 
)
inlinestatic

Definition at line 5248 of file qrhimetal.mm.

References i, match(), and matches().

Referenced by matches(), matches(), and QMetalGraphicsPipelineData::Tessellation::teseFragRenderPipeline().

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

◆ matches() [2/2]

static bool matches ( const QShaderDescription::InOutVariable a,
const QShaderDescription::InOutVariable b 
)
inlinestatic

Definition at line 5263 of file qrhimetal.mm.

References matches().

+ Here is the call graph for this function:

◆ nextAttributeIndex()

static int nextAttributeIndex ( quint64  indices)
inlinestatic

Definition at line 5155 of file qrhimetal.mm.

References indexTaken().

Referenced by addVertexAttribute(), and QMetalGraphicsPipelineData::Tessellation::teseFragRenderPipeline().

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

◆ Q_DECLARE_TYPEINFO() [1/2]

◆ Q_DECLARE_TYPEINFO() [2/2]

Q_DECLARE_TYPEINFO ( QRhiMetalData::TextureReadback  ,
Q_RELOCATABLE_TYPE   
)

◆ qrhimtl_releaseBuffer()

static void qrhimtl_releaseBuffer ( const QRhiMetalData::DeferredReleaseEntry e)
static

Definition at line 3068 of file qrhimetal.mm.

References e, i, QMTL_FRAMES_IN_FLIGHT, and release().

Referenced by QRhiMetal::executeDeferredReleases().

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

◆ qrhimtl_releaseRenderBuffer()

static void qrhimtl_releaseRenderBuffer ( const QRhiMetalData::DeferredReleaseEntry e)
static

Definition at line 3074 of file qrhimetal.mm.

References e, and release().

Referenced by QRhiMetal::executeDeferredReleases().

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

◆ qrhimtl_releaseSampler()

static void qrhimtl_releaseSampler ( const QRhiMetalData::DeferredReleaseEntry e)
static

Definition at line 3088 of file qrhimetal.mm.

References e, and release().

Referenced by QRhiMetal::executeDeferredReleases().

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

◆ qrhimtl_releaseTexture()

static void qrhimtl_releaseTexture ( const QRhiMetalData::DeferredReleaseEntry e)
static

Definition at line 3079 of file qrhimetal.mm.

References e, i, QRhi::MAX_MIP_LEVELS, QMTL_FRAMES_IN_FLIGHT, and release().

Referenced by QRhiMetal::executeDeferredReleases().

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

◆ rebindShaderResources()

static void rebindShaderResources ( QMetalCommandBuffer cbD,
int  resourceStage,
int  encoderStage,
const QMetalShaderResourceBindingsData customBindingState = nullptr 
)
inlinestatic

Definition at line 1208 of file qrhimetal.mm.

References QRhiBatchedBindings< T >::batches, bindStageBuffers(), bindStageSamplers(), bindStageTextures(), QMetalShaderResourceBindingsData::Stage::bufferBatches, QMetalShaderResourceBindingsData::Stage::bufferOffsetBatches, QMetalCommandBufferData::currentShaderResourceBindingState, QMetalCommandBuffer::d, i, QMetalShaderResourceBindingsData::res, QMetalShaderResourceBindingsData::Stage::samplerBatches, and QMetalShaderResourceBindingsData::Stage::textureBatches.

Referenced by QRhiMetal::tessellatedDraw().

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

◆ takeIndex()

static void takeIndex ( quint32  index,
quint64 indices 
)
inlinestatic

Definition at line 5150 of file qrhimetal.mm.

Referenced by addVertexAttribute().

+ Here is the caller graph for this function:

◆ tessellationComputeEncoder()

static id< MTLComputeCommandEncoder > tessellationComputeEncoder ( QMetalCommandBuffer cbD)
static

Definition at line 1895 of file qrhimetal.mm.

References QMetalCommandBufferData::cb, QMetalCommandBufferData::currentRenderPassEncoder, QMetalCommandBuffer::d, and QMetalCommandBufferData::tessellationComputeEncoder.

Referenced by QRhiMetal::tessellatedDraw().

+ Here is the caller graph for this function:

◆ toMetalAddressMode()

static MTLSamplerAddressMode toMetalAddressMode ( QRhiSampler::AddressMode  m)
inlinestatic

Definition at line 3944 of file qrhimetal.mm.

References QRhiSampler::ClampToEdge, QRhiSampler::Mirror, and QRhiSampler::Repeat.

Referenced by QMetalSampler::create().

+ Here is the caller graph for this function:

◆ toMetalAttributeFormat()

◆ toMetalBlendFactor()

◆ toMetalBlendOp()

static MTLBlendOperation toMetalBlendOp ( QRhiGraphicsPipeline::BlendOp  op)
inlinestatic

Definition at line 4472 of file qrhimetal.mm.

References QRhiGraphicsPipeline::Add, QRhiGraphicsPipeline::Max, QRhiGraphicsPipeline::Min, QRhiGraphicsPipeline::ReverseSubtract, and QRhiGraphicsPipeline::Subtract.

Referenced by QMetalGraphicsPipeline::setupAttachmentsInMetalRenderPassDescriptor().

+ Here is the caller graph for this function:

◆ toMetalColorWriteMask()

static uint toMetalColorWriteMask ( QRhiGraphicsPipeline::ColorMask  c)
inlinestatic

Definition at line 4491 of file qrhimetal.mm.

References QRhiGraphicsPipeline::A, QRhiGraphicsPipeline::B, QRhiGraphicsPipeline::G, and QRhiGraphicsPipeline::R.

Referenced by QMetalGraphicsPipeline::setupAttachmentsInMetalRenderPassDescriptor().

+ Here is the caller graph for this function:

◆ toMetalCompareOp()

static MTLCompareFunction toMetalCompareOp ( QRhiGraphicsPipeline::CompareOp  op)
inlinestatic

Definition at line 4505 of file qrhimetal.mm.

References QRhiGraphicsPipeline::Always, QRhiGraphicsPipeline::Equal, QRhiGraphicsPipeline::Greater, QRhiGraphicsPipeline::GreaterOrEqual, QRhiGraphicsPipeline::Less, QRhiGraphicsPipeline::LessOrEqual, QRhiGraphicsPipeline::Never, and QRhiGraphicsPipeline::NotEqual.

Referenced by QMetalGraphicsPipeline::setupMetalDepthStencilDescriptor().

+ Here is the caller graph for this function:

◆ toMetalCullMode()

static MTLCullMode toMetalCullMode ( QRhiGraphicsPipeline::CullMode  c)
inlinestatic

Definition at line 4592 of file qrhimetal.mm.

References QRhiGraphicsPipeline::Back, QRhiGraphicsPipeline::Front, and QRhiGraphicsPipeline::None.

Referenced by QMetalGraphicsPipeline::mapStates().

+ Here is the caller graph for this function:

◆ toMetalFilter()

static MTLSamplerMinMagFilter toMetalFilter ( QRhiSampler::Filter  f)
inlinestatic

Definition at line 3916 of file qrhimetal.mm.

References QRhiSampler::Linear, and QRhiSampler::Nearest.

Referenced by QMetalSampler::create().

+ Here is the caller graph for this function:

◆ toMetalLanguageVersion()

static MTLLanguageVersion toMetalLanguageVersion ( const QShaderVersion version)
inlinestatic

Definition at line 4648 of file qrhimetal.mm.

References QShaderVersion::version().

Referenced by QRhiMetalData::createMetalLib().

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

◆ toMetalMipmapMode()

static MTLSamplerMipFilter toMetalMipmapMode ( QRhiSampler::Filter  f)
inlinestatic

Definition at line 3929 of file qrhimetal.mm.

References QRhiSampler::Linear, QRhiSampler::Nearest, and QRhiSampler::None.

Referenced by QMetalSampler::create().

+ Here is the caller graph for this function:

◆ toMetalPrimitiveTopologyClass()

static MTLPrimitiveTopologyClass toMetalPrimitiveTopologyClass ( QRhiGraphicsPipeline::Topology  t)
inlinestatic

Definition at line 4574 of file qrhimetal.mm.

References QRhiGraphicsPipeline::Lines, QRhiGraphicsPipeline::LineStrip, QRhiGraphicsPipeline::Points, QRhiGraphicsPipeline::TriangleFan, QRhiGraphicsPipeline::Triangles, and QRhiGraphicsPipeline::TriangleStrip.

Referenced by QMetalGraphicsPipeline::createVertexFragmentPipeline().

+ Here is the caller graph for this function:

◆ toMetalPrimitiveType()

static MTLPrimitiveType toMetalPrimitiveType ( QRhiGraphicsPipeline::Topology  t)
inlinestatic

Definition at line 4555 of file qrhimetal.mm.

References QRhiGraphicsPipeline::Lines, QRhiGraphicsPipeline::LineStrip, QRhiGraphicsPipeline::Points, QRhiGraphicsPipeline::Triangles, and QRhiGraphicsPipeline::TriangleStrip.

Referenced by QMetalGraphicsPipeline::createVertexFragmentPipeline().

+ Here is the caller graph for this function:

◆ toMetalStencilOp()

static MTLStencilOperation toMetalStencilOp ( QRhiGraphicsPipeline::StencilOp  op)
inlinestatic

◆ toMetalTessellationPartitionMode()

static MTLTessellationPartitionMode toMetalTessellationPartitionMode ( QShaderDescription::TessellationPartitioning  p)
inlinestatic

Definition at line 4633 of file qrhimetal.mm.

References QShaderDescription::EqualTessellationPartitioning, QShaderDescription::FractionalEvenTessellationPartitioning, and QShaderDescription::FractionalOddTessellationPartitioning.

Referenced by QMetalGraphicsPipelineData::Tessellation::teseFragRenderPipeline().

+ Here is the caller graph for this function:

◆ toMetalTessellationWindingOrder()

static MTLWinding toMetalTessellationWindingOrder ( QShaderDescription::TessellationWindingOrder  w)
inlinestatic

Definition at line 4620 of file qrhimetal.mm.

References QShaderDescription::CcwTessellationWindingOrder, and QShaderDescription::CwTessellationWindingOrder.

Referenced by QMetalGraphicsPipelineData::Tessellation::teseFragRenderPipeline().

+ Here is the caller graph for this function:

◆ toMetalTextureCompareFunction()

static MTLCompareFunction toMetalTextureCompareFunction ( QRhiSampler::CompareOp  op)
inlinestatic

Definition at line 3959 of file qrhimetal.mm.

References QRhiSampler::Always, QRhiSampler::Equal, QRhiSampler::Greater, QRhiSampler::GreaterOrEqual, QRhiSampler::Less, QRhiSampler::LessOrEqual, QRhiSampler::Never, and QRhiSampler::NotEqual.

Referenced by QMetalSampler::create().

+ Here is the caller graph for this function:

◆ toMetalTextureFormat()

◆ toMetalTriangleFillMode()

static MTLTriangleFillMode toMetalTriangleFillMode ( QRhiGraphicsPipeline::PolygonMode  mode)
inlinestatic

Definition at line 4607 of file qrhimetal.mm.

References QRhiGraphicsPipeline::Fill, and QRhiGraphicsPipeline::Line.

Referenced by QMetalGraphicsPipeline::mapStates().

+ Here is the caller graph for this function:

◆ toRhiSrbStage()