![]() |
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 3126 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 1262 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3390 of file qrhivulkan.cpp.
References QVkCommandBuffer::ComputePass, enqueueResourceUpdates(), enqueueTransitionPassResources(), QVkCommandBuffer::NoPass, QVkCommandBuffer::recordingPass, and QVkCommandBuffer::resetPerPassState().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6263 of file qrhivulkan.cpp.
References QVkCommandBuffer::inExternal, QVkCommandBuffer::NoPass, QVkCommandBuffer::passUsesSecondaryCb, QVkCommandBuffer::recordingPass, recordPrimaryCommandBuffer(), and QVkCommandBuffer::resetCommands().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2595 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 2953 of file qrhivulkan.cpp.
References ensureCommandPoolForNewFrame(), and prepareNewFrame().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3257 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 1496 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5235 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 5210 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5646 of file qrhivulkan.cpp.
bool QRhiVulkan::createDefaultRenderPass | ( | QVkRenderPassDescriptor * | rpD, |
bool | hasDepthStencil, | ||
VkSampleCountFlagBits | samples, | ||
VkFormat | colorFormat, | ||
QRhiShadingRateMap * | shadingRateMap ) |
Definition at line 1866 of file qrhivulkan.cpp.
References QVkRenderPassDescriptor::hasDepthStencil, QVkRenderPassDescriptor::hasDepthStencilResolve, and QVkRenderPassDescriptor::hasShadingRateMap.
VkResult QRhiVulkan::createDescriptorPool | ( | VkDescriptorPool * | pool | ) |
Definition at line 1241 of file qrhivulkan.cpp.
References QVK_DESC_SETS_PER_POOL.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5641 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 2000 of file qrhivulkan.cpp.
References QVkRenderPassDescriptor::hasDepthStencil, QVkRenderPassDescriptor::hasDepthStencilResolve, and QVkRenderPassDescriptor::hasShadingRateMap.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5609 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5623 of file qrhivulkan.cpp.
VkShaderModule QRhiVulkan::createShader | ( | const QByteArray & | spirv | ) |
Definition at line 3606 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5651 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5630 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5197 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5616 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5635 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 1528 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6168 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6194 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6212 of file qrhivulkan.cpp.
void QRhiVulkan::depthStencilExplicitBarrier | ( | QVkCommandBuffer * | cbD, |
QVkRenderBuffer * | rbD ) |
Definition at line 3886 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 1138 of file qrhivulkan.cpp.
References allocator, df, executeDeferredReleases(), f, finishActiveReadbacks(), importedAllocator, importedDevice, and QVK_FRAMES_IN_FLIGHT.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3475 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 6130 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 6148 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 5425 of file qrhivulkan.cpp.
VkSampleCountFlagBits QRhiVulkan::effectiveSampleCountBits | ( | int | sampleCount | ) |
Definition at line 4768 of file qrhivulkan.cpp.
double QRhiVulkan::elapsedSecondsFromTimestamp | ( | quint64 | timestamp[2], |
bool * | ok ) |
Definition at line 2577 of file qrhivulkan.cpp.
void QRhiVulkan::endAndEnqueueSecondaryCommandBuffer | ( | VkCommandBuffer | cb, |
QVkCommandBuffer * | cbD ) |
Definition at line 3240 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 2874 of file qrhivulkan.cpp.
References deviceLost, and df.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3413 of file qrhivulkan.cpp.
References QVkCommandBuffer::ComputePass, enqueueResourceUpdates(), QVkCommandBuffer::NoPass, QVkCommandBuffer::passUsesSecondaryCb, and QVkCommandBuffer::recordingPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6300 of file qrhivulkan.cpp.
References QVkCommandBuffer::currentPassResTrackerIndex, QVkCommandBuffer::inExternal, QVkCommandBuffer::NoPass, QVkCommandBuffer::recordingPass, and QVkCommandBuffer::resetPerPassState().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 2704 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 3002 of file qrhivulkan.cpp.
References finishActiveReadbacks(), QVkCommandBuffer::lastGpuTime, and recordPrimaryCommandBuffer().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3369 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 4070 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 4803 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 2563 of file qrhivulkan.cpp.
Referenced by beginFrame(), beginOffscreenFrame(), and finish().
bool QRhiVulkan::ensurePipelineCache | ( | const void * | initialData = nullptr, |
size_t | initialDataSize = 0 ) |
Definition at line 3621 of file qrhivulkan.cpp.
|
overridevirtual |
Reimplemented from QRhiImplementation.
Definition at line 1201 of file qrhivulkan.cpp.
Definition at line 4561 of file qrhivulkan.cpp.
Referenced by QVkBuffer::nativeBuffer().
void QRhiVulkan::executeDeferredReleases | ( | bool | forced = false | ) |
Definition at line 4625 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 3060 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 4682 of file qrhivulkan.cpp.
Referenced by destroy(), endOffscreenFrame(), finish(), and prepareNewFrame().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5230 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5480 of file qrhivulkan.cpp.
References deviceLost.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5276 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5250 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5220 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5225 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6316 of file qrhivulkan.cpp.
References QVkCommandBuffer::lastGpuTime.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5450 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5420 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6238 of file qrhivulkan.cpp.
VkFormat QRhiVulkan::optimalDepthStencilFormat | ( | ) |
Definition at line 1617 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5497 of file qrhivulkan.cpp.
void QRhiVulkan::prepareNewFrame | ( | QRhiCommandBuffer * | cb | ) |
Definition at line 2813 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 3956 of file qrhivulkan.cpp.
void QRhiVulkan::printExtraErrorInfo | ( | VkResult | err | ) |
Definition at line 4064 of file qrhivulkan.cpp.
void QRhiVulkan::recordPrimaryCommandBuffer | ( | QVkCommandBuffer * | cbD | ) |
Definition at line 4813 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 5134 of file qrhivulkan.cpp.
References QRhiPassResourceTracker::isEmpty().
Referenced by recordPrimaryCommandBuffer().
bool QRhiVulkan::recreateSwapChain | ( | QRhiSwapChain * | swapChain | ) |
Definition at line 2203 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 5475 of file qrhivulkan.cpp.
References releaseCachedResourcesCalledBeforeFrameStart.
void QRhiVulkan::releaseSwapChainResources | ( | QRhiSwapChain * | swapChain | ) |
Definition at line 2498 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 5380 of file qrhivulkan.cpp.
References QVK_FRAMES_IN_FLIGHT.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 3190 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 6322 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6067 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 3430 of file qrhivulkan.cpp.
References QVkCommandBuffer::Command::BindPipeline, QVkCommandBuffer::Command::cmd, QVkCommandBuffer::ComputePass, QVkCommandBuffer::passUsesSecondaryCb, and QVkCommandBuffer::recordingPass.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5656 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 6335 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5535 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5456 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6038 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 5681 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 6099 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 6085 of file qrhivulkan.cpp.
References QVkCommandBuffer::Command::cmd, QVkCommandBuffer::passUsesSecondaryCb, QVkCommandBuffer::recordingPass, QVkCommandBuffer::RenderPass, and QVkCommandBuffer::Command::SetStencilRef.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5900 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 5992 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 2836 of file qrhivulkan.cpp.
References deviceLost, and df.
VkCommandBuffer QRhiVulkan::startSecondaryCommandBuffer | ( | QVkRenderTargetData * | rtD = nullptr | ) |
Definition at line 3198 of file qrhivulkan.cpp.
References df, and QVkRenderTargetData::rp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5430 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 3916 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 3946 of file qrhivulkan.cpp.
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 4748 of file qrhivulkan.cpp.
Implements QRhiImplementation.
Definition at line 4780 of file qrhivulkan.cpp.
void QRhiVulkan::trackedBufferBarrier | ( | QVkCommandBuffer * | cbD, |
QVkBuffer * | bufD, | ||
int | slot, | ||
VkAccessFlags | access, | ||
VkPipelineStageFlags | stage ) |
Definition at line 3804 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 3844 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 5097 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 5115 of file qrhivulkan.cpp.
References QRhiPassResourceTracker::registerTexture(), and toPassTrackerUsageState().
Referenced by activateTextureRenderTarget(), beginPass(), and setShaderResources().
|
overridevirtual |
Implements QRhiImplementation.
Definition at line 5215 of file qrhivulkan.cpp.
void QRhiVulkan::updateShaderResourceBindings | ( | QRhiShaderResourceBindings * | srb | ) |
Definition at line 3638 of file qrhivulkan.cpp.
QRhi::FrameOpResult QRhiVulkan::waitCommandCompletion | ( | int | frameSlot | ) |
Definition at line 2927 of file qrhivulkan.cpp.
QVarLengthArray<BufferReadback, 2> QRhiVulkan::activeBufferReadbacks |
Definition at line 1014 of file qrhivulkan_p.h.
QVarLengthArray<TextureReadback, 2> QRhiVulkan::activeTextureReadbacks |
Definition at line 1006 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 951 of file qrhivulkan_p.h.
struct { ... } QRhiVulkan::caps |
QMatrix4x4 QRhiVulkan::clipCorrectMatrix |
Definition at line 972 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 974 of file qrhivulkan_p.h.
Referenced by beginFrame(), beginPass(), endFrame(), enqueueResourceUpdates(), and finish().
bool QRhiVulkan::debugUtils = false |
Definition at line 940 of file qrhivulkan_p.h.
bool QRhiVulkan::depthStencilResolveKHR = false |
Definition at line 948 of file qrhivulkan_p.h.
QVarLengthArray<DescriptorPoolData, 8> QRhiVulkan::descriptorPools |
Definition at line 965 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 977 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 966 of file qrhivulkan_p.h.
bool QRhiVulkan::geometryShader = false |
Definition at line 944 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 950 of file qrhivulkan_p.h.
int QRhiVulkan::imageBasedShadingRateTileSize = 0 |
Definition at line 952 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 946 of file qrhivulkan_p.h.
QRhiVulkanNativeHandles QRhiVulkan::nativeHandlesStruct |
Definition at line 976 of file qrhivulkan_p.h.
bool QRhiVulkan::nonFillPolygonMode = false |
Definition at line 945 of file qrhivulkan_p.h.
struct QRhiVulkan::OffscreenFrame QRhiVulkan::ofr |
VkFormat QRhiVulkan::optimalDsFormat = VK_FORMAT_UNDEFINED |
Definition at line 971 of file qrhivulkan_p.h.
bool QRhiVulkan::perDrawShadingRate = false |
Definition at line 949 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 955 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 1082 of file qrhivulkan_p.h.
bool QRhiVulkan::renderPass2KHR = false |
Definition at line 947 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 1090 of file qrhivulkan_p.h.
QVarLengthArray<VkSemaphore, 4> QRhiVulkan::signalSemaphoresForQueueSubmit |
Definition at line 1091 of file qrhivulkan_p.h.
QSet<QVkSwapChain *> QRhiVulkan::swapchains |
Definition at line 975 of file qrhivulkan_p.h.
bool QRhiVulkan::tessellation = false |
Definition at line 943 of file qrhivulkan_p.h.
VkDeviceSize QRhiVulkan::texbufAlign |
Definition at line 907 of file qrhivulkan_p.h.
bool QRhiVulkan::texture3DSliceAs2D = false |
Definition at line 942 of file qrhivulkan_p.h.
VkQueryPool QRhiVulkan::timestampQueryPool = VK_NULL_HANDLE |
Definition at line 968 of file qrhivulkan_p.h.
QBitArray QRhiVulkan::timestampQueryPoolMap |
Definition at line 969 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 941 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 1092 of file qrhivulkan_p.h.
QVarLengthArray<VkSemaphore, 4> QRhiVulkan::waitSemaphoresForQueueSubmit |
Definition at line 1089 of file qrhivulkan_p.h.
bool QRhiVulkan::wideLines = false |
Definition at line 939 of file qrhivulkan_p.h.