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];
350 QRhiMetal(QRhiMetalInitParams *params, QRhiMetalNativeHandles *importDevice =
nullptr);
353 static bool probe(QRhiMetalInitParams *params);
356 bool create(QRhi::Flags flags)
override;
363 QRhiBuffer::UsageFlags usage,
364 quint32 size)
override;
366 const QSize &pixelSize,
368 QRhiRenderBuffer::Flags flags,
369 QRhiTexture::Format backingFormatHint)
override;
371 const QSize &pixelSize,
375 QRhiTexture::Flags flags)
override;
377 QRhiSampler::Filter minFilter,
378 QRhiSampler::Filter mipmapMode,
379 QRhiSampler:: AddressMode u,
380 QRhiSampler::AddressMode v,
381 QRhiSampler::AddressMode w)
override;
384 QRhiTextureRenderTarget::Flags flags)
override;
398 QRhiRenderTarget *rt,
399 const QColor &colorClearValue,
400 const QRhiDepthStencilClearValue &depthStencilClearValue,
401 QRhiResourceUpdateBatch *resourceUpdates,
402 QRhiCommandBuffer::BeginPassFlags flags)
override;
403 void endPass(QRhiCommandBuffer *cb, QRhiResourceUpdateBatch *resourceUpdates)
override;
406 QRhiGraphicsPipeline *ps)
override;
409 QRhiShaderResourceBindings *srb,
410 int dynamicOffsetCount,
411 const QRhiCommandBuffer::DynamicOffset *dynamicOffsets)
override;
414 int startBinding,
int bindingCount,
const QRhiCommandBuffer::VertexInput *bindings,
415 QRhiBuffer *indexBuf, quint32 indexOffset,
416 QRhiCommandBuffer::IndexFormat indexFormat)
override;
418 void setViewport(QRhiCommandBuffer *cb,
const QRhiViewport &viewport)
override;
419 void setScissor(QRhiCommandBuffer *cb,
const QRhiScissor &scissor)
override;
421 void setStencilRef(QRhiCommandBuffer *cb, quint32 refValue)
override;
422 void setShadingRate(QRhiCommandBuffer *cb,
const QSize &coarsePixelSize)
override;
424 void draw(QRhiCommandBuffer *cb, quint32 vertexCount,
425 quint32 instanceCount, quint32 firstVertex, quint32 firstInstance)
override;
427 void drawIndexed(QRhiCommandBuffer *cb, quint32 indexCount,
428 quint32 instanceCount, quint32 firstIndex,
429 qint32 vertexOffset, quint32 firstInstance)
override;
431 void debugMarkBegin(QRhiCommandBuffer *cb,
const QByteArray &name)
override;
433 void debugMarkMsg(QRhiCommandBuffer *cb,
const QByteArray &msg)
override;
436 QRhiResourceUpdateBatch *resourceUpdates,
437 QRhiCommandBuffer::BeginPassFlags flags)
override;
472 int layer,
int level,
const QRhiTextureSubresourceUploadDescription &subresDesc,
480 int dynamicOffsetCount,
481 const QRhiCommandBuffer::DynamicOffset *dynamicOffsets,
482 bool offsetOnlyChange,
483 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