|
| | 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 MTLResourceUsage | storageImageUsage (QRhiShaderResourceBinding::Type type) |
| static void | declareStageArgumentBufferResources (QMetalCommandBuffer *cbD, int encoderStage, const QMetalShaderResourceBindingsData::Stage &res) |
| 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 QMetalRenderTargetData * | currentRenderTargetData (QMetalCommandBuffer *cbD) |
| static bool | canStoreAttachment (id< MTLTexture > tex) |
| static MTLStoreAction | interruptionStoreAction (MTLStoreAction finalAction, bool passIsEnding) |
| static id< MTLComputeCommandEncoder > | tempComputeEncoder (QRhiMetal *rhiD, QMetalCommandBuffer *cbD, id< MTLComputeCommandEncoder > maybeComputeEncoder) |
| static void | endTempComputeEncoding (QRhiMetal *rhiD, QMetalCommandBuffer *cbD, id< MTLComputeCommandEncoder > computeEncoder) |
| static void | encodeIcbWithCompute (QRhiMetalData *d, id< MTLComputeCommandEncoder > computeEncoder, id< MTLIndirectCommandBuffer > targetIcb, id< MTLBuffer > targetArgBuffer, id< MTLBuffer > targetRangeBuffer, bool indexed, QRhiCommandBuffer::IndexFormat indexFormat, MTLPrimitiveType primitiveType, id< MTLBuffer > indirectBufMtl, quint32 indirectBufferOffset, id< MTLBuffer > indexBufMtl, quint32 indexBufferOffset, id< MTLBuffer > countBufMtl, quint32 countBufferOffset, quint32 maxDrawCount, quint32 stride) |
| static MTLPrimitiveType | toMetalPrimitiveType (QRhiGraphicsPipeline::Topology t) |
| static void | qrhimtl_releaseIcbSlots (QRhiMetal *rhiD, QMetalIndirectCommandBuffer *icbD) |
| static bool | qrhimtl_ensureIcbSlots (QRhiMetal *rhiD, QMetalIndirectCommandBuffer *icbD, QMetalIndirectCommandBufferData::Fill fill) |
| static bool | qrhimtl_icbSlotMatches (const QMetalIndirectCommandBuffer *icbD, const QMetalIndirectCommandBufferData::Slot &slot, MTLPrimitiveType primitiveType, id< MTLBuffer > indexBufMtl, quint32 indexOffset, QRhiCommandBuffer::IndexFormat indexFormat) |
| static void | qrhimtl_encodeIcbFromCpu (QMetalIndirectCommandBuffer *icbD, QMetalIndirectCommandBufferData::Slot &slot, MTLPrimitiveType primitiveType, id< MTLBuffer > indexBufMtl, quint32 indexOffset, QRhiCommandBuffer::IndexFormat indexFormat) |
| static void | qrhimtl_replayIcbOnCpu (QMetalCommandBuffer *cbD, QMetalIndirectCommandBuffer *icbD, quint32 firstCommand, quint32 count, int currentFrameSlot) |
| 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 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 | usesTextures (const QShaderDescription &desc) |
| static bool | hasArgumentBufferVariant (const QShader &shader) |
| static void | setupArgumentBufferEncoder (QMetalShader *shader) |
| 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) |