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];
351 QRhiMetal(QRhiMetalInitParams *params, QRhiMetalNativeHandles *importDevice =
nullptr);
354 static bool probe(QRhiMetalInitParams *params);
357 bool create(QRhi::Flags flags)
override;
364 QRhiBuffer::UsageFlags usage,
365 quint32 size)
override;
367 const QSize &pixelSize,
369 QRhiRenderBuffer::Flags flags,
370 QRhiTexture::Format backingFormatHint)
override;
372 const QSize &pixelSize,
376 QRhiTexture::Flags flags)
override;
378 QRhiSampler::Filter minFilter,
379 QRhiSampler::Filter mipmapMode,
380 QRhiSampler:: AddressMode u,
381 QRhiSampler::AddressMode v,
382 QRhiSampler::AddressMode w)
override;
385 QRhiTextureRenderTarget::Flags flags)
override;
399 QRhiRenderTarget *rt,
400 const QColor &colorClearValue,
401 const QRhiDepthStencilClearValue &depthStencilClearValue,
402 QRhiResourceUpdateBatch *resourceUpdates,
403 QRhiCommandBuffer::BeginPassFlags flags)
override;
404 void endPass(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates)
override;
407 QRhiGraphicsPipeline *ps)
override;
410 QRhiShaderResourceBindings *srb,
411 int dynamicOffsetCount,
412 const QRhiCommandBuffer::DynamicOffset *dynamicOffsets)
override;
415 int startBinding,
int bindingCount,
const QRhiCommandBuffer::VertexInput *bindings,
416 QRhiBuffer *indexBuf, quint32 indexOffset,
417 QRhiCommandBuffer::IndexFormat indexFormat)
override;
419 void setViewport(QRhiCommandBuffer *cb,
const QRhiViewport &viewport)
override;
420 void setScissor(QRhiCommandBuffer *cb,
const QRhiScissor &scissor)
override;
422 void setStencilRef(QRhiCommandBuffer *cb, quint32 refValue)
override;
423 void setShadingRate(QRhiCommandBuffer *cb,
const QSize &coarsePixelSize)
override;
425 void draw(QRhiCommandBuffer *cb, quint32 vertexCount,
426 quint32 instanceCount, quint32 firstVertex, quint32 firstInstance)
override;
428 void drawIndexed(QRhiCommandBuffer *cb, quint32 indexCount,
429 quint32 instanceCount, quint32 firstIndex,
430 qint32 vertexOffset, quint32 firstInstance)
override;
432 void debugMarkBegin(QRhiCommandBuffer *cb,
const QByteArray &name)
override;
434 void debugMarkMsg(QRhiCommandBuffer *cb,
const QByteArray &msg)
override;
437 QRhiResourceUpdateBatch *resourceUpdates,
438 QRhiCommandBuffer::BeginPassFlags flags)
override;
473 int layer,
int level,
const QRhiTextureSubresourceUploadDescription &subresDesc,
481 int dynamicOffsetCount,
482 const QRhiCommandBuffer::DynamicOffset *dynamicOffsets,
483 bool offsetOnlyChange,
484 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