30 QMetalBuffer(QRhiImplementation *rhi, Type type, UsageFlags usage, quint32 size);
53 int sampleCount, QRhiRenderBuffer::Flags flags,
54 QRhiTexture::Format backingFormatHint);
71 QMetalTexture(QRhiImplementation *rhi, Format format,
const QSize &pixelSize,
int depth,
72 int arraySize,
int sampleCount, Flags flags);
95 QMetalSampler(QRhiImplementation *rhi, Filter magFilter, Filter minFilter, Filter mipmapMode,
96 AddressMode u, AddressMode v, AddressMode w);
115 bool createFrom(NativeShadingRateMap src)
override;
128 bool isCompatible(
const QRhiRenderPassDescriptor *other)
const override;
203 } d[QRhiShaderResourceBinding::Data::MAX_TEX_SAMPLER_ARRAY_SIZE];
349 QRhiMetal(QRhiMetalInitParams *params, QRhiMetalNativeHandles *importDevice =
nullptr);
352 static bool probe(QRhiMetalInitParams *params);
355 bool create(QRhi::Flags flags)
override;
362 QRhiBuffer::UsageFlags usage,
363 quint32 size)
override;
365 const QSize &pixelSize,
367 QRhiRenderBuffer::Flags flags,
368 QRhiTexture::Format backingFormatHint)
override;
370 const QSize &pixelSize,
374 QRhiTexture::Flags flags)
override;
376 QRhiSampler::Filter minFilter,
377 QRhiSampler::Filter mipmapMode,
378 QRhiSampler:: AddressMode u,
379 QRhiSampler::AddressMode v,
380 QRhiSampler::AddressMode w)
override;
383 QRhiTextureRenderTarget::Flags flags)
override;
397 QRhiRenderTarget *rt,
398 const QColor &colorClearValue,
399 const QRhiDepthStencilClearValue &depthStencilClearValue,
400 QRhiResourceUpdateBatch *resourceUpdates,
401 QRhiCommandBuffer::BeginPassFlags flags)
override;
402 void endPass(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates)
override;
405 QRhiGraphicsPipeline *ps)
override;
408 QRhiShaderResourceBindings *srb,
409 int dynamicOffsetCount,
410 const QRhiCommandBuffer::DynamicOffset *dynamicOffsets)
override;
413 int startBinding,
int bindingCount,
const QRhiCommandBuffer::VertexInput *bindings,
414 QRhiBuffer *indexBuf, quint32 indexOffset,
415 QRhiCommandBuffer::IndexFormat indexFormat)
override;
417 void setViewport(QRhiCommandBuffer *cb,
const QRhiViewport &viewport)
override;
418 void setScissor(QRhiCommandBuffer *cb,
const QRhiScissor &scissor)
override;
420 void setStencilRef(QRhiCommandBuffer *cb, quint32 refValue)
override;
421 void setShadingRate(QRhiCommandBuffer *cb,
const QSize &coarsePixelSize)
override;
423 void draw(QRhiCommandBuffer *cb, quint32 vertexCount,
424 quint32 instanceCount, quint32 firstVertex, quint32 firstInstance)
override;
426 void drawIndexed(QRhiCommandBuffer *cb, quint32 indexCount,
427 quint32 instanceCount, quint32 firstIndex,
428 qint32 vertexOffset, quint32 firstInstance)
override;
430 void debugMarkBegin(QRhiCommandBuffer *cb,
const QByteArray &name)
override;
432 void debugMarkMsg(QRhiCommandBuffer *cb,
const QByteArray &msg)
override;
435 QRhiResourceUpdateBatch *resourceUpdates,
436 QRhiCommandBuffer::BeginPassFlags flags)
override;
471 int layer,
int level,
const QRhiTextureSubresourceUploadDescription &subresDesc,
479 int dynamicOffsetCount,
480 const QRhiCommandBuffer::DynamicOffset *dynamicOffsets,
481 bool offsetOnlyChange,
482 const QShader::NativeResourceBindingMap *nativeResourceBindingMaps[
SUPPORTED_STAGES]);
static QRhiResourceUpdateBatchPrivate * get(QRhiResourceUpdateBatch *b)
Int aligned(Int v, Int byteAlign)
\variable QRhiVulkanQueueSubmitParams::waitSemaphoreCount
id< MTLTexture > viewForLevel(int level)
id< MTLTexture > perLevelViews[QRhi::MAX_MIP_LEVELS]
id< MTLBuffer > stagingBuf[QMTL_FRAMES_IN_FLIGHT]
QMetalTextureData(QMetalTexture *t)
~QMetalTextureRenderTarget()
float devicePixelRatio() const override
QMetalRenderTargetData * d
QMetalTextureRenderTarget(QRhiImplementation *rhi, const QRhiTextureRenderTargetDescription &desc, Flags flags)
bool create() override
Creates the corresponding native graphics resources.
QRhiRenderPassDescriptor * newCompatibleRenderPassDescriptor() override
int sampleCount() const override
QSize pixelSize() const override
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
QMetalTexture(QRhiImplementation *rhi, Format format, const QSize &pixelSize, int depth, int arraySize, int sampleCount, Flags flags)
bool prepareCreate(QSize *adjustedSize=nullptr)
NativeTexture nativeTexture() override
bool create() override
Creates the corresponding native graphics resources.
void destroy() override
Releases (or requests deferred releasing of) the underlying native graphics resources.
bool createFrom(NativeTexture src) override
Similar to create(), except that no new native textures are created.
id< MTLComputePipelineState > pipelineState
id< MTLDepthStencilState > depthStencilState
std::array< id< MTLComputePipelineState >, 3 > tessVertexComputeState
id< MTLRasterizationRateMap > rateMap
id< MTLSamplerState > samplerState
id< MTLBuffer > stagingBuffers[QMTL_FRAMES_IN_FLIGHT]
id< MTLComputePipelineState > tessTessControlComputeState
id< MTLRenderPipelineState > pipelineState
id< MTLBuffer > buffers[QMTL_FRAMES_IN_FLIGHT]
id< MTLTexture > views[QRhi::MAX_MIP_LEVELS]
QRhiReadbackDescription desc
QRhiReadbackResult * result
QRhiTexture::Format format
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h
float maxPotentialColorComponentValue
LuminanceBehavior luminanceBehavior
float maxColorComponentValue
\inmodule QtGuiPrivate \inheaderfile rhi/qrhi.h