![]() |
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 | BufferReadback |
| struct | DeferredReleaseEntry |
| struct | DescriptorPoolData |
| struct | OffscreenFrame |
| struct | TextureReadback |
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 681 of file qrhivulkan_p.h.
| using QRhiVulkan::BufferImageCopyList = QVarLengthArray<VkBufferImageCopy, 16> |
Definition at line 837 of file qrhivulkan_p.h.
| QRhiVulkan::QRhiVulkan | ( | QRhiVulkanInitParams * | params, |
| QRhiVulkanNativeHandles * | importParams = nullptr ) |
Definition at line 429 of file qrhivulkan.cpp.
References QRhiVulkan(), allocator, importedAllocator, importedDevice, and maybeWindow.
Referenced by QRhiVulkan().
| void QRhiVulkan::activateTextureRenderTarget | ( | QVkCommandBuffer * | cbD, |
| QVkTextureRenderTarget * | rtD ) |
Definition at line 3128 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 1264 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3392 of file qrhivulkan.cpp.
References QVkCommandBuffer::ComputePass, enqueueResourceUpdates(), enqueueTransitionPassResources(), QVkCommandBuffer::NoPass, QVkCommandBuffer::recordingPass, and QVkCommandBuffer::resetPerPassState().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6265 of file qrhivulkan.cpp.
References QVkCommandBuffer::inExternal, QVkCommandBuffer::NoPass, QVkCommandBuffer::passUsesSecondaryCb, QVkCommandBuffer::recordingPass, recordPrimaryCommandBuffer(), and QVkCommandBuffer::resetCommands().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2597 of file qrhivulkan.cpp.
References QVkSwapChain::bufferCount, currentSwapChain, deviceLost, ensureCommandPoolForNewFrame(), QVkSwapChain::FrameResources::imageAcquired, QVkSwapChain::FrameResources::imageSemWaitable, prepareNewFrame(), QVkSwapChain::stereo, and QVkSwapChain::FrameResources::timestampQueryIndex.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2955 of file qrhivulkan.cpp.
References ensureCommandPoolForNewFrame(), and prepareNewFrame().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3259 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 1498 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5237 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 532 of file qrhivulkan.cpp.
References allocator, deviceLost, importedAllocator, importedDevice, QVK_FRAMES_IN_FLIGHT, and QVK_MAX_ACTIVE_TIMESTAMP_PAIRS.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5212 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5648 of file qrhivulkan.cpp.
| bool QRhiVulkan::createDefaultRenderPass | ( | QVkRenderPassDescriptor * | rpD, |
| bool | hasDepthStencil, | ||
| VkSampleCountFlagBits | samples, | ||
| VkFormat | colorFormat, | ||
| QRhiShadingRateMap * | shadingRateMap ) |
Definition at line 1868 of file qrhivulkan.cpp.
References QVkRenderPassDescriptor::hasDepthStencil, QVkRenderPassDescriptor::hasDepthStencilResolve, and QVkRenderPassDescriptor::hasShadingRateMap.
| VkResult QRhiVulkan::createDescriptorPool | ( | VkDescriptorPool * | pool | ) |
Definition at line 1243 of file qrhivulkan.cpp.
References QVK_DESC_SETS_PER_POOL.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5643 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 2002 of file qrhivulkan.cpp.
References QVkRenderPassDescriptor::hasDepthStencil, QVkRenderPassDescriptor::hasDepthStencilResolve, and QVkRenderPassDescriptor::hasShadingRateMap.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5611 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5625 of file qrhivulkan.cpp.
| VkShaderModule QRhiVulkan::createShader | ( | const QByteArray & | spirv | ) |
Definition at line 3608 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5653 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5632 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5199 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5618 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5637 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 1530 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6170 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6196 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6214 of file qrhivulkan.cpp.
| void QRhiVulkan::depthStencilExplicitBarrier | ( | QVkCommandBuffer * | cbD, |
| QVkRenderBuffer * | rbD ) |
Definition at line 3888 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 1140 of file qrhivulkan.cpp.
References allocator, df, executeDeferredReleases(), f, finishActiveReadbacks(), importedAllocator, importedDevice, and QVK_FRAMES_IN_FLIGHT.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3477 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 6132 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 6150 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 5427 of file qrhivulkan.cpp.
| VkSampleCountFlagBits QRhiVulkan::effectiveSampleCountBits | ( | int | sampleCount | ) |
Definition at line 4770 of file qrhivulkan.cpp.
| double QRhiVulkan::elapsedSecondsFromTimestamp | ( | quint64 | timestamp[2], |
| bool * | ok ) |
Definition at line 2579 of file qrhivulkan.cpp.
| void QRhiVulkan::endAndEnqueueSecondaryCommandBuffer | ( | VkCommandBuffer | cb, |
| QVkCommandBuffer * | cbD ) |
Definition at line 3242 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 2876 of file qrhivulkan.cpp.
References deviceLost, and df.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3415 of file qrhivulkan.cpp.
References QVkCommandBuffer::ComputePass, enqueueResourceUpdates(), QVkCommandBuffer::NoPass, QVkCommandBuffer::passUsesSecondaryCb, and QVkCommandBuffer::recordingPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6302 of file qrhivulkan.cpp.
References QVkCommandBuffer::currentPassResTrackerIndex, QVkCommandBuffer::inExternal, QVkCommandBuffer::NoPass, QVkCommandBuffer::recordingPass, and QVkCommandBuffer::resetPerPassState().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2706 of file qrhivulkan.cpp.
References QVkSwapChain::bufferCount, QVkSwapChain::FrameResources::cmdFenceWaitable, currentSwapChain, deviceLost, 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 3004 of file qrhivulkan.cpp.
References finishActiveReadbacks(), QVkCommandBuffer::lastGpuTime, and recordPrimaryCommandBuffer().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3371 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 4072 of file qrhivulkan.cpp.
References QRhiResourceUpdateBatchPrivate::activeBufferOpCount, QRhiResourceUpdateBatchPrivate::activeTextureOpCount, QVkCommandBuffer::Command::BlitImage, QVkCommandBuffer::Command::cmd, 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, 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 4805 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 2565 of file qrhivulkan.cpp.
Referenced by beginFrame(), beginOffscreenFrame(), and finish().
| bool QRhiVulkan::ensurePipelineCache | ( | const void * | initialData = nullptr, |
| size_t | initialDataSize = 0 ) |
Definition at line 3623 of file qrhivulkan.cpp.
|
overridevirtual |
Reimplemented from QRhiImplementation.
Definition at line 1203 of file qrhivulkan.cpp.
Definition at line 4563 of file qrhivulkan.cpp.
Referenced by QVkBuffer::nativeBuffer().
| void QRhiVulkan::executeDeferredReleases | ( | bool | forced = false | ) |
Definition at line 4627 of file qrhivulkan.cpp.
References allocator, QRhiVulkan::DeferredReleaseEntry::Buffer, QVkRenderTargetData::MAX_COLOR_ATTACHMENTS, qrhivk_releaseBuffer(), and QRhiVulkan::DeferredReleaseEntry::type.
Referenced by destroy(), finish(), and prepareNewFrame().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3062 of file qrhivulkan.cpp.
References currentSwapChain, ensureCommandPoolForNewFrame(), executeDeferredReleases(), finishActiveReadbacks(), QVkCommandBuffer::NoPass, QVkCommandBuffer::recordingPass, recordPrimaryCommandBuffer(), and QVkCommandBuffer::resetCommands().
| void QRhiVulkan::finishActiveReadbacks | ( | bool | forced = false | ) |
Definition at line 4684 of file qrhivulkan.cpp.
Referenced by destroy(), endOffscreenFrame(), finish(), and prepareNewFrame().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5232 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5482 of file qrhivulkan.cpp.
References deviceLost.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5278 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5252 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5222 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5227 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6318 of file qrhivulkan.cpp.
References QVkCommandBuffer::lastGpuTime.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5452 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5422 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6240 of file qrhivulkan.cpp.
| VkFormat QRhiVulkan::optimalDepthStencilFormat | ( | ) |
Definition at line 1619 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5499 of file qrhivulkan.cpp.
| void QRhiVulkan::prepareNewFrame | ( | QRhiCommandBuffer * | cb | ) |
Definition at line 2815 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 3958 of file qrhivulkan.cpp.
| void QRhiVulkan::printExtraErrorInfo | ( | VkResult | err | ) |
Definition at line 4066 of file qrhivulkan.cpp.
| void QRhiVulkan::recordPrimaryCommandBuffer | ( | QVkCommandBuffer * | cbD | ) |
Definition at line 4815 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::NoPass, QVkCommandBuffer::recordingPass, recordTransitionPassResources(), QVkCommandBuffer::Command::SetBlendConstants, QVkCommandBuffer::Command::SetScissor, QVkCommandBuffer::Command::SetShadingRate, 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 5136 of file qrhivulkan.cpp.
References QRhiPassResourceTracker::isEmpty().
Referenced by recordPrimaryCommandBuffer().
| bool QRhiVulkan::recreateSwapChain | ( | QRhiSwapChain * | swapChain | ) |
Definition at line 2205 of file qrhivulkan.cpp.
References QVkSwapChain::bufferCount, QVkSwapChain::FrameResources::cmdFenceWaitable, 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 5477 of file qrhivulkan.cpp.
References releaseCachedResourcesCalledBeforeFrameStart.
| void QRhiVulkan::releaseSwapChainResources | ( | QRhiSwapChain * | swapChain | ) |
Definition at line 2500 of file qrhivulkan.cpp.
References QVkSwapChain::bufferCount, QVkSwapChain::FrameResources::cmdFenceWaitable, QVK_FRAMES_IN_FLIGHT, and QVkSwapChain::stereo.
Referenced by QVkSwapChain::destroy(), and recreateSwapChain().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5382 of file qrhivulkan.cpp.
References QVK_FRAMES_IN_FLIGHT.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3192 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 6324 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6069 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 3432 of file qrhivulkan.cpp.
References QVkCommandBuffer::Command::BindPipeline, QVkCommandBuffer::Command::cmd, QVkCommandBuffer::ComputePass, QVkCommandBuffer::passUsesSecondaryCb, and QVkCommandBuffer::recordingPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5658 of file qrhivulkan.cpp.
References QVkCommandBuffer::Command::BindPipeline, QVkCommandBuffer::Command::cmd, QVkCommandBuffer::passUsesSecondaryCb, QVkCommandBuffer::recordingPass, and QVkCommandBuffer::RenderPass.
| void QRhiVulkan::setObjectName | ( | uint64_t | object, |
| VkObjectType | type, | ||
| const QByteArray & | name, | ||
| int | slot = -1 ) |
Definition at line 6337 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5537 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5458 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6040 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 5683 of file qrhivulkan.cpp.
References QVkCommandBuffer::Command::BindDescriptorSet, QRhiPassResourceTracker::BufStorageLoad, QRhiPassResourceTracker::BufStorageLoadStore, QRhiPassResourceTracker::BufStorageStore, QVkCommandBuffer::Command::cmd, QVkCommandBuffer::currentPassResTrackerIndex, QVkShaderResourceBindings::hasDynamicOffset, QVkCommandBuffer::NoPass, QVkCommandBuffer::passUsesSecondaryCb, QVkCommandBuffer::recordingPass, QRhiPassResourceTracker::TexSample, QRhiPassResourceTracker::TexStorageLoad, QRhiPassResourceTracker::TexStorageLoadStore, QRhiPassResourceTracker::TexStorageStore, and trackedRegisterTexture().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6101 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6087 of file qrhivulkan.cpp.
References QVkCommandBuffer::Command::cmd, QVkCommandBuffer::passUsesSecondaryCb, QVkCommandBuffer::recordingPass, QVkCommandBuffer::RenderPass, and QVkCommandBuffer::Command::SetStencilRef.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5902 of file qrhivulkan.cpp.
References QVkCommandBuffer::Command::BindIndexBuffer, QVkCommandBuffer::Command::BindVertexBuffer, QRhiPassResourceTracker::BufIndexRead, QRhiPassResourceTracker::BufVertexInput, QRhiPassResourceTracker::BufVertexInputStage, QVkCommandBuffer::Command::cmd, QVkCommandBuffer::currentPassResTrackerIndex, df, QVkCommandBuffer::passUsesSecondaryCb, QVkCommandBuffer::recordingPass, QVkCommandBuffer::RenderPass, and trackedRegisterBuffer().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5994 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 2838 of file qrhivulkan.cpp.
References deviceLost, and df.
| VkCommandBuffer QRhiVulkan::startSecondaryCommandBuffer | ( | QVkRenderTargetData * | rtD = nullptr | ) |
Definition at line 3200 of file qrhivulkan.cpp.
References df, and QVkRenderTargetData::rp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5432 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 3918 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 3948 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 4750 of file qrhivulkan.cpp.
Implements QRhiImplementation.
Definition at line 4782 of file qrhivulkan.cpp.
| void QRhiVulkan::trackedBufferBarrier | ( | QVkCommandBuffer * | cbD, |
| QVkBuffer * | bufD, | ||
| int | slot, | ||
| VkAccessFlags | access, | ||
| VkPipelineStageFlags | stage ) |
Definition at line 3806 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 3846 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 5099 of file qrhivulkan.cpp.
References QRhiPassResourceTracker::registerBuffer(), and toPassTrackerUsageState().
Referenced by setVertexInput().
| void QRhiVulkan::trackedRegisterTexture | ( | QRhiPassResourceTracker * | passResTracker, |
| QVkTexture * | texD, | ||
| QRhiPassResourceTracker::TextureAccess | access, | ||
| QRhiPassResourceTracker::TextureStage | stage ) |
Definition at line 5117 of file qrhivulkan.cpp.
References QRhiPassResourceTracker::registerTexture(), and toPassTrackerUsageState().
Referenced by activateTextureRenderTarget(), beginPass(), and setShaderResources().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5217 of file qrhivulkan.cpp.
| void QRhiVulkan::updateShaderResourceBindings | ( | QRhiShaderResourceBindings * | srb | ) |
Definition at line 3640 of file qrhivulkan.cpp.
| QRhi::FrameOpResult QRhiVulkan::waitCommandCompletion | ( | int | frameSlot | ) |
Definition at line 2929 of file qrhivulkan.cpp.
| QVarLengthArray<BufferReadback, 2> QRhiVulkan::activeBufferReadbacks |
Definition at line 1015 of file qrhivulkan_p.h.
| QVarLengthArray<TextureReadback, 2> QRhiVulkan::activeTextureReadbacks |
Definition at line 1007 of file qrhivulkan_p.h.
| QVkAllocator QRhiVulkan::allocator = nullptr |
Definition at line 890 of file qrhivulkan_p.h.
Referenced by QRhiVulkan(), create(), destroy(), and executeDeferredReleases().
| QVersionNumber QRhiVulkan::apiVersion |
Definition at line 952 of file qrhivulkan_p.h.
| struct { ... } QRhiVulkan::caps |
| QMatrix4x4 QRhiVulkan::clipCorrectMatrix |
Definition at line 973 of file qrhivulkan_p.h.
| VkCommandPool QRhiVulkan::cmdPool[QVK_FRAMES_IN_FLIGHT] = {} |
Definition at line 884 of file qrhivulkan_p.h.
| bool QRhiVulkan::compute = false |
Definition at line 938 of file qrhivulkan_p.h.
| QVkSwapChain* QRhiVulkan::currentSwapChain = nullptr |
Definition at line 975 of file qrhivulkan_p.h.
Referenced by beginFrame(), beginPass(), endFrame(), enqueueResourceUpdates(), and finish().
| bool QRhiVulkan::debugUtils = false |
Definition at line 941 of file qrhivulkan_p.h.
| bool QRhiVulkan::depthClamp = false |
Definition at line 939 of file qrhivulkan_p.h.
| bool QRhiVulkan::depthStencilResolveKHR = false |
Definition at line 949 of file qrhivulkan_p.h.
| QVarLengthArray<DescriptorPoolData, 8> QRhiVulkan::descriptorPools |
Definition at line 966 of file qrhivulkan_p.h.
| VkDevice QRhiVulkan::dev = VK_NULL_HANDLE |
Definition at line 883 of file qrhivulkan_p.h.
| bool QRhiVulkan::deviceLost = false |
Definition at line 908 of file qrhivulkan_p.h.
Referenced by beginFrame(), create(), endAndSubmitPrimaryCommandBuffer(), endFrame(), isDeviceLost(), and startPrimaryCommandBuffer().
| QVulkanDeviceFunctions* QRhiVulkan::df = nullptr |
Definition at line 892 of file qrhivulkan_p.h.
Referenced by QVkComputePipeline::create(), QVkSwapChain::createOrResize(), destroy(), dispatch(), draw(), drawIndexed(), endAndEnqueueSecondaryCommandBuffer(), endAndSubmitPrimaryCommandBuffer(), QVkRenderPassDescriptor::newCompatibleRenderPassDescriptor(), QVkTexture::perLevelImageViewForLoadStore(), recordPrimaryCommandBuffer(), setBlendConstants(), setScissor(), setVertexInput(), setViewport(), startPrimaryCommandBuffer(), and startSecondaryCommandBuffer().
| QRhiDriverInfo QRhiVulkan::driverInfoStruct |
Definition at line 978 of file qrhivulkan_p.h.
| QVulkanFunctions* QRhiVulkan::f = nullptr |
Definition at line 891 of file qrhivulkan_p.h.
Referenced by destroy().
| QVarLengthArray<VkCommandBuffer, 4> QRhiVulkan::freeSecondaryCbs[QVK_FRAMES_IN_FLIGHT] |
Definition at line 967 of file qrhivulkan_p.h.
| bool QRhiVulkan::geometryShader = false |
Definition at line 945 of file qrhivulkan_p.h.
| VkQueue QRhiVulkan::gfxQueue = VK_NULL_HANDLE |
Definition at line 887 of file qrhivulkan_p.h.
| quint32 QRhiVulkan::gfxQueueFamilyIdx = 0 |
Definition at line 885 of file qrhivulkan_p.h.
| quint32 QRhiVulkan::gfxQueueIdx = 0 |
Definition at line 886 of file qrhivulkan_p.h.
| bool QRhiVulkan::imageBasedShadingRate = false |
Definition at line 951 of file qrhivulkan_p.h.
| int QRhiVulkan::imageBasedShadingRateTileSize = 0 |
Definition at line 953 of file qrhivulkan_p.h.
| bool QRhiVulkan::importedAllocator = false |
Definition at line 889 of file qrhivulkan_p.h.
Referenced by QRhiVulkan(), create(), and destroy().
| bool QRhiVulkan::importedDevice = false |
Definition at line 881 of file qrhivulkan_p.h.
Referenced by QRhiVulkan(), create(), and destroy().
| QVulkanInstance* QRhiVulkan::inst = nullptr |
Definition at line 878 of file qrhivulkan_p.h.
| QWindow* QRhiVulkan::maybeWindow = nullptr |
Definition at line 879 of file qrhivulkan_p.h.
Referenced by QRhiVulkan().
| bool QRhiVulkan::multiView = false |
Definition at line 947 of file qrhivulkan_p.h.
| QRhiVulkanNativeHandles QRhiVulkan::nativeHandlesStruct |
Definition at line 977 of file qrhivulkan_p.h.
| bool QRhiVulkan::nonFillPolygonMode = false |
Definition at line 946 of file qrhivulkan_p.h.
| struct QRhiVulkan::OffscreenFrame QRhiVulkan::ofr |
| VkFormat QRhiVulkan::optimalDsFormat = VK_FORMAT_UNDEFINED |
Definition at line 972 of file qrhivulkan_p.h.
| bool QRhiVulkan::perDrawShadingRate = false |
Definition at line 950 of file qrhivulkan_p.h.
| VkPhysicalDevice QRhiVulkan::physDev = VK_NULL_HANDLE |
Definition at line 882 of file qrhivulkan_p.h.
| VkPhysicalDeviceFeatures QRhiVulkan::physDevFeatures |
Definition at line 894 of file qrhivulkan_p.h.
| VkPhysicalDeviceProperties QRhiVulkan::physDevProperties |
Definition at line 905 of file qrhivulkan_p.h.
| VkPipelineCache QRhiVulkan::pipelineCache = VK_NULL_HANDLE |
Definition at line 956 of file qrhivulkan_p.h.
| bool QRhiVulkan::releaseCachedResourcesCalledBeforeFrameStart = false |
Definition at line 909 of file qrhivulkan_p.h.
Referenced by prepareNewFrame(), and releaseCachedResources().
| QList<DeferredReleaseEntry> QRhiVulkan::releaseQueue |
Definition at line 1083 of file qrhivulkan_p.h.
| bool QRhiVulkan::renderPass2KHR = false |
Definition at line 948 of file qrhivulkan_p.h.
| QByteArrayList QRhiVulkan::requestedDeviceExtensions |
Definition at line 880 of file qrhivulkan_p.h.
| QRhi::Flags QRhiVulkan::rhiFlags |
Definition at line 893 of file qrhivulkan_p.h.
| QVarLengthArray<VkPipelineStageFlags, 4> QRhiVulkan::semaphoresWaitMasksForQueueSubmit |
Definition at line 1091 of file qrhivulkan_p.h.
| QVarLengthArray<VkSemaphore, 4> QRhiVulkan::signalSemaphoresForQueueSubmit |
Definition at line 1092 of file qrhivulkan_p.h.
| QSet<QVkSwapChain *> QRhiVulkan::swapchains |
Definition at line 976 of file qrhivulkan_p.h.
| bool QRhiVulkan::tessellation = false |
Definition at line 944 of file qrhivulkan_p.h.
| VkDeviceSize QRhiVulkan::texbufAlign |
Definition at line 907 of file qrhivulkan_p.h.
| bool QRhiVulkan::texture3DSliceAs2D = false |
Definition at line 943 of file qrhivulkan_p.h.
| VkQueryPool QRhiVulkan::timestampQueryPool = VK_NULL_HANDLE |
Definition at line 969 of file qrhivulkan_p.h.
| QBitArray QRhiVulkan::timestampQueryPoolMap |
Definition at line 970 of file qrhivulkan_p.h.
| quint32 QRhiVulkan::timestampValidBits = 0 |
Definition at line 888 of file qrhivulkan_p.h.
| VkDeviceSize QRhiVulkan::ubufAlign |
Definition at line 906 of file qrhivulkan_p.h.
| bool QRhiVulkan::vertexAttribDivisor = false |
Definition at line 942 of file qrhivulkan_p.h.
| PFN_vkAcquireNextImageKHR QRhiVulkan::vkAcquireNextImageKHR |
Definition at line 927 of file qrhivulkan_p.h.
| PFN_vkCreateSwapchainKHR QRhiVulkan::vkCreateSwapchainKHR = nullptr |
Definition at line 924 of file qrhivulkan_p.h.
| PFN_vkDestroySwapchainKHR QRhiVulkan::vkDestroySwapchainKHR |
Definition at line 925 of file qrhivulkan_p.h.
| PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR QRhiVulkan::vkGetPhysicalDeviceSurfaceCapabilitiesKHR |
Definition at line 929 of file qrhivulkan_p.h.
| PFN_vkGetPhysicalDeviceSurfaceFormatsKHR QRhiVulkan::vkGetPhysicalDeviceSurfaceFormatsKHR |
Definition at line 930 of file qrhivulkan_p.h.
| PFN_vkGetPhysicalDeviceSurfacePresentModesKHR QRhiVulkan::vkGetPhysicalDeviceSurfacePresentModesKHR |
Definition at line 931 of file qrhivulkan_p.h.
| PFN_vkGetSwapchainImagesKHR QRhiVulkan::vkGetSwapchainImagesKHR |
Definition at line 926 of file qrhivulkan_p.h.
| PFN_vkQueuePresentKHR QRhiVulkan::vkQueuePresentKHR |
Definition at line 928 of file qrhivulkan_p.h.
| QVarLengthArray<VkSemaphore, 4> QRhiVulkan::waitSemaphoresForPresent |
Definition at line 1093 of file qrhivulkan_p.h.
| QVarLengthArray<VkSemaphore, 4> QRhiVulkan::waitSemaphoresForQueueSubmit |
Definition at line 1090 of file qrhivulkan_p.h.
| bool QRhiVulkan::wideLines = false |
Definition at line 940 of file qrhivulkan_p.h.