31 QMetalBuffer(QRhiImplementation *rhi, Type type, UsageFlags usage, quint32 size);
54 int sampleCount, QRhiRenderBuffer::Flags flags,
55 QRhiTexture::Format backingFormatHint);
72 QMetalTexture(QRhiImplementation *rhi, Format format,
const QSize &pixelSize,
int depth,
73 int arraySize,
int sampleCount, Flags flags);
96 QMetalSampler(QRhiImplementation *rhi, Filter magFilter, Filter minFilter, Filter mipmapMode,
97 AddressMode u, AddressMode v, AddressMode w);
116 bool createFrom(NativeShadingRateMap src)
override;
129 bool isCompatible(
const QRhiRenderPassDescriptor *other)
const override;
204 } d[QRhiShaderResourceBinding::Data::MAX_TEX_SAMPLER_ARRAY_SIZE];
353 QRhiMetal(QRhiMetalInitParams *params, QRhiMetalNativeHandles *importDevice =
nullptr);
356 static bool probe(QRhiMetalInitParams *params);
359 bool create(QRhi::Flags flags)
override;
366 QRhiBuffer::UsageFlags usage,
367 quint32 size)
override;
369 const QSize &pixelSize,
371 QRhiRenderBuffer::Flags flags,
372 QRhiTexture::Format backingFormatHint)
override;
374 const QSize &pixelSize,
378 QRhiTexture::Flags flags)
override;
380 QRhiSampler::Filter minFilter,
381 QRhiSampler::Filter mipmapMode,
382 QRhiSampler:: AddressMode u,
383 QRhiSampler::AddressMode v,
384 QRhiSampler::AddressMode w)
override;
387 QRhiTextureRenderTarget::Flags flags)
override;
401 QRhiRenderTarget *rt,
402 const QColor &colorClearValue,
403 const QRhiDepthStencilClearValue &depthStencilClearValue,
404 QRhiResourceUpdateBatch *resourceUpdates,
405 QRhiCommandBuffer::BeginPassFlags flags)
override;
406 void endPass(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates)
override;
409 QRhiGraphicsPipeline *ps)
override;
412 QRhiShaderResourceBindings *srb,
413 int dynamicOffsetCount,
414 const QRhiCommandBuffer::DynamicOffset *dynamicOffsets)
override;
417 int startBinding,
int bindingCount,
const QRhiCommandBuffer::VertexInput *bindings,
418 QRhiBuffer *indexBuf, quint32 indexOffset,
419 QRhiCommandBuffer::IndexFormat indexFormat)
override;
421 void setViewport(QRhiCommandBuffer *cb,
const QRhiViewport &viewport)
override;
422 void setScissor(QRhiCommandBuffer *cb,
const QRhiScissor &scissor)
override;
424 void setStencilRef(QRhiCommandBuffer *cb, quint32 refValue)
override;
425 void setShadingRate(QRhiCommandBuffer *cb,
const QSize &coarsePixelSize)
override;
427 void draw(QRhiCommandBuffer *cb, quint32 vertexCount,
428 quint32 instanceCount, quint32 firstVertex, quint32 firstInstance)
override;
430 void drawIndexed(QRhiCommandBuffer *cb, quint32 indexCount,
431 quint32 instanceCount, quint32 firstIndex,
432 qint32 vertexOffset, quint32 firstInstance)
override;
434 void drawIndirect(QRhiCommandBuffer *cb, QRhiBuffer *indirectBuffer,
435 quint32 indirectBufferOffset, quint32 drawCount, quint32 stride)
override;
438 quint32 indirectBufferOffset, quint32 drawCount, quint32 stride)
override;
440 void debugMarkBegin(QRhiCommandBuffer *cb,
const QByteArray &name)
override;
442 void debugMarkMsg(QRhiCommandBuffer *cb,
const QByteArray &msg)
override;
445 QRhiResourceUpdateBatch *resourceUpdates,
446 QRhiCommandBuffer::BeginPassFlags flags)
override;
481 int layer,
int level,
const QRhiTextureSubresourceUploadDescription &subresDesc,
489 int dynamicOffsetCount,
490 const QRhiCommandBuffer::DynamicOffset *dynamicOffsets,
491 bool offsetOnlyChange,
492 const QShader::NativeResourceBindingMap *nativeResourceBindingMaps[
SUPPORTED_STAGES]);
static QRhiResourceUpdateBatchPrivate * get(QRhiResourceUpdateBatch *b)
Combined button and popup list for selecting options.
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