![]() |
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 690 of file qrhivulkan_p.h.
| using QRhiVulkan::BufferImageCopyList = QVarLengthArray<VkBufferImageCopy, 16> |
Definition at line 846 of file qrhivulkan_p.h.
| QRhiVulkan::QRhiVulkan | ( | QRhiVulkanInitParams * | params, |
| QRhiVulkanNativeHandles * | importParams = nullptr ) |
Definition at line 432 of file qrhivulkan.cpp.
References QRhiVulkan(), allocator, importedAllocator, importedDevice, and maybeWindow.
Referenced by QRhiVulkan().
| void QRhiVulkan::activateTextureRenderTarget | ( | QVkCommandBuffer * | cbD, |
| QVkTextureRenderTarget * | rtD ) |
Definition at line 3174 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 1287 of file qrhivulkan.cpp.
References df.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3447 of file qrhivulkan.cpp.
References QVkCommandBuffer::ComputePass, enqueueResourceUpdates(), enqueueTransitionPassResources(), QVkCommandBuffer::NoPass, QVkCommandBuffer::passUsesSecondaryCb, QVkCommandBuffer::recordingPass, and QVkCommandBuffer::resetPerPassState().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6462 of file qrhivulkan.cpp.
References QVkCommandBuffer::inExternal, QVkCommandBuffer::NoPass, QVkCommandBuffer::passUsesSecondaryCb, QVkCommandBuffer::recordingPass, recordPrimaryCommandBuffer(), and QVkCommandBuffer::resetCommands().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2636 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 3001 of file qrhivulkan.cpp.
References df, ensureCommandPoolForNewFrame(), and prepareNewFrame().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3305 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 1521 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5382 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 535 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 5357 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5795 of file qrhivulkan.cpp.
| bool QRhiVulkan::createDefaultRenderPass | ( | QVkRenderPassDescriptor * | rpD, |
| bool | hasDepthStencil, | ||
| VkSampleCountFlagBits | samples, | ||
| VkFormat | colorFormat, | ||
| QRhiShadingRateMap * | shadingRateMap ) |
Definition at line 1891 of file qrhivulkan.cpp.
References df, QVkRenderPassDescriptor::hasDepthStencil, QVkRenderPassDescriptor::hasDepthStencilResolve, and QVkRenderPassDescriptor::hasShadingRateMap.
| VkResult QRhiVulkan::createDescriptorPool | ( | VkDescriptorPool * | pool | ) |
Definition at line 1266 of file qrhivulkan.cpp.
References df, and QVK_DESC_SETS_PER_POOL.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5790 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 2025 of file qrhivulkan.cpp.
References df, QVkRenderPassDescriptor::hasDepthStencil, QVkRenderPassDescriptor::hasDepthStencilResolve, and QVkRenderPassDescriptor::hasShadingRateMap.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5758 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5772 of file qrhivulkan.cpp.
| VkShaderModule QRhiVulkan::createShader | ( | const QByteArray & | spirv | ) |
Definition at line 3663 of file qrhivulkan.cpp.
References df.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5800 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5779 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5344 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5765 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5784 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 1553 of file qrhivulkan.cpp.
References df.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6367 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6393 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6411 of file qrhivulkan.cpp.
| void QRhiVulkan::depthStencilExplicitBarrier | ( | QVkCommandBuffer * | cbD, |
| QVkRenderBuffer * | rbD ) |
Definition at line 3943 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 1163 of file qrhivulkan.cpp.
References allocator, deviceLost, df, executeDeferredReleases(), f, finishActiveReadbacks(), importedAllocator, importedDevice, and QVK_FRAMES_IN_FLIGHT.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3532 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 6329 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 6347 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 5574 of file qrhivulkan.cpp.
| VkSampleCountFlagBits QRhiVulkan::effectiveSampleCountBits | ( | int | sampleCount | ) |
Definition at line 4904 of file qrhivulkan.cpp.
| double QRhiVulkan::elapsedSecondsFromTimestamp | ( | quint64 | timestamp[2], |
| bool * | ok ) |
Definition at line 2618 of file qrhivulkan.cpp.
| void QRhiVulkan::endAndEnqueueSecondaryCommandBuffer | ( | VkCommandBuffer | cb, |
| QVkCommandBuffer * | cbD ) |
Definition at line 3288 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 2919 of file qrhivulkan.cpp.
References deviceLost, and df.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3470 of file qrhivulkan.cpp.
References QVkCommandBuffer::ComputePass, enqueueResourceUpdates(), QVkCommandBuffer::NoPass, QVkCommandBuffer::passUsesSecondaryCb, and QVkCommandBuffer::recordingPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6499 of file qrhivulkan.cpp.
References QVkCommandBuffer::currentPassResTrackerIndex, QVkCommandBuffer::inExternal, QVkCommandBuffer::NoPass, QVkCommandBuffer::recordingPass, and QVkCommandBuffer::resetPerPassState().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2746 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 3050 of file qrhivulkan.cpp.
References df, finishActiveReadbacks(), QVkCommandBuffer::lastGpuTime, and recordPrimaryCommandBuffer().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3426 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 4206 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 4939 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 2604 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 3678 of file qrhivulkan.cpp.
References df.
|
overridevirtual |
Reimplemented from QRhiImplementation.
Definition at line 1226 of file qrhivulkan.cpp.
Definition at line 4697 of file qrhivulkan.cpp.
Referenced by enqueueResourceUpdates(), QVkBuffer::nativeBuffer(), setShaderResources(), and setVertexInput().
| void QRhiVulkan::executeDeferredReleases | ( | bool | forced = false | ) |
Definition at line 4761 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 3108 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 4818 of file qrhivulkan.cpp.
Referenced by destroy(), endOffscreenFrame(), finish(), and prepareNewFrame().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5377 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5629 of file qrhivulkan.cpp.
References deviceLost.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5423 of file qrhivulkan.cpp.
|
overridevirtual |
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5367 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5372 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6515 of file qrhivulkan.cpp.
References QVkCommandBuffer::lastGpuTime.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5599 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5569 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6437 of file qrhivulkan.cpp.
| VkFormat QRhiVulkan::optimalDepthStencilFormat | ( | ) |
Definition at line 1642 of file qrhivulkan.cpp.
References f.
|
overridevirtual |
| void QRhiVulkan::prepareNewFrame | ( | QRhiCommandBuffer * | cb | ) |
Definition at line 2856 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 4013 of file qrhivulkan.cpp.
| void QRhiVulkan::printDeviceLossErrorInfo | ( | ) | const |
Definition at line 4131 of file qrhivulkan.cpp.
Referenced by printExtraErrorInfo().
| void QRhiVulkan::printExtraErrorInfo | ( | VkResult | err | ) |
Definition at line 4123 of file qrhivulkan.cpp.
References printDeviceLossErrorInfo().
| void QRhiVulkan::recordPrimaryCommandBuffer | ( | QVkCommandBuffer * | cbD | ) |
Definition at line 4949 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 5281 of file qrhivulkan.cpp.
References QRhiPassResourceTracker::isEmpty().
Referenced by recordPrimaryCommandBuffer().
| bool QRhiVulkan::recreateSwapChain | ( | QRhiSwapChain * | swapChain | ) |
Definition at line 2244 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 5624 of file qrhivulkan.cpp.
References releaseCachedResourcesCalledBeforeFrameStart.
| void QRhiVulkan::releaseSwapChainResources | ( | QRhiSwapChain * | swapChain | ) |
Definition at line 2539 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 5529 of file qrhivulkan.cpp.
References QVK_FRAMES_IN_FLIGHT.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3238 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 6521 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6266 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 3487 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 5805 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 6534 of file qrhivulkan.cpp.
|
overridevirtual |
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5605 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6237 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 5830 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 6298 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6284 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 6099 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 6191 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 2879 of file qrhivulkan.cpp.
References deviceLost, and df.
| VkCommandBuffer QRhiVulkan::startSecondaryCommandBuffer | ( | QVkRenderTargetData * | rtD = nullptr | ) |
Definition at line 3246 of file qrhivulkan.cpp.
References df, and QVkRenderTargetData::rp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5579 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 3973 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 4003 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 4884 of file qrhivulkan.cpp.
Implements QRhiImplementation.
Definition at line 4916 of file qrhivulkan.cpp.
| void QRhiVulkan::trackedBufferBarrier | ( | QVkCommandBuffer * | cbD, |
| QVkBuffer * | bufD, | ||
| int | slot, | ||
| VkAccessFlags | access, | ||
| VkPipelineStageFlags | stage ) |
Definition at line 3861 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 3901 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 5244 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 5262 of file qrhivulkan.cpp.
References QRhiPassResourceTracker::registerTexture(), and toPassTrackerUsageState().
Referenced by activateTextureRenderTarget(), beginPass(), and setShaderResources().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5362 of file qrhivulkan.cpp.
| void QRhiVulkan::updateShaderResourceBindings | ( | QRhiShaderResourceBindings * | srb | ) |
Definition at line 3695 of file qrhivulkan.cpp.
References df.
| QRhi::FrameOpResult QRhiVulkan::waitCommandCompletion | ( | int | frameSlot | ) |
Definition at line 2974 of file qrhivulkan.cpp.
| QVarLengthArray<BufferReadback, 2> QRhiVulkan::activeBufferReadbacks |
Definition at line 1030 of file qrhivulkan_p.h.
| QVarLengthArray<TextureReadback, 2> QRhiVulkan::activeTextureReadbacks |
Definition at line 1022 of file qrhivulkan_p.h.
| QVkAllocator QRhiVulkan::allocator = nullptr |
Definition at line 900 of file qrhivulkan_p.h.
Referenced by QRhiVulkan(), create(), destroy(), and executeDeferredReleases().
| QVersionNumber QRhiVulkan::apiVersion |
Definition at line 967 of file qrhivulkan_p.h.
| struct { ... } QRhiVulkan::caps |
| QMatrix4x4 QRhiVulkan::clipCorrectMatrix |
Definition at line 988 of file qrhivulkan_p.h.
| VkCommandPool QRhiVulkan::cmdPool[QVK_FRAMES_IN_FLIGHT] = {} |
Definition at line 894 of file qrhivulkan_p.h.
| bool QRhiVulkan::compute = false |
Definition at line 952 of file qrhivulkan_p.h.
| QVkSwapChain* QRhiVulkan::currentSwapChain = nullptr |
Definition at line 990 of file qrhivulkan_p.h.
Referenced by beginFrame(), beginPass(), endFrame(), enqueueResourceUpdates(), and finish().
| bool QRhiVulkan::debugUtils = false |
Definition at line 955 of file qrhivulkan_p.h.
| bool QRhiVulkan::depthClamp = false |
Definition at line 953 of file qrhivulkan_p.h.
| bool QRhiVulkan::depthStencilResolveKHR = false |
Definition at line 964 of file qrhivulkan_p.h.
| QVarLengthArray<DescriptorPoolData, 8> QRhiVulkan::descriptorPools |
Definition at line 981 of file qrhivulkan_p.h.
| VkDevice QRhiVulkan::dev = VK_NULL_HANDLE |
Definition at line 893 of file qrhivulkan_p.h.
| bool QRhiVulkan::deviceFault = false |
Definition at line 956 of file qrhivulkan_p.h.
| bool QRhiVulkan::deviceLost = false |
Definition at line 918 of file qrhivulkan_p.h.
Referenced by beginFrame(), create(), destroy(), endAndSubmitPrimaryCommandBuffer(), endFrame(), isDeviceLost(), releaseSwapChainResources(), and startPrimaryCommandBuffer().
| QVulkanDeviceFunctions* QRhiVulkan::df = nullptr |
Definition at line 902 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 993 of file qrhivulkan_p.h.
| QVulkanFunctions* QRhiVulkan::f = nullptr |
Definition at line 901 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 982 of file qrhivulkan_p.h.
| bool QRhiVulkan::geometryShader = false |
Definition at line 960 of file qrhivulkan_p.h.
| VkQueue QRhiVulkan::gfxQueue = VK_NULL_HANDLE |
Definition at line 897 of file qrhivulkan_p.h.
| quint32 QRhiVulkan::gfxQueueFamilyIdx = 0 |
Definition at line 895 of file qrhivulkan_p.h.
| quint32 QRhiVulkan::gfxQueueIdx = 0 |
Definition at line 896 of file qrhivulkan_p.h.
| bool QRhiVulkan::imageBasedShadingRate = false |
Definition at line 966 of file qrhivulkan_p.h.
| int QRhiVulkan::imageBasedShadingRateTileSize = 0 |
Definition at line 968 of file qrhivulkan_p.h.
| bool QRhiVulkan::importedAllocator = false |
Definition at line 899 of file qrhivulkan_p.h.
Referenced by QRhiVulkan(), create(), and destroy().
| bool QRhiVulkan::importedDevice = false |
Definition at line 891 of file qrhivulkan_p.h.
Referenced by QRhiVulkan(), create(), and destroy().
| QVulkanInstance* QRhiVulkan::inst = nullptr |
Definition at line 888 of file qrhivulkan_p.h.
Definition at line 889 of file qrhivulkan_p.h.
Referenced by QRhiVulkan().
| bool QRhiVulkan::multiView = false |
Definition at line 962 of file qrhivulkan_p.h.
| QRhiVulkanNativeHandles QRhiVulkan::nativeHandlesStruct |
Definition at line 992 of file qrhivulkan_p.h.
| bool QRhiVulkan::nonFillPolygonMode = false |
Definition at line 961 of file qrhivulkan_p.h.
| struct QRhiVulkan::OffscreenFrame QRhiVulkan::ofr |
| VkFormat QRhiVulkan::optimalDsFormat = VK_FORMAT_UNDEFINED |
Definition at line 987 of file qrhivulkan_p.h.
| bool QRhiVulkan::perDrawShadingRate = false |
Definition at line 965 of file qrhivulkan_p.h.
| VkPhysicalDevice QRhiVulkan::physDev = VK_NULL_HANDLE |
Definition at line 892 of file qrhivulkan_p.h.
| VkPhysicalDeviceFeatures QRhiVulkan::physDevFeatures |
Definition at line 904 of file qrhivulkan_p.h.
| VkPhysicalDeviceProperties QRhiVulkan::physDevProperties |
Definition at line 915 of file qrhivulkan_p.h.
| VkPipelineCache QRhiVulkan::pipelineCache = VK_NULL_HANDLE |
Definition at line 971 of file qrhivulkan_p.h.
| bool QRhiVulkan::releaseCachedResourcesCalledBeforeFrameStart = false |
Definition at line 919 of file qrhivulkan_p.h.
Referenced by prepareNewFrame(), and releaseCachedResources().
| QList<DeferredReleaseEntry> QRhiVulkan::releaseQueue |
Definition at line 1098 of file qrhivulkan_p.h.
| bool QRhiVulkan::renderPass2KHR = false |
Definition at line 963 of file qrhivulkan_p.h.
| QByteArrayList QRhiVulkan::requestedDeviceExtensions |
Definition at line 890 of file qrhivulkan_p.h.
| QRhi::Flags QRhiVulkan::rhiFlags |
Definition at line 903 of file qrhivulkan_p.h.
| QVarLengthArray<VkPipelineStageFlags, 4> QRhiVulkan::semaphoresWaitMasksForQueueSubmit |
Definition at line 1106 of file qrhivulkan_p.h.
| QVarLengthArray<VkSemaphore, 4> QRhiVulkan::signalSemaphoresForQueueSubmit |
Definition at line 1107 of file qrhivulkan_p.h.
| QSet<QVkSwapChain *> QRhiVulkan::swapchains |
Definition at line 991 of file qrhivulkan_p.h.
| bool QRhiVulkan::tessellation = false |
Definition at line 959 of file qrhivulkan_p.h.
| VkDeviceSize QRhiVulkan::texbufAlign |
Definition at line 917 of file qrhivulkan_p.h.
| bool QRhiVulkan::texture3DSliceAs2D = false |
Definition at line 958 of file qrhivulkan_p.h.
| VkQueryPool QRhiVulkan::timestampQueryPool = VK_NULL_HANDLE |
Definition at line 984 of file qrhivulkan_p.h.
| QBitArray QRhiVulkan::timestampQueryPoolMap |
Definition at line 985 of file qrhivulkan_p.h.
| quint32 QRhiVulkan::timestampValidBits = 0 |
Definition at line 898 of file qrhivulkan_p.h.
| VkDeviceSize QRhiVulkan::ubufAlign |
Definition at line 916 of file qrhivulkan_p.h.
| bool QRhiVulkan::vertexAttribDivisor = false |
Definition at line 957 of file qrhivulkan_p.h.
| PFN_vkAcquireNextImageKHR QRhiVulkan::vkAcquireNextImageKHR |
Definition at line 937 of file qrhivulkan_p.h.
| PFN_vkCreateSwapchainKHR QRhiVulkan::vkCreateSwapchainKHR = nullptr |
Definition at line 934 of file qrhivulkan_p.h.
| PFN_vkDestroySwapchainKHR QRhiVulkan::vkDestroySwapchainKHR |
Definition at line 935 of file qrhivulkan_p.h.
| PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR QRhiVulkan::vkGetPhysicalDeviceSurfaceCapabilitiesKHR |
Definition at line 939 of file qrhivulkan_p.h.
| PFN_vkGetPhysicalDeviceSurfaceFormatsKHR QRhiVulkan::vkGetPhysicalDeviceSurfaceFormatsKHR |
Definition at line 940 of file qrhivulkan_p.h.
| PFN_vkGetPhysicalDeviceSurfacePresentModesKHR QRhiVulkan::vkGetPhysicalDeviceSurfacePresentModesKHR |
Definition at line 941 of file qrhivulkan_p.h.
| PFN_vkGetSwapchainImagesKHR QRhiVulkan::vkGetSwapchainImagesKHR |
Definition at line 936 of file qrhivulkan_p.h.
| PFN_vkQueuePresentKHR QRhiVulkan::vkQueuePresentKHR |
Definition at line 938 of file qrhivulkan_p.h.
| QVarLengthArray<VkSemaphore, 4> QRhiVulkan::waitSemaphoresForPresent |
Definition at line 1108 of file qrhivulkan_p.h.
| QVarLengthArray<VkSemaphore, 4> QRhiVulkan::waitSemaphoresForQueueSubmit |
Definition at line 1105 of file qrhivulkan_p.h.
| bool QRhiVulkan::wideLines = false |
Definition at line 954 of file qrhivulkan_p.h.