![]() |
Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
|
#include <qrhivulkan_p.h>
Classes | |
| struct | DescriptorPoolData |
| struct | OffscreenFrame |
| struct | TextureReadback |
| struct | BufferReadback |
| struct | DeferredReleaseEntry |
Public Types | |
| using | BufferImageCopyList = QVarLengthArray<VkBufferImageCopy, 16> |
Additional Inherited Members | |
| Static Public Member Functions inherited from QRhiImplementation | |
| static QRhiImplementation * | newInstance (QRhi::Implementation impl, QRhiInitParams *params, QRhiNativeHandles *importDevice) |
| static const QRhiShaderResourceBinding::Data * | shaderResourceBindingData (const QRhiShaderResourceBinding &binding) |
| static QRhiShaderResourceBinding::Data * | shaderResourceBindingData (QRhiShaderResourceBinding &binding) |
| static bool | sortedBindingLessThan (const QRhiShaderResourceBinding &a, const QRhiShaderResourceBinding &b) |
| Static Public Attributes inherited from QRhiImplementation | |
| static const int | MAX_SHADER_CACHE_ENTRIES = 128 |
Definition at line 689 of file qrhivulkan_p.h.
| using QRhiVulkan::BufferImageCopyList = QVarLengthArray<VkBufferImageCopy, 16> |
Definition at line 845 of file qrhivulkan_p.h.
| QRhiVulkan::QRhiVulkan | ( | QRhiVulkanInitParams * | params, |
| QRhiVulkanNativeHandles * | importParams = nullptr ) |
Definition at line 431 of file qrhivulkan.cpp.
References QRhiVulkan(), allocator, importedAllocator, importedDevice, and maybeWindow.
Referenced by QRhiVulkan().
| void QRhiVulkan::activateTextureRenderTarget | ( | QVkCommandBuffer * | cbD, |
| QVkTextureRenderTarget * | rtD ) |
Definition at line 3173 of file qrhivulkan.cpp.
References QVkTextureRenderTarget::create(), QVkCommandBuffer::currentPassResTrackerIndex, depthStencilExplicitBarrier(), QRhiPassResourceTracker::TexColorOutput, QRhiPassResourceTracker::TexColorOutputStage, QRhiPassResourceTracker::TexDepthOutput, QRhiPassResourceTracker::TexDepthOutputStage, QRhiPassResourceTracker::TexShadingRate, QVkShadingRateMap::texture, and trackedRegisterTexture().
Referenced by beginPass().
| bool QRhiVulkan::allocateDescriptorSet | ( | VkDescriptorSetAllocateInfo * | allocInfo, |
| VkDescriptorSet * | result, | ||
| int * | resultPoolIndex ) |
Definition at line 1286 of file qrhivulkan.cpp.
References df.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3446 of file qrhivulkan.cpp.
References QVkCommandBuffer::ComputePass, enqueueResourceUpdates(), enqueueTransitionPassResources(), QVkCommandBuffer::NoPass, QVkCommandBuffer::passUsesSecondaryCb, QVkCommandBuffer::recordingPass, and QVkCommandBuffer::resetPerPassState().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6459 of file qrhivulkan.cpp.
References QVkCommandBuffer::inExternal, QVkCommandBuffer::NoPass, QVkCommandBuffer::passUsesSecondaryCb, QVkCommandBuffer::recordingPass, recordPrimaryCommandBuffer(), and QVkCommandBuffer::resetCommands().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2635 of file qrhivulkan.cpp.
References QVkSwapChain::bufferCount, currentSwapChain, deviceLost, df, ensureCommandPoolForNewFrame(), QVkSwapChain::FrameResources::imageAcquired, QVkSwapChain::FrameResources::imageSemWaitable, prepareNewFrame(), QVkSwapChain::stereo, and QVkSwapChain::FrameResources::timestampQueryIndex.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3000 of file qrhivulkan.cpp.
References df, ensureCommandPoolForNewFrame(), and prepareNewFrame().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3304 of file qrhivulkan.cpp.
References activateTextureRenderTarget(), QVkCommandBuffer::Command::BeginRenderPass, QVkCommandBuffer::Command::cmd, QVkRenderTargetData::colorAttCount, QVkCommandBuffer::currentPassResTrackerIndex, currentSwapChain, QVkRenderTargetData::dsAttCount, QVkRenderTargetData::dsResolveAttCount, enqueueResourceUpdates(), enqueueTransitionPassResources(), QVkCommandBuffer::hasShadingRateSet, QVkCommandBuffer::NoPass, QVkCommandBuffer::passUsesSecondaryCb, QVkCommandBuffer::recordingPass, QVkCommandBuffer::RenderPass, QVkCommandBuffer::resetPerPassState(), QVkRenderTargetData::resolveAttCount, QVkRenderTargetData::rp, QVkSwapChain::ImageResources::ScImageUseRender, QVkCommandBuffer::Command::SetShadingRate, QVkRenderTargetData::shadingRateAttCount, QRhiPassResourceTracker::TexColorOutputStage, QRhiPassResourceTracker::TexShadingRate, QVkShadingRateMap::texture, and trackedRegisterTexture().
| uint32_t QRhiVulkan::chooseTransientImageMemType | ( | VkImage | img, |
| uint32_t | startIndex ) |
Definition at line 1520 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5381 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 534 of file qrhivulkan.cpp.
References allocator, deviceLost, df, f, fillDriverInfo(), importedAllocator, importedDevice, QVK_FRAMES_IN_FLIGHT, and QVK_MAX_ACTIVE_TIMESTAMP_PAIRS.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5356 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5792 of file qrhivulkan.cpp.
| bool QRhiVulkan::createDefaultRenderPass | ( | QVkRenderPassDescriptor * | rpD, |
| bool | hasDepthStencil, | ||
| VkSampleCountFlagBits | samples, | ||
| VkFormat | colorFormat, | ||
| QRhiShadingRateMap * | shadingRateMap ) |
Definition at line 1890 of file qrhivulkan.cpp.
References df, QVkRenderPassDescriptor::hasDepthStencil, QVkRenderPassDescriptor::hasDepthStencilResolve, and QVkRenderPassDescriptor::hasShadingRateMap.
| VkResult QRhiVulkan::createDescriptorPool | ( | VkDescriptorPool * | pool | ) |
Definition at line 1265 of file qrhivulkan.cpp.
References df, and QVK_DESC_SETS_PER_POOL.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5787 of file qrhivulkan.cpp.
| bool QRhiVulkan::createOffscreenRenderPass | ( | QVkRenderPassDescriptor * | rpD, |
| const QRhiColorAttachment * | colorAttachmentsBegin, | ||
| const QRhiColorAttachment * | colorAttachmentsEnd, | ||
| bool | preserveColor, | ||
| bool | preserveDs, | ||
| bool | storeDs, | ||
| QRhiRenderBuffer * | depthStencilBuffer, | ||
| QRhiTexture * | depthTexture, | ||
| QRhiTexture * | depthResolveTexture, | ||
| QRhiShadingRateMap * | shadingRateMap ) |
Definition at line 2024 of file qrhivulkan.cpp.
References df, QVkRenderPassDescriptor::hasDepthStencil, QVkRenderPassDescriptor::hasDepthStencilResolve, and QVkRenderPassDescriptor::hasShadingRateMap.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5755 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5769 of file qrhivulkan.cpp.
| VkShaderModule QRhiVulkan::createShader | ( | const QByteArray & | spirv | ) |
Definition at line 3662 of file qrhivulkan.cpp.
References df.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5797 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5776 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5343 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5762 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5781 of file qrhivulkan.cpp.
| bool QRhiVulkan::createTransientImage | ( | VkFormat | format, |
| const QSize & | pixelSize, | ||
| VkImageUsageFlags | usage, | ||
| VkImageAspectFlags | aspectMask, | ||
| VkSampleCountFlagBits | samples, | ||
| VkDeviceMemory * | mem, | ||
| VkImage * | images, | ||
| VkImageView * | views, | ||
| int | count ) |
Definition at line 1552 of file qrhivulkan.cpp.
References df.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6364 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6390 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6408 of file qrhivulkan.cpp.
| void QRhiVulkan::depthStencilExplicitBarrier | ( | QVkCommandBuffer * | cbD, |
| QVkRenderBuffer * | rbD ) |
Definition at line 3942 of file qrhivulkan.cpp.
References QVkCommandBuffer::Command::cmd, QVkCommandBuffer::Command::ImageBarrier, QVkCommandBuffer::NoPass, and QVkCommandBuffer::recordingPass.
Referenced by activateTextureRenderTarget().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 1162 of file qrhivulkan.cpp.
References allocator, deviceLost, df, executeDeferredReleases(), f, finishActiveReadbacks(), importedAllocator, importedDevice, and QVK_FRAMES_IN_FLIGHT.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3531 of file qrhivulkan.cpp.
References QVkCommandBuffer::Command::BufferBarrier, QVkCommandBuffer::Command::cmd, QVkCommandBuffer::ComputePass, df, QVkCommandBuffer::Command::Dispatch, QVkCommandBuffer::Command::ImageBarrier, QVkCommandBuffer::passUsesSecondaryCb, and QVkCommandBuffer::recordingPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6326 of file qrhivulkan.cpp.
References QVkCommandBuffer::Command::cmd, df, QVkCommandBuffer::Command::Draw, QVkCommandBuffer::passUsesSecondaryCb, QVkCommandBuffer::recordingPass, and QVkCommandBuffer::RenderPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6344 of file qrhivulkan.cpp.
References QVkCommandBuffer::Command::cmd, df, QVkCommandBuffer::Command::DrawIndexed, QVkCommandBuffer::passUsesSecondaryCb, QVkCommandBuffer::recordingPass, and QVkCommandBuffer::RenderPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5571 of file qrhivulkan.cpp.
| VkSampleCountFlagBits QRhiVulkan::effectiveSampleCountBits | ( | int | sampleCount | ) |
Definition at line 4903 of file qrhivulkan.cpp.
| double QRhiVulkan::elapsedSecondsFromTimestamp | ( | quint64 | timestamp[2], |
| bool * | ok ) |
Definition at line 2617 of file qrhivulkan.cpp.
| void QRhiVulkan::endAndEnqueueSecondaryCommandBuffer | ( | VkCommandBuffer | cb, |
| QVkCommandBuffer * | cbD ) |
Definition at line 3287 of file qrhivulkan.cpp.
References QVkCommandBuffer::Command::cmd, df, QVkCommandBuffer::Command::ExecuteSecondary, QRhiVulkan::DeferredReleaseEntry::SecondaryCommandBuffer, and QRhiVulkan::DeferredReleaseEntry::type.
| QRhi::FrameOpResult QRhiVulkan::endAndSubmitPrimaryCommandBuffer | ( | VkCommandBuffer | cb, |
| VkFence | cmdFence, | ||
| VkSemaphore * | waitSem, | ||
| VkSemaphore * | signalSem ) |
Definition at line 2918 of file qrhivulkan.cpp.
References deviceLost, and df.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3469 of file qrhivulkan.cpp.
References QVkCommandBuffer::ComputePass, enqueueResourceUpdates(), QVkCommandBuffer::NoPass, QVkCommandBuffer::passUsesSecondaryCb, and QVkCommandBuffer::recordingPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6496 of file qrhivulkan.cpp.
References QVkCommandBuffer::currentPassResTrackerIndex, QVkCommandBuffer::inExternal, QVkCommandBuffer::NoPass, QVkCommandBuffer::recordingPass, and QVkCommandBuffer::resetPerPassState().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2745 of file qrhivulkan.cpp.
References QVkSwapChain::bufferCount, QVkSwapChain::FrameResources::cmdFenceWaitable, currentSwapChain, deviceLost, df, QVkSwapChain::frameCount, QVkSwapChain::FrameResources::imageAcquired, QVkSwapChain::FrameResources::imageSemWaitable, QVkSwapChain::ImageResources::lastUse, QVK_FRAMES_IN_FLIGHT, recordPrimaryCommandBuffer(), QVkSwapChain::ImageResources::ScImageUseNone, QVkSwapChain::ImageResources::ScImageUseRender, QVkSwapChain::ImageResources::ScImageUseTransferSource, and QVkSwapChain::FrameResources::timestampQueryIndex.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3049 of file qrhivulkan.cpp.
References df, finishActiveReadbacks(), QVkCommandBuffer::lastGpuTime, and recordPrimaryCommandBuffer().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3425 of file qrhivulkan.cpp.
References QVkCommandBuffer::Command::cmd, QVkCommandBuffer::Command::EndRenderPass, enqueueResourceUpdates(), QVkCommandBuffer::NoPass, QVkCommandBuffer::passUsesSecondaryCb, QVkCommandBuffer::recordingPass, and QVkCommandBuffer::RenderPass.
| void QRhiVulkan::enqueueResourceUpdates | ( | QVkCommandBuffer * | cbD, |
| QRhiResourceUpdateBatch * | resourceUpdates ) |
Definition at line 4205 of file qrhivulkan.cpp.
References QRhiResourceUpdateBatchPrivate::activeBufferOpCount, QRhiResourceUpdateBatchPrivate::activeTextureOpCount, QVkCommandBuffer::Command::BlitImage, QVkCommandBuffer::Command::cmd, QRhiBufferData::constData(), QRhiResourceUpdateBatchPrivate::TextureOp::Copy, QVkCommandBuffer::Command::CopyBuffer, QVkCommandBuffer::Command::CopyBufferToImage, QVkCommandBuffer::Command::CopyImage, QVkCommandBuffer::Command::CopyImageToBuffer, currentSwapChain, QRhiResourceUpdateBatchPrivate::BufferOp::data, QRhiResourceUpdateBatchPrivate::TextureOp::dst, QRhiResourceUpdateBatchPrivate::BufferOp::DynamicUpdate, executeBufferHostWritesForSlot(), QRhiResourceUpdateBatchPrivate::free(), QRhiResourceUpdateBatchPrivate::TextureOp::GenMips, QRhiResourceUpdateBatchPrivate::get(), QVkSwapChain::ImageResources::lastUse, QVK_FRAMES_IN_FLIGHT, QRhiResourceUpdateBatchPrivate::BufferOp::Read, QRhiResourceUpdateBatchPrivate::TextureOp::Read, QVkSwapChain::ImageResources::ScImageUseRender, QVkSwapChain::ImageResources::ScImageUseTransferSource, QRhiResourceUpdateBatchPrivate::TextureOp::src, QRhiVulkan::BufferReadback::stagingAlloc, QRhiVulkan::TextureReadback::stagingAlloc, QRhiVulkan::DeferredReleaseEntry::StagingBuffer, QRhiResourceUpdateBatchPrivate::BufferOp::StaticUpload, QVkSwapChain::supportsReadback, QRhiResourceUpdateBatchPrivate::BufferOp::type, QRhiResourceUpdateBatchPrivate::TextureOp::type, QRhiVulkan::DeferredReleaseEntry::type, and QRhiResourceUpdateBatchPrivate::TextureOp::Upload.
Referenced by beginComputePass(), beginPass(), endComputePass(), endPass(), and resourceUpdate().
| void QRhiVulkan::enqueueTransitionPassResources | ( | QVkCommandBuffer * | cbD | ) |
Definition at line 4938 of file qrhivulkan.cpp.
References QVkCommandBuffer::Command::cmd, QVkCommandBuffer::currentPassResTrackerIndex, and QVkCommandBuffer::Command::TransitionPassResources.
Referenced by beginComputePass(), and beginPass().
| void QRhiVulkan::ensureCommandPoolForNewFrame | ( | ) |
Definition at line 2603 of file qrhivulkan.cpp.
References df.
Referenced by beginFrame(), beginOffscreenFrame(), and finish().
| bool QRhiVulkan::ensurePipelineCache | ( | const void * | initialData = nullptr, |
| size_t | initialDataSize = 0 ) |
Definition at line 3677 of file qrhivulkan.cpp.
References df.
|
overridevirtual |
Reimplemented from QRhiImplementation.
Definition at line 1225 of file qrhivulkan.cpp.
Definition at line 4696 of file qrhivulkan.cpp.
Referenced by enqueueResourceUpdates(), QVkBuffer::nativeBuffer(), setShaderResources(), and setVertexInput().
| void QRhiVulkan::executeDeferredReleases | ( | bool | forced = false | ) |
Definition at line 4760 of file qrhivulkan.cpp.
References allocator, QRhiVulkan::DeferredReleaseEntry::Buffer, df, QVkRenderTargetData::MAX_COLOR_ATTACHMENTS, QRhiVulkan::DeferredReleaseEntry::Pipeline, qrhivk_releaseBuffer(), QRhiVulkan::DeferredReleaseEntry::RenderBuffer, QRhiVulkan::DeferredReleaseEntry::RenderPass, QRhiVulkan::DeferredReleaseEntry::Sampler, QRhiVulkan::DeferredReleaseEntry::ShaderResourceBindings, QRhiVulkan::DeferredReleaseEntry::StagingBuffer, QRhiVulkan::DeferredReleaseEntry::Texture, QRhiVulkan::DeferredReleaseEntry::TextureRenderTarget, and QRhiVulkan::DeferredReleaseEntry::type.
Referenced by destroy(), finish(), and prepareNewFrame().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3107 of file qrhivulkan.cpp.
References currentSwapChain, df, ensureCommandPoolForNewFrame(), executeDeferredReleases(), finishActiveReadbacks(), QVkCommandBuffer::NoPass, QVkCommandBuffer::recordingPass, recordPrimaryCommandBuffer(), and QVkCommandBuffer::resetCommands().
| void QRhiVulkan::finishActiveReadbacks | ( | bool | forced = false | ) |
Definition at line 4817 of file qrhivulkan.cpp.
Referenced by destroy(), endOffscreenFrame(), finish(), and prepareNewFrame().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5376 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5626 of file qrhivulkan.cpp.
References deviceLost.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5422 of file qrhivulkan.cpp.
|
overridevirtual |
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5366 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5371 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6512 of file qrhivulkan.cpp.
References QVkCommandBuffer::lastGpuTime.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5596 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5566 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6434 of file qrhivulkan.cpp.
| VkFormat QRhiVulkan::optimalDepthStencilFormat | ( | ) |
Definition at line 1641 of file qrhivulkan.cpp.
References f.
|
overridevirtual |
| void QRhiVulkan::prepareNewFrame | ( | QRhiCommandBuffer * | cb | ) |
Definition at line 2855 of file qrhivulkan.cpp.
References executeDeferredReleases(), finishActiveReadbacks(), and releaseCachedResourcesCalledBeforeFrameStart.
Referenced by beginFrame(), and beginOffscreenFrame().
| void QRhiVulkan::prepareUploadSubres | ( | QVkTexture * | texD, |
| int | layer, | ||
| int | level, | ||
| const QRhiTextureSubresourceUploadDescription & | subresDesc, | ||
| size_t * | curOfs, | ||
| void * | mp, | ||
| BufferImageCopyList * | copyInfos ) |
Definition at line 4012 of file qrhivulkan.cpp.
| void QRhiVulkan::printDeviceLossErrorInfo | ( | ) | const |
Definition at line 4130 of file qrhivulkan.cpp.
Referenced by printExtraErrorInfo().
| void QRhiVulkan::printExtraErrorInfo | ( | VkResult | err | ) |
Definition at line 4122 of file qrhivulkan.cpp.
References printDeviceLossErrorInfo().
| void QRhiVulkan::recordPrimaryCommandBuffer | ( | QVkCommandBuffer * | cbD | ) |
Definition at line 4948 of file qrhivulkan.cpp.
References QVkCommandBuffer::Command::BeginRenderPass, QVkCommandBuffer::Command::BindDescriptorSet, QVkCommandBuffer::Command::BindIndexBuffer, QVkCommandBuffer::Command::BindPipeline, QVkCommandBuffer::Command::BindVertexBuffer, QVkCommandBuffer::Command::BlitImage, QVkCommandBuffer::Command::BufferBarrier, QVkCommandBuffer::Command::cmd, QVkCommandBuffer::Command::CopyBuffer, QVkCommandBuffer::Command::CopyBufferToImage, QVkCommandBuffer::Command::CopyImage, QVkCommandBuffer::Command::CopyImageToBuffer, QVkCommandBuffer::Command::DebugMarkerBegin, QVkCommandBuffer::Command::DebugMarkerEnd, QVkCommandBuffer::Command::DebugMarkerInsert, df, QVkCommandBuffer::Command::Dispatch, QVkCommandBuffer::Command::Draw, QVkCommandBuffer::Command::DrawIndexed, QVkCommandBuffer::Command::EndRenderPass, QVkCommandBuffer::Command::ExecuteSecondary, QVkCommandBuffer::Command::ImageBarrier, QVkCommandBuffer::Command::MemoryBarrier, QVkCommandBuffer::NoPass, QVkCommandBuffer::recordingPass, recordTransitionPassResources(), QVkCommandBuffer::Command::SetBlendConstants, QVkCommandBuffer::Command::SetScissor, QVkCommandBuffer::Command::SetShadingRate, QVkCommandBuffer::Command::SetStencilRef, QVkCommandBuffer::Command::SetViewport, and QVkCommandBuffer::Command::TransitionPassResources.
Referenced by beginExternal(), endFrame(), endOffscreenFrame(), and finish().
| void QRhiVulkan::recordTransitionPassResources | ( | QVkCommandBuffer * | cbD, |
| const QRhiPassResourceTracker & | tracker ) |
Definition at line 5280 of file qrhivulkan.cpp.
References QRhiPassResourceTracker::isEmpty().
Referenced by recordPrimaryCommandBuffer().
| bool QRhiVulkan::recreateSwapChain | ( | QRhiSwapChain * | swapChain | ) |
Definition at line 2243 of file qrhivulkan.cpp.
References QVkSwapChain::bufferCount, QVkSwapChain::FrameResources::cmdFenceWaitable, df, QVkSwapChain::FrameResources::imageAcquired, QVkSwapChain::FrameResources::imageSemWaitable, QVkSwapChain::ImageResources::lastUse, QVK_FRAMES_IN_FLIGHT, releaseSwapChainResources(), QVkSwapChain::ImageResources::ScImageUseNone, QVkSwapChain::stereo, and QVkShadingRateMap::texture.
Referenced by QVkSwapChain::createOrResize().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5621 of file qrhivulkan.cpp.
References releaseCachedResourcesCalledBeforeFrameStart.
| void QRhiVulkan::releaseSwapChainResources | ( | QRhiSwapChain * | swapChain | ) |
Definition at line 2538 of file qrhivulkan.cpp.
References QVkSwapChain::bufferCount, QVkSwapChain::FrameResources::cmdFenceWaitable, deviceLost, df, QVK_FRAMES_IN_FLIGHT, and QVkSwapChain::stereo.
Referenced by QVkSwapChain::destroy(), and recreateSwapChain().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5526 of file qrhivulkan.cpp.
References QVK_FRAMES_IN_FLIGHT.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3237 of file qrhivulkan.cpp.
References enqueueResourceUpdates(), QVkCommandBuffer::NoPass, and QVkCommandBuffer::recordingPass.
| void QRhiVulkan::setAllocationName | ( | QVkAlloc | allocation, |
| const QByteArray & | name, | ||
| int | slot = -1 ) |
Definition at line 6518 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6263 of file qrhivulkan.cpp.
References QVkCommandBuffer::Command::cmd, df, QVkCommandBuffer::passUsesSecondaryCb, QVkCommandBuffer::recordingPass, QVkCommandBuffer::RenderPass, and QVkCommandBuffer::Command::SetBlendConstants.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3486 of file qrhivulkan.cpp.
References QVkCommandBuffer::Command::BindPipeline, QVkCommandBuffer::Command::cmd, QVkCommandBuffer::ComputePass, df, QVkCommandBuffer::passUsesSecondaryCb, and QVkCommandBuffer::recordingPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5802 of file qrhivulkan.cpp.
References QVkCommandBuffer::Command::BindPipeline, QVkCommandBuffer::Command::cmd, df, QVkCommandBuffer::passUsesSecondaryCb, QVkCommandBuffer::recordingPass, and QVkCommandBuffer::RenderPass.
| void QRhiVulkan::setObjectName | ( | uint64_t | object, |
| VkObjectType | type, | ||
| const QByteArray & | name, | ||
| int | slot = -1 ) |
Definition at line 6531 of file qrhivulkan.cpp.
|
overridevirtual |
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5602 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6234 of file qrhivulkan.cpp.
References Bounded, QVkCommandBuffer::Command::cmd, df, QVkCommandBuffer::passUsesSecondaryCb, QVkCommandBuffer::recordingPass, QVkCommandBuffer::RenderPass, and QVkCommandBuffer::Command::SetScissor.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5827 of file qrhivulkan.cpp.
References QRhiPassResourceTracker::Buffer::access, QRhiPassResourceTracker::Texture::access, QVkCommandBuffer::Command::BindDescriptorSet, QRhiPassResourceTracker::BufStorageLoad, QRhiPassResourceTracker::BufStorageLoadStore, QRhiPassResourceTracker::BufStorageStore, QRhiPassResourceTracker::BufUniformRead, QVkCommandBuffer::Command::cmd, QVkCommandBuffer::currentPassResTrackerIndex, df, executeBufferHostWritesForSlot(), QVkShaderResourceBindings::hasDynamicOffset, QVkCommandBuffer::Command::MemoryBarrier, QVkCommandBuffer::NoPass, QVkCommandBuffer::passUsesSecondaryCb, QVkCommandBuffer::recordingPass, QRhiPassResourceTracker::TexSample, QRhiPassResourceTracker::TexStorageLoad, QRhiPassResourceTracker::TexStorageLoadStore, QRhiPassResourceTracker::TexStorageStore, trackedRegisterBuffer(), and trackedRegisterTexture().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6295 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6281 of file qrhivulkan.cpp.
References QVkCommandBuffer::Command::cmd, df, QVkCommandBuffer::passUsesSecondaryCb, QVkCommandBuffer::recordingPass, QVkCommandBuffer::RenderPass, and QVkCommandBuffer::Command::SetStencilRef.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6096 of file qrhivulkan.cpp.
References QVkCommandBuffer::Command::BindIndexBuffer, QVkCommandBuffer::Command::BindVertexBuffer, QRhiPassResourceTracker::BufIndexRead, QRhiPassResourceTracker::BufVertexInput, QRhiPassResourceTracker::BufVertexInputStage, QVkCommandBuffer::Command::cmd, QVkCommandBuffer::currentPassResTrackerIndex, df, executeBufferHostWritesForSlot(), QVkCommandBuffer::passUsesSecondaryCb, QVkCommandBuffer::recordingPass, QVkCommandBuffer::RenderPass, and trackedRegisterBuffer().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6188 of file qrhivulkan.cpp.
References Bounded, QVkCommandBuffer::Command::cmd, df, QVkCommandBuffer::passUsesSecondaryCb, QVkCommandBuffer::recordingPass, QVkCommandBuffer::RenderPass, QVkCommandBuffer::Command::SetScissor, QVkCommandBuffer::Command::SetViewport, and UnBounded.
| QRhi::FrameOpResult QRhiVulkan::startPrimaryCommandBuffer | ( | VkCommandBuffer * | cb | ) |
Definition at line 2878 of file qrhivulkan.cpp.
References deviceLost, and df.
| VkCommandBuffer QRhiVulkan::startSecondaryCommandBuffer | ( | QVkRenderTargetData * | rtD = nullptr | ) |
Definition at line 3245 of file qrhivulkan.cpp.
References df, and QVkRenderTargetData::rp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5576 of file qrhivulkan.cpp.
| void QRhiVulkan::subresourceBarrier | ( | QVkCommandBuffer * | cbD, |
| VkImage | image, | ||
| VkImageLayout | oldLayout, | ||
| VkImageLayout | newLayout, | ||
| VkAccessFlags | srcAccess, | ||
| VkAccessFlags | dstAccess, | ||
| VkPipelineStageFlags | srcStage, | ||
| VkPipelineStageFlags | dstStage, | ||
| int | startLayer, | ||
| int | layerCount, | ||
| int | startLevel, | ||
| int | levelCount ) |
Definition at line 3972 of file qrhivulkan.cpp.
References QVkCommandBuffer::Command::cmd, QVkCommandBuffer::Command::ImageBarrier, QVkCommandBuffer::NoPass, and QVkCommandBuffer::recordingPass.
| VkDeviceSize QRhiVulkan::subresUploadByteSize | ( | const QRhiTextureSubresourceUploadDescription & | subresDesc | ) | const |
Definition at line 4002 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 4883 of file qrhivulkan.cpp.
Implements QRhiImplementation.
Definition at line 4915 of file qrhivulkan.cpp.
| void QRhiVulkan::trackedBufferBarrier | ( | QVkCommandBuffer * | cbD, |
| QVkBuffer * | bufD, | ||
| int | slot, | ||
| VkAccessFlags | access, | ||
| VkPipelineStageFlags | stage ) |
Definition at line 3860 of file qrhivulkan.cpp.
References QVkCommandBuffer::Command::BufferBarrier, QVkCommandBuffer::Command::cmd, QVkCommandBuffer::NoPass, and QVkCommandBuffer::recordingPass.
| void QRhiVulkan::trackedImageBarrier | ( | QVkCommandBuffer * | cbD, |
| QVkTexture * | texD, | ||
| VkImageLayout | layout, | ||
| VkAccessFlags | access, | ||
| VkPipelineStageFlags | stage ) |
Definition at line 3900 of file qrhivulkan.cpp.
References QVkCommandBuffer::Command::cmd, QVkCommandBuffer::Command::ImageBarrier, QVkCommandBuffer::NoPass, and QVkCommandBuffer::recordingPass.
| void QRhiVulkan::trackedRegisterBuffer | ( | QRhiPassResourceTracker * | passResTracker, |
| QVkBuffer * | bufD, | ||
| int | slot, | ||
| QRhiPassResourceTracker::BufferAccess | access, | ||
| QRhiPassResourceTracker::BufferStage | stage ) |
Definition at line 5243 of file qrhivulkan.cpp.
References QRhiPassResourceTracker::registerBuffer(), and toPassTrackerUsageState().
Referenced by setShaderResources(), and setVertexInput().
| void QRhiVulkan::trackedRegisterTexture | ( | QRhiPassResourceTracker * | passResTracker, |
| QVkTexture * | texD, | ||
| QRhiPassResourceTracker::TextureAccess | access, | ||
| QRhiPassResourceTracker::TextureStage | stage ) |
Definition at line 5261 of file qrhivulkan.cpp.
References QRhiPassResourceTracker::registerTexture(), and toPassTrackerUsageState().
Referenced by activateTextureRenderTarget(), beginPass(), and setShaderResources().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5361 of file qrhivulkan.cpp.
| void QRhiVulkan::updateShaderResourceBindings | ( | QRhiShaderResourceBindings * | srb | ) |
Definition at line 3694 of file qrhivulkan.cpp.
References df.
| QRhi::FrameOpResult QRhiVulkan::waitCommandCompletion | ( | int | frameSlot | ) |
Definition at line 2973 of file qrhivulkan.cpp.
| QVarLengthArray<BufferReadback, 2> QRhiVulkan::activeBufferReadbacks |
Definition at line 1029 of file qrhivulkan_p.h.
| QVarLengthArray<TextureReadback, 2> QRhiVulkan::activeTextureReadbacks |
Definition at line 1021 of file qrhivulkan_p.h.
| QVkAllocator QRhiVulkan::allocator = nullptr |
Definition at line 899 of file qrhivulkan_p.h.
Referenced by QRhiVulkan(), create(), destroy(), and executeDeferredReleases().
| QVersionNumber QRhiVulkan::apiVersion |
Definition at line 966 of file qrhivulkan_p.h.
| struct { ... } QRhiVulkan::caps |
| QMatrix4x4 QRhiVulkan::clipCorrectMatrix |
Definition at line 987 of file qrhivulkan_p.h.
| VkCommandPool QRhiVulkan::cmdPool[QVK_FRAMES_IN_FLIGHT] = {} |
Definition at line 893 of file qrhivulkan_p.h.
| bool QRhiVulkan::compute = false |
Definition at line 951 of file qrhivulkan_p.h.
| QVkSwapChain* QRhiVulkan::currentSwapChain = nullptr |
Definition at line 989 of file qrhivulkan_p.h.
Referenced by beginFrame(), beginPass(), endFrame(), enqueueResourceUpdates(), and finish().
| bool QRhiVulkan::debugUtils = false |
Definition at line 954 of file qrhivulkan_p.h.
| bool QRhiVulkan::depthClamp = false |
Definition at line 952 of file qrhivulkan_p.h.
| bool QRhiVulkan::depthStencilResolveKHR = false |
Definition at line 963 of file qrhivulkan_p.h.
| QVarLengthArray<DescriptorPoolData, 8> QRhiVulkan::descriptorPools |
Definition at line 980 of file qrhivulkan_p.h.
| VkDevice QRhiVulkan::dev = VK_NULL_HANDLE |
Definition at line 892 of file qrhivulkan_p.h.
| bool QRhiVulkan::deviceFault = false |
Definition at line 955 of file qrhivulkan_p.h.
| bool QRhiVulkan::deviceLost = false |
Definition at line 917 of file qrhivulkan_p.h.
Referenced by beginFrame(), create(), destroy(), endAndSubmitPrimaryCommandBuffer(), endFrame(), isDeviceLost(), releaseSwapChainResources(), and startPrimaryCommandBuffer().
| QVulkanDeviceFunctions* QRhiVulkan::df = nullptr |
Definition at line 901 of file qrhivulkan_p.h.
Referenced by allocateDescriptorSet(), beginFrame(), beginOffscreenFrame(), chooseTransientImageMemType(), create(), QVkComputePipeline::create(), QVkGraphicsPipeline::create(), QVkSampler::create(), QVkShaderResourceBindings::create(), QVkTextureRenderTarget::create(), createDefaultRenderPass(), createDescriptorPool(), createOffscreenRenderPass(), QVkSwapChain::createOrResize(), createShader(), createTransientImage(), destroy(), dispatch(), draw(), drawIndexed(), endAndEnqueueSecondaryCommandBuffer(), endAndSubmitPrimaryCommandBuffer(), endFrame(), endOffscreenFrame(), ensureCommandPoolForNewFrame(), ensurePipelineCache(), executeDeferredReleases(), finish(), QVkTexture::finishCreate(), QVkRenderPassDescriptor::newCompatibleRenderPassDescriptor(), QVkTexture::perLevelImageViewForLoadStore(), pipelineCacheData(), recordPrimaryCommandBuffer(), recreateSwapChain(), releaseSwapChainResources(), setBlendConstants(), setComputePipeline(), setGraphicsPipeline(), setPipelineCacheData(), setScissor(), setShaderResources(), setStencilRef(), setVertexInput(), setViewport(), startPrimaryCommandBuffer(), startSecondaryCommandBuffer(), and updateShaderResourceBindings().
| QRhiDriverInfo QRhiVulkan::driverInfoStruct |
Definition at line 992 of file qrhivulkan_p.h.
| QVulkanFunctions* QRhiVulkan::f = nullptr |
Definition at line 900 of file qrhivulkan_p.h.
Referenced by chooseTransientImageMemType(), create(), destroy(), isTextureFormatSupported(), optimalDepthStencilFormat(), and QVkTexture::prepareCreate().
| QVarLengthArray<VkCommandBuffer, 4> QRhiVulkan::freeSecondaryCbs[QVK_FRAMES_IN_FLIGHT] |
Definition at line 981 of file qrhivulkan_p.h.
| bool QRhiVulkan::geometryShader = false |
Definition at line 959 of file qrhivulkan_p.h.
| VkQueue QRhiVulkan::gfxQueue = VK_NULL_HANDLE |
Definition at line 896 of file qrhivulkan_p.h.
| quint32 QRhiVulkan::gfxQueueFamilyIdx = 0 |
Definition at line 894 of file qrhivulkan_p.h.
| quint32 QRhiVulkan::gfxQueueIdx = 0 |
Definition at line 895 of file qrhivulkan_p.h.
| bool QRhiVulkan::imageBasedShadingRate = false |
Definition at line 965 of file qrhivulkan_p.h.
| int QRhiVulkan::imageBasedShadingRateTileSize = 0 |
Definition at line 967 of file qrhivulkan_p.h.
| bool QRhiVulkan::importedAllocator = false |
Definition at line 898 of file qrhivulkan_p.h.
Referenced by QRhiVulkan(), create(), and destroy().
| bool QRhiVulkan::importedDevice = false |
Definition at line 890 of file qrhivulkan_p.h.
Referenced by QRhiVulkan(), create(), and destroy().
| QVulkanInstance* QRhiVulkan::inst = nullptr |
Definition at line 887 of file qrhivulkan_p.h.
Definition at line 888 of file qrhivulkan_p.h.
Referenced by QRhiVulkan().
| bool QRhiVulkan::multiView = false |
Definition at line 961 of file qrhivulkan_p.h.
| QRhiVulkanNativeHandles QRhiVulkan::nativeHandlesStruct |
Definition at line 991 of file qrhivulkan_p.h.
| bool QRhiVulkan::nonFillPolygonMode = false |
Definition at line 960 of file qrhivulkan_p.h.
| struct QRhiVulkan::OffscreenFrame QRhiVulkan::ofr |
| VkFormat QRhiVulkan::optimalDsFormat = VK_FORMAT_UNDEFINED |
Definition at line 986 of file qrhivulkan_p.h.
| bool QRhiVulkan::perDrawShadingRate = false |
Definition at line 964 of file qrhivulkan_p.h.
| VkPhysicalDevice QRhiVulkan::physDev = VK_NULL_HANDLE |
Definition at line 891 of file qrhivulkan_p.h.
| VkPhysicalDeviceFeatures QRhiVulkan::physDevFeatures |
Definition at line 903 of file qrhivulkan_p.h.
| VkPhysicalDeviceProperties QRhiVulkan::physDevProperties |
Definition at line 914 of file qrhivulkan_p.h.
| VkPipelineCache QRhiVulkan::pipelineCache = VK_NULL_HANDLE |
Definition at line 970 of file qrhivulkan_p.h.
| bool QRhiVulkan::releaseCachedResourcesCalledBeforeFrameStart = false |
Definition at line 918 of file qrhivulkan_p.h.
Referenced by prepareNewFrame(), and releaseCachedResources().
| QList<DeferredReleaseEntry> QRhiVulkan::releaseQueue |
Definition at line 1097 of file qrhivulkan_p.h.
| bool QRhiVulkan::renderPass2KHR = false |
Definition at line 962 of file qrhivulkan_p.h.
| QByteArrayList QRhiVulkan::requestedDeviceExtensions |
Definition at line 889 of file qrhivulkan_p.h.
| QRhi::Flags QRhiVulkan::rhiFlags |
Definition at line 902 of file qrhivulkan_p.h.
| QVarLengthArray<VkPipelineStageFlags, 4> QRhiVulkan::semaphoresWaitMasksForQueueSubmit |
Definition at line 1105 of file qrhivulkan_p.h.
| QVarLengthArray<VkSemaphore, 4> QRhiVulkan::signalSemaphoresForQueueSubmit |
Definition at line 1106 of file qrhivulkan_p.h.
| QSet<QVkSwapChain *> QRhiVulkan::swapchains |
Definition at line 990 of file qrhivulkan_p.h.
| bool QRhiVulkan::tessellation = false |
Definition at line 958 of file qrhivulkan_p.h.
| VkDeviceSize QRhiVulkan::texbufAlign |
Definition at line 916 of file qrhivulkan_p.h.
| bool QRhiVulkan::texture3DSliceAs2D = false |
Definition at line 957 of file qrhivulkan_p.h.
| VkQueryPool QRhiVulkan::timestampQueryPool = VK_NULL_HANDLE |
Definition at line 983 of file qrhivulkan_p.h.
| QBitArray QRhiVulkan::timestampQueryPoolMap |
Definition at line 984 of file qrhivulkan_p.h.
| quint32 QRhiVulkan::timestampValidBits = 0 |
Definition at line 897 of file qrhivulkan_p.h.
| VkDeviceSize QRhiVulkan::ubufAlign |
Definition at line 915 of file qrhivulkan_p.h.
| bool QRhiVulkan::vertexAttribDivisor = false |
Definition at line 956 of file qrhivulkan_p.h.
| PFN_vkAcquireNextImageKHR QRhiVulkan::vkAcquireNextImageKHR |
Definition at line 936 of file qrhivulkan_p.h.
| PFN_vkCreateSwapchainKHR QRhiVulkan::vkCreateSwapchainKHR = nullptr |
Definition at line 933 of file qrhivulkan_p.h.
| PFN_vkDestroySwapchainKHR QRhiVulkan::vkDestroySwapchainKHR |
Definition at line 934 of file qrhivulkan_p.h.
| PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR QRhiVulkan::vkGetPhysicalDeviceSurfaceCapabilitiesKHR |
Definition at line 938 of file qrhivulkan_p.h.
| PFN_vkGetPhysicalDeviceSurfaceFormatsKHR QRhiVulkan::vkGetPhysicalDeviceSurfaceFormatsKHR |
Definition at line 939 of file qrhivulkan_p.h.
| PFN_vkGetPhysicalDeviceSurfacePresentModesKHR QRhiVulkan::vkGetPhysicalDeviceSurfacePresentModesKHR |
Definition at line 940 of file qrhivulkan_p.h.
| PFN_vkGetSwapchainImagesKHR QRhiVulkan::vkGetSwapchainImagesKHR |
Definition at line 935 of file qrhivulkan_p.h.
| PFN_vkQueuePresentKHR QRhiVulkan::vkQueuePresentKHR |
Definition at line 937 of file qrhivulkan_p.h.
| QVarLengthArray<VkSemaphore, 4> QRhiVulkan::waitSemaphoresForPresent |
Definition at line 1107 of file qrhivulkan_p.h.
| QVarLengthArray<VkSemaphore, 4> QRhiVulkan::waitSemaphoresForQueueSubmit |
Definition at line 1104 of file qrhivulkan_p.h.
| bool QRhiVulkan::wideLines = false |
Definition at line 953 of file qrhivulkan_p.h.