![]() |
Qt 6.x
The Qt SDK
|
#include <qrhimetal_p.h>
Classes | |
struct | TessDrawArgs |
Static Public Member Functions | |
static bool | probe (QRhiMetalInitParams *params) |
static QRhiSwapChainProxyData | updateSwapChainProxyData (QWindow *window) |
![]() | |
static const QRhiShaderResourceBinding::Data * | shaderResourceBindingData (const QRhiShaderResourceBinding &binding) |
static QRhiShaderResourceBinding::Data * | shaderResourceBindingData (QRhiShaderResourceBinding &binding) |
static bool | sortedBindingLessThan (const QRhiShaderResourceBinding &a, const QRhiShaderResourceBinding &b) |
Public Attributes | ||
QRhi::Flags | rhiFlags | |
bool | importedDevice = false | |
bool | importedCmdQueue = false | |
QMetalSwapChain * | currentSwapChain = nullptr | |
QSet< QMetalSwapChain * > | swapchains | |
QRhiMetalNativeHandles | nativeHandlesStruct | |
QRhiDriverInfo | driverInfoStruct | |
quint32 | osMajor = 0 | |
quint32 | osMinor = 0 | |
struct { | ||
int maxTextureSize = 4096 | ||
bool baseVertexAndInstance = true | ||
QVector< int > supportedSampleCounts | ||
bool isAppleGPU = false | ||
int maxThreadGroupSize = 512 | ||
bool multiView = false | ||
} | caps | |
QRhiMetalData * | d = nullptr | |
![]() | ||
QRhi * | q | |
bool | debugMarkers = false | |
int | currentFrameSlot = 0 | |
bool | inFrame = false | |
Static Public Attributes | |
static const int | SUPPORTED_STAGES = 5 |
![]() | |
static const int | MAX_SHADER_CACHE_ENTRIES = 128 |
Definition at line 325 of file qrhimetal_p.h.
QRhiMetal::QRhiMetal | ( | QRhiMetalInitParams * | params, |
QRhiMetalNativeHandles * | importDevice = nullptr |
||
) |
Definition at line 457 of file qrhimetal.mm.
References QRhiMetalData::cmdQueue, d, QRhiMetalData::dev, importedCmdQueue, importedDevice, Q_UNUSED, and qWarning.
QRhiMetal::~QRhiMetal | ( | ) |
Definition at line 477 of file qrhimetal.mm.
References d.
void QRhiMetal::adjustForMultiViewDraw | ( | quint32 * | instanceCount, |
QRhiCommandBuffer * | cb | ||
) |
Definition at line 2150 of file qrhimetal.mm.
References QMetalGraphicsPipelineData::ExtraBufferManager::acquireWorkBuffer(), QMetalBufferData::buf, cb, contents, QMetalCommandBuffer::currentGraphicsPipeline, QMetalCommandBufferData::currentRenderPassEncoder, QMetalBuffer::d, QMetalGraphicsPipeline::d, QMetalCommandBuffer::d, QShader::NativeShaderInfo::extraBufferBindings, QMetalGraphicsPipelineData::extraBufMgr, QMetalGraphicsPipelineData::ExtraBufferManager::HostVisible, instanceCount, QRhiGraphicsPipeline::m_multiViewCount, QShaderPrivate::MslMultiViewMaskBufferBinding, QMetalShader::nativeShaderInfo, QRHI_RES, qWarning, QMap< Key, T >::value(), and QMetalGraphicsPipelineData::vs.
Referenced by draw(), and drawIndexed().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3014 of file qrhimetal.mm.
References QMetalCommandBufferData::cb, cb, QMetalCommandBuffer::ComputePass, QMetalCommandBufferData::currentComputePassEncoder, QMetalCommandBuffer::d, enqueueResourceUpdates(), QMetalCommandBuffer::NoPass, Q_ASSERT, QRHI_RES, QMetalCommandBuffer::recordingPass, and QMetalCommandBuffer::resetPerPassState().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2302 of file qrhimetal.mm.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2319 of file qrhimetal.mm.
References QRhiMetalData::captureScope, QMetalCommandBufferData::cb, QMetalSwapChain::cbWrapper, QRhiMetalData::cmdQueue, QMetalRenderTargetData::colorAtt, QRhiImplementation::currentFrameSlot, QMetalSwapChain::currentFrameSlot, currentSwapChain, QMetalRenderBuffer::d, QMetalSwapChainRenderTarget::d, QMetalCommandBuffer::d, QMetalSwapChain::d, d, QMetalRenderTargetData::depthNeedsStore, QMetalSwapChain::ds, QMetalRenderTargetData::dsTex, executeDeferredReleases(), QMetalRenderTargetData::fb, finishActiveReadbacks(), QRhi::FrameOpSuccess, QMetalRenderTargetData::hasStencil, QMetalRenderBuffer::lastActiveFrameSlot, QMetalSwapChainData::lastGpuTime, QMetalSwapChainData::msaaTex, QMetalRenderTargetData::ColorAtt::needsDrawableForResolveTex, QMetalRenderTargetData::ColorAtt::needsDrawableForTex, Q_UNUSED, QRHI_RES, QMetalCommandBuffer::resetState(), QMetalSwapChain::rtWrapper, QMetalSwapChain::samples, QMetalSwapChainData::sem, swapchains, QMetalRenderBufferData::tex, and QMetalRenderTargetData::ColorAtt::tex.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2420 of file qrhimetal.mm.
References QRhiMetalData::OffscreenFrame::active, QMetalCommandBufferData::cb, cb, QRhiMetalData::OffscreenFrame::cbWrapper, QRhiMetalData::cmdQueue, QRhiImplementation::currentFrameSlot, QMetalCommandBuffer::d, d, executeDeferredReleases(), finishActiveReadbacks(), QRhi::FrameOpSuccess, QRhiMetalData::OffscreenFrame::lastGpuTime, QRhiMetalData::ofr, Q_UNUSED, QMTL_FRAMES_IN_FLIGHT, QMetalCommandBuffer::resetState(), and swapchains.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2890 of file qrhimetal.mm.
References QMetalRenderTargetData::ColorAtt::arrayLayer, QMetalCommandBufferData::cb, cb, QRhiTextureRenderTargetDescription::cbeginColorAttachments(), QRhiTextureRenderTargetDescription::cendColorAttachments(), QMetalRenderTargetData::colorAtt, QMetalRenderTargetData::colorAttCount, QMetalTextureRenderTarget::create(), QRhiMetalData::createDefaultRenderPass(), QMetalSwapChainData::curDrawable, QRhiImplementation::currentFrameSlot, QMetalCommandBufferData::currentPassRpDesc, QMetalCommandBufferData::currentRenderPassEncoder, QMetalRenderTargetData::currentResIdList, currentSwapChain, QMetalCommandBuffer::currentTarget, QMetalTextureRenderTarget::d, QMetalCommandBuffer::d, QMetalSwapChain::d, d, QMetalRenderTargetData::depthNeedsStore, QRhiTextureRenderTargetDescription::depthStencilBuffer(), QRhiTextureRenderTargetDescription::depthTexture(), QRhiTextureRenderTarget::description(), QMetalRenderTargetData::dsAttCount, QMetalRenderTargetData::dsTex, enqueueResourceUpdates(), QMetalRenderTargetData::fb, QMetalRenderTargetData::hasStencil, i, it, QMetalSwapChainData::layer, QMetalRenderTargetData::ColorAtt::level, QRhiTextureRenderTarget::m_desc, QRhiTextureRenderTarget::m_flags, QMetalCommandBuffer::NoPass, pool, QRhiTextureRenderTarget::PreserveColorContents, QRhiTextureRenderTarget::PreserveDepthStencilContents, Q_ASSERT, QRHI_RES, qWarning, QMetalCommandBuffer::recordingPass, QMetalCommandBuffer::RenderPass, QMetalCommandBuffer::resetPerPassState(), QMetalRenderTargetData::ColorAtt::resolveLayer, QMetalRenderTargetData::ColorAtt::resolveLevel, QMetalRenderTargetData::ColorAtt::resolveTex, QRhiResource::resourceType(), QMetalRenderTargetData::ColorAtt::slice, QRhiResource::SwapChainRenderTarget, QMetalRenderTargetData::ColorAtt::tex, and QRhiResource::TextureRenderTarget.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 706 of file qrhimetal.mm.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 519 of file qrhimetal.mm.
References QString::asprintf(), caps, QRhiMetalData::captureMgr, QRhiMetalData::captureScope, QRhiMetalData::cmdQueue, QOperatingSystemVersion::current(), d, QRhiMetalData::dev, QRhiDriverInfo::deviceName, QRhiDriverInfo::deviceType, QRhiDriverInfo::DiscreteDevice, driverInfoStruct, QRhi::EnablePipelineCacheDataSave, QRhiDriverInfo::ExternalDevice, importedCmdQueue, importedDevice, QRhiDriverInfo::IntegratedDevice, iOS, QOperatingSystemVersion::majorVersion(), QOperatingSystemVersion::minorVersion(), nativeHandlesStruct, osMajor, osMinor, qCDebug, qPrintable, qWarning, rhiFlags, QRhiMetalData::setupBinaryArchive(), and QString::toUtf8().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 681 of file qrhimetal.mm.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1083 of file qrhimetal.mm.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1078 of file qrhimetal.mm.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1051 of file qrhimetal.mm.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1065 of file qrhimetal.mm.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1088 of file qrhimetal.mm.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 676 of file qrhimetal.mm.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1058 of file qrhimetal.mm.
|
overridevirtual |
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2262 of file qrhimetal.mm.
References QMetalCommandBufferData::cb, cb, QMetalCommandBufferData::currentRenderPassEncoder, QMetalCommandBuffer::d, QRhiImplementation::debugMarkers, QMetalCommandBuffer::NoPass, QRHI_RES, QMetalCommandBuffer::recordingPass, and str.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2275 of file qrhimetal.mm.
References QMetalCommandBufferData::cb, cb, QMetalCommandBufferData::currentRenderPassEncoder, QMetalCommandBuffer::d, QRhiImplementation::debugMarkers, QMetalCommandBuffer::NoPass, QRHI_RES, and QMetalCommandBuffer::recordingPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2287 of file qrhimetal.mm.
References cb, QByteArray::constData(), QMetalCommandBufferData::currentRenderPassEncoder, QMetalCommandBuffer::d, QRhiImplementation::debugMarkers, QMetalCommandBuffer::NoPass, QRHI_RES, and QMetalCommandBuffer::recordingPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 634 of file qrhimetal.mm.
References QRhiMetalData::captureScope, QHash< Key, T >::clear(), QRhiMetalData::cmdQueue, d, QRhiMetalData::dev, executeDeferredReleases(), finishActiveReadbacks(), importedCmdQueue, importedDevice, iOS, release(), and QRhiMetalData::shaderCache.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3058 of file qrhimetal.mm.
References cb, QMetalCommandBuffer::ComputePass, QMetalCommandBufferData::currentComputePassEncoder, QMetalCommandBuffer::currentComputePipeline, QMetalComputePipeline::d, QMetalCommandBuffer::d, QMetalComputePipelineData::localSize, Q_ASSERT, QRHI_RES, and QMetalCommandBuffer::recordingPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2183 of file qrhimetal.mm.
References adjustForMultiViewDraw(), caps, cb, QMetalCommandBuffer::currentGraphicsPipeline, QMetalCommandBufferData::currentRenderPassEncoder, QMetalGraphicsPipeline::d, QMetalCommandBuffer::d, QMetalGraphicsPipelineData::Tessellation::enabled, instanceCount, QRhiMetal::TessDrawArgs::NonIndexed, QMetalGraphicsPipelineData::primitiveType, Q_ASSERT, QRHI_RES, QMetalCommandBuffer::recordingPass, QMetalCommandBuffer::RenderPass, QMetalGraphicsPipelineData::tess, and tessellatedDraw().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2212 of file qrhimetal.mm.
References adjustForMultiViewDraw(), aligned(), QMetalBufferData::buf, caps, cb, QRhiImplementation::currentFrameSlot, QMetalCommandBuffer::currentGraphicsPipeline, QMetalCommandBuffer::currentIndexBuffer, QMetalCommandBuffer::currentIndexFormat, QMetalCommandBuffer::currentIndexOffset, QMetalCommandBufferData::currentRenderPassEncoder, QMetalBuffer::d, QMetalGraphicsPipeline::d, QMetalCommandBuffer::d, QMetalGraphicsPipelineData::Tessellation::enabled, QRhiCommandBuffer::IndexUInt16, instanceCount, QMetalGraphicsPipelineData::primitiveType, Q_ASSERT, QRHI_RES, QMetalCommandBuffer::recordingPass, QMetalCommandBuffer::RenderPass, QMetalBufferData::slotted, QMetalGraphicsPipelineData::tess, tessellatedDraw(), QRhiMetal::TessDrawArgs::U16Indexed, and QRhiMetal::TessDrawArgs::U32Indexed.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 891 of file qrhimetal.mm.
References driverInfoStruct.
int QRhiMetal::effectiveSampleCount | ( | int | sampleCount | ) | const |
Definition at line 665 of file qrhimetal.mm.
References contains(), qBound(), qWarning, and supportedSampleCounts.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3029 of file qrhimetal.mm.
References cb, QMetalCommandBuffer::ComputePass, QMetalCommandBufferData::currentComputePassEncoder, QMetalCommandBuffer::d, enqueueResourceUpdates(), QMetalCommandBuffer::NoPass, Q_ASSERT, QRHI_RES, and QMetalCommandBuffer::recordingPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2307 of file qrhimetal.mm.
References cb, QRHI_RES, and QMetalCommandBuffer::resetPerPassCachedState().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2374 of file qrhimetal.mm.
References QRhiMetalData::captureScope, QMetalCommandBufferData::cb, cb, QMetalSwapChain::cbWrapper, QMetalSwapChainData::curDrawable, QRhiImplementation::currentFrameSlot, QMetalSwapChain::currentFrameSlot, currentSwapChain, QMetalCommandBuffer::d, QMetalSwapChain::d, d, QMetalSwapChain::frameCount, QRhi::FrameOpSuccess, QMetalSwapChainData::lastGpuTime, QMetalSwapChainData::layer, Q_ASSERT, QMTL_FRAMES_IN_FLIGHT, QRHI_RES, release(), QMetalSwapChainData::sem, and QRhi::SkipPresent.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2441 of file qrhimetal.mm.
References QRhiMetalData::OffscreenFrame::active, QMetalCommandBufferData::cb, cb, QRhiMetalData::OffscreenFrame::cbWrapper, QMetalCommandBuffer::d, d, finishActiveReadbacks(), QRhi::FrameOpSuccess, QRhiMetalData::OffscreenFrame::lastGpuTime, QRhiMetalData::ofr, Q_ASSERT, and Q_UNUSED.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3000 of file qrhimetal.mm.
References cb, QMetalCommandBufferData::currentRenderPassEncoder, QMetalCommandBuffer::currentTarget, QMetalCommandBuffer::d, enqueueResourceUpdates(), QMetalCommandBuffer::NoPass, Q_ASSERT, QRHI_RES, QMetalCommandBuffer::recordingPass, and QMetalCommandBuffer::RenderPass.
void QRhiMetal::enqueueResourceUpdates | ( | QRhiCommandBuffer * | cb, |
QRhiResourceUpdateBatch * | resourceUpdates | ||
) |
Definition at line 2673 of file qrhimetal.mm.
References QRhiResourceUpdateBatchPrivate::activeBufferOpCount, QRhiMetalData::activeBufferReadbacks, QRhiMetalData::BufferReadback::activeFrameSlot, QRhiResourceUpdateBatchPrivate::BufferOp::buf, QRhiMetalData::BufferReadback::buf, QMetalBufferData::buf, QRhiResourceUpdateBatchPrivate::bufferOps, cb, contents, QRhiImplementation::currentFrameSlot, QMetalBuffer::d, d, QRhiResourceUpdateBatchPrivate::BufferOp::data, QRhiBuffer::Dynamic, QRhiResourceUpdateBatchPrivate::BufferOp::DynamicUpdate, executeBufferHostWritesForCurrentFrame(), QRhiResourceUpdateBatchPrivate::get(), i, QRhiBuffer::m_size, QRhiBuffer::m_type, QRhiResourceUpdateBatchPrivate::BufferOp::offset, QRhiMetalData::BufferReadback::offset, QMetalBufferData::pendingUpdates, Q_ASSERT, QMTL_FRAMES_IN_FLIGHT, QRHI_RES, QRhiResourceUpdateBatchPrivate::BufferOp::Read, QRhiMetalData::BufferReadback::readSize, QRhiMetalData::BufferReadback::result, QRhiBufferData::size(), QMetalBufferData::slotted, QRhiResourceUpdateBatchPrivate::BufferOp::StaticUpload, and QRhiResourceUpdateBatchPrivate::BufferOp::type.
Referenced by beginComputePass(), beginPass(), endComputePass(), endPass(), and resourceUpdate().
void QRhiMetal::enqueueShaderResourceBindings | ( | QMetalShaderResourceBindings * | srbD, |
QMetalCommandBuffer * | cbD, | ||
int | dynamicOffsetCount, | ||
const QRhiCommandBuffer::DynamicOffset * | dynamicOffsets, | ||
bool | offsetOnlyChange, | ||
const QShader::NativeResourceBindingMap * | nativeResourceBindingMaps[SUPPORTED_STAGES] | ||
) |
Definition at line 1248 of file qrhimetal.mm.
References QRhiBatchedBindings< T >::batches, bindStageBuffers(), bindStageSamplers(), bindStageTextures(), QMetalBufferData::buf, Buffer, QMetalShaderResourceBindingsData::Stage::bufferBatches, QRhiShaderResourceBinding::BufferLoad, QRhiShaderResourceBinding::BufferLoadStore, QMetalShaderResourceBindingsData::Stage::bufferOffsetBatches, QMetalShaderResourceBindingsData::Stage::buffers, QRhiShaderResourceBinding::BufferStore, QMetalShaderResourceBindingsData::COMPUTE, QMetalCommandBuffer::ComputePass, QRhiImplementation::currentFrameSlot, QMetalCommandBufferData::currentShaderResourceBindingState, QMetalBuffer::d, QMetalTexture::d, QMetalSampler::d, QMetalCommandBuffer::d, QRhiBatchedBindings< T >::feed(), QRhiBatchedBindings< T >::finish(), QMetalShaderResourceBindingsData::FRAGMENT, i, QRhiShaderResourceBinding::ImageLoad, QRhiShaderResourceBinding::ImageLoadStore, QRhiShaderResourceBinding::ImageStore, mapBinding(), QRHI_RES, QMetalCommandBuffer::recordingPass, QMetalCommandBuffer::RenderPass, QMetalShaderResourceBindingsData::res, QRhiShaderResourceBinding::SampledTexture, QRhiShaderResourceBinding::Sampler, Sampler, QMetalShaderResourceBindingsData::Stage::samplerBatches, QMetalShaderResourceBindingsData::Stage::samplers, QMetalSamplerData::samplerState, QRhiImplementation::shaderResourceBindingData(), QMetalBufferData::slotted, QMetalShaderResourceBindings::sortedBindings, SUPPORTED_STAGES, QMetalShaderResourceBindingsData::TESSCTRL, QMetalShaderResourceBindingsData::TESSEVAL, QMetalTextureData::tex, QRhiShaderResourceBinding::Texture, Texture, QMetalShaderResourceBindingsData::Stage::textureBatches, QMetalShaderResourceBindingsData::Stage::textures, toRhiSrbStage(), QRhiShaderResourceBinding::UniformBuffer, QMetalShaderResourceBindingsData::VERTEX, and QMetalTextureData::viewForLevel().
Referenced by setShaderResources().
void QRhiMetal::enqueueSubresUpload | ( | QMetalTexture * | texD, |
void * | mp, | ||
void * | blitEncPtr, | ||
int | layer, | ||
int | level, | ||
const QRhiTextureSubresourceUploadDescription & | subresDesc, | ||
qsizetype * | curOfs | ||
) |
Definition at line 2547 of file qrhimetal.mm.
References aligned(), QRhiImplementation::compressedFormatInfo(), QByteArray::constData(), QRhiImplementation::currentFrameSlot, QMetalTexture::d, QRhiTextureSubresourceUploadDescription::data(), QRhiTextureSubresourceUploadDescription::dataStride(), QRhiTextureSubresourceUploadDescription::destinationTopLeft(), QSize::height(), QRhiTextureSubresourceUploadDescription::image(), QRhiImplementation::isCompressedFormat(), QByteArray::isEmpty(), QSize::isEmpty(), QPoint::isNull(), QRhiTexture::m_flags, QRhiTexture::m_format, QRhiTexture::m_pixelSize, Q_ASSERT, qWarning, QByteArray::size(), QRhiTextureSubresourceUploadDescription::sourceSize(), QRhiTextureSubresourceUploadDescription::sourceTopLeft(), QMetalTextureData::stagingBuf, QMetalTextureData::tex, QRhiMetalData::TEXBUF_ALIGN, QRhiImplementation::textureFormatInfo(), QRhiTexture::ThreeDimensional, QSize::width(), QPoint::x(), and QPoint::y().
void QRhiMetal::executeBufferHostWritesForCurrentFrame | ( | QMetalBuffer * | bufD | ) |
Definition at line 2878 of file qrhimetal.mm.
References QRhiImplementation::currentFrameSlot, QMetalBuffer::d, executeBufferHostWritesForSlot(), and QMetalBufferData::slotted.
Referenced by enqueueResourceUpdates(), setShaderResources(), and setVertexInput().
void QRhiMetal::executeBufferHostWritesForSlot | ( | QMetalBuffer * | bufD, |
int | slot | ||
) |
Definition at line 2855 of file qrhimetal.mm.
References QMetalBufferData::buf, contents, QMetalBuffer::d, d, and QMetalBufferData::pendingUpdates.
Referenced by executeBufferHostWritesForCurrentFrame().
Definition at line 3093 of file qrhimetal.mm.
References QRhiMetalData::DeferredReleaseEntry::Buffer, QRhiMetalData::DeferredReleaseEntry::ComputePipeline, QRhiImplementation::currentFrameSlot, d, e, QRhiMetalData::DeferredReleaseEntry::GraphicsPipeline, i, qrhimtl_releaseBuffer(), qrhimtl_releaseRenderBuffer(), qrhimtl_releaseSampler(), qrhimtl_releaseTexture(), release(), QRhiMetalData::releaseQueue, QRhiMetalData::DeferredReleaseEntry::RenderBuffer, QRhiMetalData::DeferredReleaseEntry::Sampler, QRhiMetalData::DeferredReleaseEntry::StagingBuffer, and QRhiMetalData::DeferredReleaseEntry::Texture.
Referenced by beginFrame(), beginOffscreenFrame(), destroy(), and finish().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2460 of file qrhimetal.mm.
References QRhiMetalData::OffscreenFrame::active, QMetalCommandBufferData::cb, cb, QRhiMetalData::OffscreenFrame::cbWrapper, QMetalSwapChain::cbWrapper, QRhiMetalData::cmdQueue, QRhiImplementation::currentFrameSlot, currentSwapChain, QMetalCommandBuffer::d, QMetalSwapChain::d, d, executeDeferredReleases(), finishActiveReadbacks(), QRhi::FrameOpSuccess, i, QRhiImplementation::inFrame, QRhiMetalData::OffscreenFrame::lastGpuTime, QMetalSwapChainData::lastGpuTime, QMetalCommandBuffer::NoPass, QRhiMetalData::ofr, Q_ASSERT, QMTL_FRAMES_IN_FLIGHT, QMetalCommandBuffer::recordingPass, and swapchains.
Definition at line 3133 of file qrhimetal.mm.
References QRhiMetalData::activeBufferReadbacks, QRhiMetalData::TextureReadback::activeFrameSlot, QRhiMetalData::BufferReadback::activeFrameSlot, QRhiMetalData::activeTextureReadbacks, QRhiMetalData::TextureReadback::buf, QRhiMetalData::BufferReadback::buf, QRhiMetalData::TextureReadback::bufSize, QRhiReadbackResult::completed, contents, QRhiImplementation::currentFrameSlot, d, QByteArray::data(), QRhiReadbackResult::data, QRhiReadbackResult::format, QRhiMetalData::TextureReadback::format, i, QRhiMetalData::BufferReadback::offset, QRhiReadbackResult::pixelSize, QRhiMetalData::TextureReadback::pixelSize, Q_ASSERT, QRhiMetalData::BufferReadback::readSize, release(), QByteArray::resize(), QRhiMetalData::TextureReadback::result, QRhiMetalData::BufferReadback::result, and void.
Referenced by beginFrame(), beginOffscreenFrame(), destroy(), endOffscreenFrame(), and finish().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 701 of file qrhimetal.mm.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 917 of file qrhimetal.mm.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 753 of file qrhimetal.mm.
References QRhi::BaseInstance, QRhi::BaseVertex, caps, QRhi::Compute, QRhi::CustomInstanceStepRate, QRhi::DebugMarkers, QRhi::ElementIndexUint, QRhi::GeometryShader, QRhi::HalfAttributes, QRhi::ImageDataStride, QRhi::Instancing, QRhi::IntAttributes, iOS, QRhi::MultisampleRenderBuffer, QRhi::MultisampleTexture, QRhi::MultiView, QRhi::NonDynamicUniformBuffers, QRhi::NonFillPolygonMode, QRhi::NonFourAlignedEffectiveIndexBufferOffset, QRhi::NPOTTextureRepeat, QRhi::OneDimensionalTextureMipmaps, QRhi::OneDimensionalTextures, QRhi::PipelineCacheDataLoadSave, QRhi::PrimitiveRestart, QRhi::ReadBackAnyTextureFormat, QRhi::ReadBackNonBaseMipLevel, QRhi::ReadBackNonUniformBuffer, QRhi::RedOrAlpha8IsRed, QRhi::RenderBufferImport, QRhi::RenderTo3DTextureSlice, QRhi::RenderToNonBaseMipLevel, QRhi::RenderToOneDimensionalTexture, QRhi::ScreenSpaceDerivatives, QRhi::Tessellation, QRhi::TexelFetch, QRhi::TextureArrayRange, QRhi::TextureArrays, QRhi::ThreeDimensionalTextureMipmaps, QRhi::ThreeDimensionalTextures, QRhi::Timestamps, QRhi::TriangleFanTopology, QRhi::VertexShaderPointSize, and QRhi::WideLines.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 720 of file qrhimetal.mm.
References QRhiTexture::ASTC_12x12, QRhiTexture::ASTC_4x4, QRhiTexture::BC1, QRhiTexture::BC5, QRhiTexture::BC7, caps, QRhiTexture::ETC2_RGB8, QRhiTexture::ETC2_RGBA8, and Q_UNUSED.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 691 of file qrhimetal.mm.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 696 of file qrhimetal.mm.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2313 of file qrhimetal.mm.
References cb, QMetalCommandBuffer::d, QMetalCommandBufferData::lastGpuTime, and QRHI_RES.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 903 of file qrhimetal.mm.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 886 of file qrhimetal.mm.
References nativeHandlesStruct.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2297 of file qrhimetal.mm.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 932 of file qrhimetal.mm.
References QFileInfo::absoluteFilePath(), QFileDevice::close(), QByteArray::constData(), d, QRhiDriverInfo::deviceName, driverInfoStruct, QRhi::EnablePipelineCacheDataSave, error, QTemporaryFile::fileName(), QUrl::fromLocalFile(), header(), headerSize, iOS, QByteArray::length(), QTemporaryFile::open(), osMajor, osMinor, QRhiImplementation::pipelineCacheRhiId(), Q_STATIC_ASSERT, qCDebug, qMin(), qPrintable, QIODeviceBase::ReadOnly, rhiFlags, QByteArray::size(), and url.
|
static |
Definition at line 488 of file qrhimetal.mm.
References Q_UNUSED, and release().
Referenced by QRhi::probe().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 909 of file qrhimetal.mm.
References QHash< Key, T >::clear(), d, and QRhiMetalData::shaderCache.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 849 of file qrhimetal.mm.
References caps, QRhi::FramesInFlight, QRhi::MaxAsyncReadbackFrames, QRhi::MaxColorAttachments, QRhi::MaxThreadGroupsPerDimension, QRhi::MaxThreadGroupX, QRhi::MaxThreadGroupY, QRhi::MaxThreadGroupZ, QRhi::MaxThreadsPerThreadGroup, QRhi::MaxUniformBufferRange, QRhi::MaxVertexInputs, QRhi::MaxVertexOutputs, Q_FALLTHROUGH, QMTL_FRAMES_IN_FLIGHT, QRhi::TextureArraySizeMax, QRhi::TextureSizeMax, and QRhi::TextureSizeMin.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2883 of file qrhimetal.mm.
References cb, enqueueResourceUpdates(), QMetalCommandBuffer::NoPass, Q_ASSERT, and QRHI_RES.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1878 of file qrhimetal.mm.
References cb, QMetalCommandBufferData::currentRenderPassEncoder, QMetalCommandBuffer::d, Q_ASSERT, QRHI_RES, QMetalCommandBuffer::recordingPass, and QMetalCommandBuffer::RenderPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3041 of file qrhimetal.mm.
References cb, QMetalCommandBuffer::ComputePass, QMetalCommandBufferData::currentComputePassEncoder, QMetalCommandBuffer::currentComputePipeline, QRhiImplementation::currentFrameSlot, QMetalCommandBuffer::currentGraphicsPipeline, QMetalCommandBuffer::currentPipelineGeneration, QMetalComputePipeline::d, QMetalCommandBuffer::d, QMetalComputePipeline::generation, QMetalComputePipeline::lastActiveFrameSlot, QMetalComputePipelineData::ps, Q_ASSERT, QRHI_RES, and QMetalCommandBuffer::recordingPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1462 of file qrhimetal.mm.
References cb, QMetalCommandBuffer::currentComputePipeline, QRhiImplementation::currentFrameSlot, QMetalCommandBuffer::currentGraphicsPipeline, QMetalCommandBuffer::currentPipelineGeneration, QMetalGraphicsPipeline::d, QMetalGraphicsPipelineData::ExtraBufferManager::deviceLocalWorkBuffers, QMetalGraphicsPipelineData::Tessellation::enabled, QMetalGraphicsPipelineData::extraBufMgr, QMetalGraphicsPipelineData::Tessellation::failed, QMetalGraphicsPipeline::generation, QMetalGraphicsPipelineData::ExtraBufferManager::hostVisibleWorkBuffers, QMetalGraphicsPipeline::lastActiveFrameSlot, QMetalGraphicsPipeline::makeActiveForCurrentRenderPassEncoder(), Q_ASSERT, QRHI_RES, QMetalCommandBuffer::recordingPass, QMetalCommandBuffer::RenderPass, and QMetalGraphicsPipelineData::tess.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 987 of file qrhimetal.mm.
References QFileInfo::absoluteFilePath(), QFileDevice::close(), QString::constData(), QByteArray::constData(), d, QRhiDriverInfo::deviceName, driverInfoStruct, QTemporaryFile::fileName(), QUrl::fromLocalFile(), header(), headerSize, iOS, QByteArray::length(), QTemporaryFile::open(), osMajor, osMinor, QRhiImplementation::pipelineCacheRhiId(), qCDebug, qMin(), QRhiMetalData::setupBinaryArchive(), url, and QIODevice::write().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1857 of file qrhimetal.mm.
References cb, QMetalCommandBuffer::currentGraphicsPipeline, QMetalCommandBufferData::currentRenderPassEncoder, QMetalCommandBuffer::currentTarget, QMetalCommandBuffer::d, QRhiGraphicsPipeline::m_flags, QRhiRenderTarget::pixelSize(), Q_ASSERT, QRHI_RES, QMetalCommandBuffer::recordingPass, QMetalCommandBuffer::RenderPass, QRhiScissor::scissor(), and QRhiGraphicsPipeline::UsesScissor.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1492 of file qrhimetal.mm.
References QVarLengthArray< T, Prealloc >::append(), QVarLengthArray< T, Prealloc >::at(), QMetalShaderResourceBindings::boundResourceData, QRhiShaderResourceBinding::BufferLoad, QRhiShaderResourceBinding::bufferLoad(), QRhiShaderResourceBinding::BufferLoadStore, QMetalGraphicsPipelineData::bufferSizeBuffer, QMetalComputePipelineData::bufferSizeBuffer, QRhiShaderResourceBinding::BufferStore, cb, QMetalGraphicsPipelineData::Tessellation::compTesc, QMetalShaderResourceBindingsData::COMPUTE, QRhiShaderResourceBinding::ComputeStage, QMetalGraphicsPipelineData::Tessellation::compVs, QVarLengthArray< T, Prealloc >::constData(), QMap< Key, T >::contains(), QVarLengthArray< T, Prealloc >::count(), QMetalShaderResourceBindings::BoundSampledTextureData::count, QMetalComputePipelineData::cs, QMetalCommandBuffer::currentComputePipeline, QMetalCommandBuffer::currentComputeSrb, QRhiImplementation::currentFrameSlot, QMetalCommandBuffer::currentGraphicsPipeline, QMetalCommandBuffer::currentGraphicsSrb, QMetalCommandBuffer::currentResSlot, QMetalCommandBuffer::currentSrbGeneration, QMetalBuffer::d, QMetalShaderResourceBindings::BoundSampledTextureData::d, QMetalGraphicsPipeline::d, QMetalComputePipeline::d, QMetalShader::desc, QMetalGraphicsPipelineData::Tessellation::enabled, enqueueShaderResourceBindings(), executeBufferHostWritesForCurrentFrame(), QShader::NativeShaderInfo::extraBufferBindings, QMetalShaderResourceBindingsData::FRAGMENT, QRhiShaderResourceBinding::FragmentStage, QMetalGraphicsPipelineData::fs, QMetalBuffer::generation, QMetalTexture::generation, QMetalSampler::generation, QMetalShaderResourceBindings::BoundUniformBufferData::generation, QMetalShaderResourceBindings::BoundStorageImageData::generation, QMetalShaderResourceBindings::BoundStorageBufferData::generation, QMetalShaderResourceBindings::generation, i, QMetalShaderResourceBindings::BoundUniformBufferData::id, QMetalShaderResourceBindings::BoundStorageImageData::id, QMetalShaderResourceBindings::BoundStorageBufferData::id, QRhiShaderResourceBinding::ImageLoad, QRhiShaderResourceBinding::ImageLoadStore, QRhiShaderResourceBinding::ImageStore, QMetalBuffer::lastActiveFrameSlot, QMetalTexture::lastActiveFrameSlot, QMetalSampler::lastActiveFrameSlot, QRhiResource::m_id, QRhiGraphicsPipeline::m_shaderResourceBindings, QRhiComputePipeline::m_shaderResourceBindings, QRhiBuffer::m_usage, QShaderPrivate::MslBufferSizeBufferBinding, QMetalShader::nativeResourceBindingMap, QMetalShader::nativeShaderInfo, QMetalCommandBuffer::NoPass, QMetalBufferData::pendingUpdates, Q_ASSERT, qMakePair(), qMax(), QRHI_RES, QMetalCommandBuffer::recordingPass, QVarLengthArray< T, Prealloc >::resize(), QRhiShaderResourceBinding::SampledTexture, QRhiShaderResourceBinding::Sampler, QMetalShaderResourceBindings::BoundSampledTextureData::samplerGeneration, QMetalShaderResourceBindings::BoundSampledTextureData::samplerId, QMetalShaderResourceBindings::BoundResourceData::sbuf, QRhiImplementation::shaderResourceBindingData(), QMetalShaderResourceBindings::BoundResourceData::simage, QRhiBuffer::size(), QVLABaseBase::size(), QMetalBufferData::slotted, QMetalShaderResourceBindings::sortedBindings, QMetalShaderResourceBindings::BoundResourceData::stex, QShaderDescription::storageBlocks(), QRhiBuffer::StorageBuffer, SUPPORTED_STAGES, QMetalGraphicsPipelineData::tess, QMetalShaderResourceBindingsData::TESSCTRL, QRhiShaderResourceBinding::TessellationControlStage, QRhiShaderResourceBinding::TessellationEvaluationStage, QMetalShaderResourceBindingsData::TESSEVAL, QMetalShaderResourceBindings::BoundSampledTextureData::texGeneration, QMetalShaderResourceBindings::BoundSampledTextureData::texId, QRhiShaderResourceBinding::Texture, QMetalShaderResourceBindings::BoundResourceData::ubuf, QRhiShaderResourceBinding::UniformBuffer, QRhiBuffer::UniformBuffer, QMetalShaderResourceBindingsData::VERTEX, QRhiShaderResourceBinding::VertexStage, QMetalGraphicsPipelineData::Tessellation::vertTese, and QMetalGraphicsPipelineData::vs.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1887 of file qrhimetal.mm.
References cb, QMetalCommandBufferData::currentRenderPassEncoder, QMetalCommandBuffer::d, Q_ASSERT, QRHI_RES, QMetalCommandBuffer::recordingPass, and QMetalCommandBuffer::RenderPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1765 of file qrhimetal.mm.
References QMetalBufferData::buf, cb, QMetalCommandBufferData::currentFirstVertexBinding, QRhiImplementation::currentFrameSlot, QMetalCommandBuffer::currentGraphicsPipeline, QMetalCommandBuffer::currentGraphicsSrb, QMetalCommandBuffer::currentIndexBuffer, QMetalCommandBuffer::currentIndexFormat, QMetalCommandBuffer::currentIndexOffset, QMetalCommandBufferData::currentRenderPassEncoder, QMetalCommandBufferData::currentVertexInputOffsets, QMetalCommandBufferData::currentVertexInputsBuffers, QMetalBuffer::d, QMetalCommandBuffer::d, executeBufferHostWritesForCurrentFrame(), i, QMetalBuffer::lastActiveFrameSlot, QMetalShaderResourceBindings::maxBinding, Q_ASSERT, QRHI_RES, QMetalCommandBuffer::recordingPass, QMetalCommandBuffer::RenderPass, QRhiGraphicsPipeline::shaderResourceBindings(), and QMetalBufferData::slotted.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1824 of file qrhimetal.mm.
References cb, QMetalCommandBuffer::currentGraphicsPipeline, QMetalCommandBufferData::currentRenderPassEncoder, QMetalCommandBuffer::currentTarget, QMetalCommandBuffer::d, QRhiGraphicsPipeline::m_flags, QRhiRenderTarget::pixelSize(), Q_ASSERT, QRHI_RES, QMetalCommandBuffer::recordingPass, QMetalCommandBuffer::RenderPass, setViewport(), QRhiGraphicsPipeline::UsesScissor, and viewport().
Referenced by setViewport().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 896 of file qrhimetal.mm.
References QRhiImplementation::totalPipelineCreationTime().
qsizetype QRhiMetal::subresUploadByteSize | ( | const QRhiTextureSubresourceUploadDescription & | subresDesc | ) | const |
Definition at line 2537 of file qrhimetal.mm.
References QRhiTextureSubresourceUploadDescription::data(), QRhiTextureSubresourceUploadDescription::image(), QImage::isNull(), QByteArray::size(), QImage::sizeInBytes(), and QRhiMetalData::TEXBUF_ALIGN.
|
overridevirtual |
Implements QRhiImplementation.
void QRhiMetal::tessellatedDraw | ( | const TessDrawArgs & | args | ) |
Definition at line 1963 of file qrhimetal.mm.
References QMetalGraphicsPipelineData::ExtraBufferManager::acquireWorkBuffer(), args, QRhiBatchedBindings< T >::batches, QMetalBufferData::buf, caps, QMetalGraphicsPipelineData::Tessellation::compTesc, QMetalShaderResourceBindingsData::COMPUTE, QMetalGraphicsPipelineData::Tessellation::compVs, contents, QMetalCommandBufferData::currentComputePassEncoder, QMetalCommandBufferData::currentFirstVertexBinding, QMetalCommandBuffer::currentGraphicsPipeline, QMetalCommandBufferData::currentRenderPassEncoder, QMetalCommandBufferData::currentShaderResourceBindingState, QMetalCommandBufferData::currentVertexInputOffsets, QMetalCommandBufferData::currentVertexInputsBuffers, QMetalBuffer::d, QMetalGraphicsPipeline::d, QMetalCommandBuffer::d, endTessellationComputeEncoding(), QShader::NativeShaderInfo::extraBufferBindings, QMetalGraphicsPipelineData::extraBufMgr, QMetalGraphicsPipelineData::Tessellation::failed, QMetalShaderResourceBindingsData::FRAGMENT, QMetalGraphicsPipelineData::ExtraBufferManager::HostVisible, i, QMetalGraphicsPipelineData::Tessellation::inControlPointCount, instanceCount, QMetalGraphicsPipeline::makeActiveForCurrentRenderPassEncoder(), QShaderPrivate::MslTessTescInputBufferBinding, QShaderPrivate::MslTessTescParamsBufferBinding, QShaderPrivate::MslTessTescPatchOutputBufferBinding, QShaderPrivate::MslTessTescTessLevelBufferBinding, QShaderPrivate::MslTessVertIndicesBufferBinding, QShaderPrivate::MslTessVertTescOutputBufferBinding, QMetalShader::nativeShaderInfo, QRhiMetal::TessDrawArgs::NonIndexed, QShader::NonIndexedVertexAsComputeShader, QMetalGraphicsPipelineData::Tessellation::outControlPointCount, QMetalGraphicsPipelineData::Tessellation::patchCountForDrawCall(), rebindShaderResources(), QMetalGraphicsPipelineData::Tessellation::tescCompOutputBufferSize(), QMetalGraphicsPipelineData::Tessellation::tescCompPatchOutputBufferSize(), QMetalGraphicsPipelineData::Tessellation::tescCompPipeline(), QMetalGraphicsPipelineData::tess, QMetalShaderResourceBindingsData::TESSCTRL, tessellationComputeEncoder(), QMetalShaderResourceBindingsData::TESSEVAL, QRhiMetal::TessDrawArgs::U16Indexed, QRhiMetal::TessDrawArgs::U32Indexed, QShader::UInt16IndexedVertexAsComputeShader, QShader::UInt32IndexedVertexAsComputeShader, QMap< Key, T >::value(), QMetalShaderResourceBindingsData::VERTEX, QMetalGraphicsPipelineData::Tessellation::vsCompOutputBufferSize(), QMetalGraphicsPipelineData::Tessellation::vsCompPipeline(), and QMetalGraphicsPipelineData::Tessellation::vsCompVariantToIndex().
Referenced by draw(), and drawIndexed().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 686 of file qrhimetal.mm.
|
static |
Definition at line 6159 of file qrhimetal.mm.
References d, layerForWindow(), and window().
Referenced by QRhi::updateSwapChainProxyData().
bool QRhiMetal::baseVertexAndInstance = true |
Definition at line 499 of file qrhimetal_p.h.
struct { ... } QRhiMetal::caps |
Referenced by create(), draw(), drawIndexed(), isFeatureSupported(), isTextureFormatSupported(), resourceLimit(), and tessellatedDraw().
QMetalSwapChain* QRhiMetal::currentSwapChain = nullptr |
Definition at line 490 of file qrhimetal_p.h.
Referenced by beginFrame(), beginPass(), endFrame(), and finish().
QRhiMetalData* QRhiMetal::d = nullptr |
Definition at line 506 of file qrhimetal_p.h.
Referenced by QRhiMetal(), ~QRhiMetal(), beginFrame(), beginOffscreenFrame(), beginPass(), create(), destroy(), endFrame(), endOffscreenFrame(), enqueueResourceUpdates(), executeBufferHostWritesForSlot(), executeDeferredReleases(), finish(), finishActiveReadbacks(), pipelineCacheData(), releaseCachedResources(), setPipelineCacheData(), QMetalGraphicsPipelineData::Tessellation::tescCompPipeline(), QMetalGraphicsPipelineData::Tessellation::teseFragRenderPipeline(), updateSwapChainProxyData(), and QMetalGraphicsPipelineData::Tessellation::vsCompPipeline().
QRhiDriverInfo QRhiMetal::driverInfoStruct |
Definition at line 493 of file qrhimetal_p.h.
Referenced by create(), driverInfo(), pipelineCacheData(), and setPipelineCacheData().
bool QRhiMetal::importedCmdQueue = false |
Definition at line 489 of file qrhimetal_p.h.
Referenced by QRhiMetal(), create(), and destroy().
bool QRhiMetal::importedDevice = false |
Definition at line 488 of file qrhimetal_p.h.
Referenced by QRhiMetal(), create(), and destroy().
bool QRhiMetal::isAppleGPU = false |
Definition at line 501 of file qrhimetal_p.h.
int QRhiMetal::maxTextureSize = 4096 |
Definition at line 498 of file qrhimetal_p.h.
int QRhiMetal::maxThreadGroupSize = 512 |
Definition at line 502 of file qrhimetal_p.h.
bool QRhiMetal::multiView = false |
Definition at line 503 of file qrhimetal_p.h.
QRhiMetalNativeHandles QRhiMetal::nativeHandlesStruct |
Definition at line 492 of file qrhimetal_p.h.
Referenced by create(), and nativeHandles().
quint32 QRhiMetal::osMajor = 0 |
Definition at line 494 of file qrhimetal_p.h.
Referenced by create(), pipelineCacheData(), and setPipelineCacheData().
quint32 QRhiMetal::osMinor = 0 |
Definition at line 495 of file qrhimetal_p.h.
Referenced by create(), pipelineCacheData(), and setPipelineCacheData().
QRhi::Flags QRhiMetal::rhiFlags |
Definition at line 487 of file qrhimetal_p.h.
Referenced by create(), pipelineCacheData(), QMetalGraphicsPipelineData::Tessellation::tescCompPipeline(), QMetalGraphicsPipelineData::Tessellation::teseFragRenderPipeline(), and QMetalGraphicsPipelineData::Tessellation::vsCompPipeline().
|
static |
Definition at line 450 of file qrhimetal_p.h.
Referenced by enqueueShaderResourceBindings(), and setShaderResources().
QVector< int > QRhiMetal::supportedSampleCounts |
Definition at line 500 of file qrhimetal_p.h.
Referenced by effectiveSampleCount().
QSet<QMetalSwapChain *> QRhiMetal::swapchains |
Definition at line 491 of file qrhimetal_p.h.
Referenced by beginFrame(), beginOffscreenFrame(), and finish().