Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qrhivulkan.cpp File Reference
#include "qrhivulkan_p.h"
#include <qpa/qplatformvulkaninstance.h>
#include "vk_mem_alloc.h"
#include <qmath.h>
#include <QVulkanFunctions>
#include <QtGui/qwindow.h>
#include <optional>
+ Include dependency graph for qrhivulkan.cpp:

Go to the source code of this file.

Classes

struct  MultiViewRenderPassSetupHelper
 
struct  QVkPipelineCacheDataHeader
 

Macros

#define VMA_IMPLEMENTATION
 
#define VMA_DYNAMIC_VULKAN_FUNCTIONS   1
 
#define VMA_STATIC_VULKAN_FUNCTIONS   0
 
#define VMA_RECORDING_ENABLED   0
 
#define VMA_DEDICATED_ALLOCATION   0
 

Functions

template<class Int >
Int aligned (Int v, Int byteAlign)
 \variable QRhiVulkanRenderPassNativeHandles::renderPass
 
static VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL wrap_vkGetInstanceProcAddr (VkInstance, const char *pName)
 
static VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL wrap_vkGetDeviceProcAddr (VkDevice device, const char *pName)
 
static VmaAllocation toVmaAllocation (QVkAlloc a)
 
static VmaAllocator toVmaAllocator (QVkAllocator a)
 
static bool qvk_debug_filter (QVulkanInstance::DebugMessageSeverityFlags severity, QVulkanInstance::DebugMessageTypeFlags type, const void *callbackData)
 
static QRhiDriverInfo::DeviceType toRhiDeviceType (VkPhysicalDeviceType type)
 
static VkFormat toVkTextureFormat (QRhiTexture::Format format, QRhiTexture::Flags flags)
 
static QRhiTexture::Format swapchainReadbackTextureFormat (VkFormat format, QRhiTexture::Flags *flags)
 
static constexpr bool isDepthTextureFormat (QRhiTexture::Format format)
 
static constexpr VkImageAspectFlags aspectMaskForTextureFormat (QRhiTexture::Format format)
 
static void fillRenderPassCreateInfo (VkRenderPassCreateInfo *rpInfo, VkSubpassDescription *subpassDesc, QVkRenderPassDescriptor *rpD)
 
static QRhiPassResourceTracker::UsageState toPassTrackerUsageState (const QVkBuffer::UsageState &bufUsage)
 
static QRhiPassResourceTracker::UsageState toPassTrackerUsageState (const QVkTexture::UsageState &texUsage)
 
template<typename T >
void qrhivk_accumulateComputeResource (T *writtenResources, QRhiResource *resource, QRhiShaderResourceBinding::Type bindingType, int loadTypeVal, int storeTypeVal, int loadStoreTypeVal)
 
static bool accessIsWrite (VkAccessFlags access)
 
static void qrhivk_releaseBuffer (const QRhiVulkan::DeferredReleaseEntry &e, void *allocator)
 
static void qrhivk_releaseRenderBuffer (const QRhiVulkan::DeferredReleaseEntry &e, VkDevice dev, QVulkanDeviceFunctions *df)
 
static void qrhivk_releaseTexture (const QRhiVulkan::DeferredReleaseEntry &e, VkDevice dev, QVulkanDeviceFunctions *df, void *allocator)
 
static void qrhivk_releaseSampler (const QRhiVulkan::DeferredReleaseEntry &e, VkDevice dev, QVulkanDeviceFunctions *df)
 
static VkAccessFlags toVkAccess (QRhiPassResourceTracker::BufferAccess access)
 
static VkPipelineStageFlags toVkPipelineStage (QRhiPassResourceTracker::BufferStage stage)
 
static QVkBuffer::UsageState toVkBufferUsageState (QRhiPassResourceTracker::UsageState usage)
 
static VkImageLayout toVkLayout (QRhiPassResourceTracker::TextureAccess access)
 
static VkAccessFlags toVkAccess (QRhiPassResourceTracker::TextureAccess access)
 
static VkPipelineStageFlags toVkPipelineStage (QRhiPassResourceTracker::TextureStage stage)
 
static QVkTexture::UsageState toVkTextureUsageState (QRhiPassResourceTracker::UsageState usage)
 
static QVkRenderTargetDatamaybeRenderTargetData (QVkCommandBuffer *cbD)
 
static VkBufferUsageFlagBits toVkBufferUsage (QRhiBuffer::UsageFlags usage)
 
static VkFilter toVkFilter (QRhiSampler::Filter f)
 
static VkSamplerMipmapMode toVkMipmapMode (QRhiSampler::Filter f)
 
static VkSamplerAddressMode toVkAddressMode (QRhiSampler::AddressMode m)
 
static VkShaderStageFlagBits toVkShaderStage (QRhiShaderStage::Type type)
 
static VkFormat toVkAttributeFormat (QRhiVertexInputAttribute::Format format)
 
static VkPrimitiveTopology toVkTopology (QRhiGraphicsPipeline::Topology t)
 
static VkCullModeFlags toVkCullMode (QRhiGraphicsPipeline::CullMode c)
 
static VkFrontFace toVkFrontFace (QRhiGraphicsPipeline::FrontFace f)
 
static VkColorComponentFlags toVkColorComponents (QRhiGraphicsPipeline::ColorMask c)
 
static VkBlendFactor toVkBlendFactor (QRhiGraphicsPipeline::BlendFactor f)
 
static VkBlendOp toVkBlendOp (QRhiGraphicsPipeline::BlendOp op)
 
static VkCompareOp toVkCompareOp (QRhiGraphicsPipeline::CompareOp op)
 
static VkStencilOp toVkStencilOp (QRhiGraphicsPipeline::StencilOp op)
 
static VkPolygonMode toVkPolygonMode (QRhiGraphicsPipeline::PolygonMode mode)
 
static void fillVkStencilOpState (VkStencilOpState *dst, const QRhiGraphicsPipeline::StencilOpState &src)
 
static VkDescriptorType toVkDescriptorType (const QRhiShaderResourceBinding::Data *b)
 
static VkShaderStageFlags toVkShaderStageFlags (QRhiShaderResourceBinding::StageFlags stage)
 
static VkCompareOp toVkTextureCompareOp (QRhiSampler::CompareOp op)
 
static bool attachmentDescriptionEquals (const VkAttachmentDescription &a, const VkAttachmentDescription &b)
 
static bool hdrFormatMatchesVkSurfaceFormat (QRhiSwapChain::Format f, const VkSurfaceFormatKHR &s)
 
static bool isSrgbFormat (VkFormat format)
 

Variables

static QVulkanInstanceglobalVulkanInstance
 
struct { 
 
   VkSampleCountFlagBits   mask 
 
   int   count 
 
qvk_sampleCounts [] 
 

Macro Definition Documentation

◆ VMA_DEDICATED_ALLOCATION

#define VMA_DEDICATED_ALLOCATION   0

Definition at line 11 of file qrhivulkan.cpp.

◆ VMA_DYNAMIC_VULKAN_FUNCTIONS

#define VMA_DYNAMIC_VULKAN_FUNCTIONS   1

Definition at line 8 of file qrhivulkan.cpp.

◆ VMA_IMPLEMENTATION

#define VMA_IMPLEMENTATION

Definition at line 7 of file qrhivulkan.cpp.

◆ VMA_RECORDING_ENABLED

#define VMA_RECORDING_ENABLED   0

Definition at line 10 of file qrhivulkan.cpp.

◆ VMA_STATIC_VULKAN_FUNCTIONS

#define VMA_STATIC_VULKAN_FUNCTIONS   0

Definition at line 9 of file qrhivulkan.cpp.

Function Documentation

◆ accessIsWrite()

static bool accessIsWrite ( VkAccessFlags  access)
inlinestatic

Definition at line 2984 of file qrhivulkan.cpp.

Referenced by QRhiVulkan::recordTransitionPassResources(), QRhiVulkan::trackedBufferBarrier(), QRhiVulkan::trackedImageBarrier(), QRhiVulkan::trackedRegisterBuffer(), and QRhiVulkan::trackedRegisterTexture().

+ Here is the caller graph for this function:

◆ aligned()

template<class Int >
Int aligned ( Int  v,
Int  byteAlign 
)
inline

\variable QRhiVulkanRenderPassNativeHandles::renderPass

The VkRenderPass object.

Definition at line 287 of file qrhivulkan.cpp.

◆ aspectMaskForTextureFormat()

static constexpr VkImageAspectFlags aspectMaskForTextureFormat ( QRhiTexture::Format  format)
inlinestaticconstexpr

Definition at line 1092 of file qrhivulkan.cpp.

References isDepthTextureFormat().

Referenced by QVkTexture::finishCreate(), QVkTexture::imageViewForLevel(), QRhiVulkan::recordTransitionPassResources(), and QRhiVulkan::trackedImageBarrier().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ attachmentDescriptionEquals()

static bool attachmentDescriptionEquals ( const VkAttachmentDescription &  a,
const VkAttachmentDescription &  b 
)
inlinestatic

Definition at line 6493 of file qrhivulkan.cpp.

Referenced by QVkRenderPassDescriptor::isCompatible().

+ Here is the caller graph for this function:

◆ fillRenderPassCreateInfo()

static void fillRenderPassCreateInfo ( VkRenderPassCreateInfo *  rpInfo,
VkSubpassDescription *  subpassDesc,
QVkRenderPassDescriptor rpD 
)
static

Definition at line 1249 of file qrhivulkan.cpp.

References QVkRenderPassDescriptor::attDescs, QVkRenderPassDescriptor::colorRefs, QVarLengthArray< T, Prealloc >::constData(), QVkRenderPassDescriptor::dsRef, QVkRenderPassDescriptor::hasDepthStencil, QVarLengthArray< T, Prealloc >::isEmpty(), QVkRenderPassDescriptor::resolveRefs, QVLABaseBase::size(), and QVkRenderPassDescriptor::subpassDeps.

Referenced by QRhiVulkan::createDefaultRenderPass(), QRhiVulkan::createOffscreenRenderPass(), and QVkRenderPassDescriptor::newCompatibleRenderPassDescriptor().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fillVkStencilOpState()

static void fillVkStencilOpState ( VkStencilOpState *  dst,
const QRhiGraphicsPipeline::StencilOpState src 
)
inlinestatic

Definition at line 5715 of file qrhivulkan.cpp.

References toVkCompareOp(), and toVkStencilOp().

Referenced by QVkGraphicsPipeline::create().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ hdrFormatMatchesVkSurfaceFormat()

static bool hdrFormatMatchesVkSurfaceFormat ( QRhiSwapChain::Format  f,
const VkSurfaceFormatKHR &  s 
)
inlinestatic

Definition at line 7509 of file qrhivulkan.cpp.

References QRhiSwapChain::HDR10, and QRhiSwapChain::HDRExtendedSrgbLinear.

Referenced by QVkSwapChain::ensureSurface(), and QVkSwapChain::isFormatSupported().

+ Here is the caller graph for this function:

◆ isDepthTextureFormat()

static constexpr bool isDepthTextureFormat ( QRhiTexture::Format  format)
inlinestaticconstexpr

Definition at line 1078 of file qrhivulkan.cpp.

References QRhiTexture::D16, QRhiTexture::D24, QRhiTexture::D24S8, and QRhiTexture::D32F.

Referenced by aspectMaskForTextureFormat().

+ Here is the caller graph for this function:

◆ isSrgbFormat()

static bool isSrgbFormat ( VkFormat  format)
inlinestatic

Definition at line 7576 of file qrhivulkan.cpp.

Referenced by QVkSwapChain::ensureSurface().

+ Here is the caller graph for this function:

◆ maybeRenderTargetData()

static QVkRenderTargetData * maybeRenderTargetData ( QVkCommandBuffer cbD)
inlinestatic

Definition at line 5305 of file qrhivulkan.cpp.

References QVkCommandBuffer::currentTarget, Q_ASSERT, QRHI_RES, QVkCommandBuffer::recordingPass, QVkCommandBuffer::RenderPass, QRhiResource::resourceType(), QRhiResource::SwapChainRenderTarget, and QRhiResource::TextureRenderTarget.

Referenced by QRhiVulkan::beginExternal(), and QRhiVulkan::endExternal().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ qrhivk_accumulateComputeResource()

template<typename T >
void qrhivk_accumulateComputeResource ( T *  writtenResources,
QRhiResource resource,
QRhiShaderResourceBinding::Type  bindingType,
int  loadTypeVal,
int  storeTypeVal,
int  loadStoreTypeVal 
)
inline

Definition at line 2641 of file qrhivulkan.cpp.

References QSet< T >::end(), QSet< T >::find(), and it.

Referenced by QRhiVulkan::dispatch().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ qrhivk_releaseBuffer()

static void qrhivk_releaseBuffer ( const QRhiVulkan::DeferredReleaseEntry e,
void allocator 
)
static

Definition at line 3764 of file qrhivulkan.cpp.

References e, i, QVK_FRAMES_IN_FLIGHT, toVmaAllocation(), and toVmaAllocator().

Referenced by QRhiVulkan::executeDeferredReleases().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ qrhivk_releaseRenderBuffer()

static void qrhivk_releaseRenderBuffer ( const QRhiVulkan::DeferredReleaseEntry e,
VkDevice  dev,
QVulkanDeviceFunctions df 
)
static

Definition at line 3772 of file qrhivulkan.cpp.

References e.

Referenced by QRhiVulkan::executeDeferredReleases().

+ Here is the caller graph for this function:

◆ qrhivk_releaseSampler()

static void qrhivk_releaseSampler ( const QRhiVulkan::DeferredReleaseEntry e,
VkDevice  dev,
QVulkanDeviceFunctions df 
)
static

Definition at line 3791 of file qrhivulkan.cpp.

References e.

Referenced by QRhiVulkan::executeDeferredReleases().

+ Here is the caller graph for this function:

◆ qrhivk_releaseTexture()

static void qrhivk_releaseTexture ( const QRhiVulkan::DeferredReleaseEntry e,
VkDevice  dev,
QVulkanDeviceFunctions df,
void allocator 
)
static

Definition at line 3779 of file qrhivulkan.cpp.

References e, i, QRhi::MAX_MIP_LEVELS, QVK_FRAMES_IN_FLIGHT, toVmaAllocation(), and toVmaAllocator().

Referenced by QRhiVulkan::executeDeferredReleases().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ qvk_debug_filter()

static bool qvk_debug_filter ( QVulkanInstance::DebugMessageSeverityFlags  severity,
QVulkanInstance::DebugMessageTypeFlags  type,
const void callbackData 
)
static

Definition at line 364 of file qrhivulkan.cpp.

References d, and Q_UNUSED.

◆ swapchainReadbackTextureFormat()

static QRhiTexture::Format swapchainReadbackTextureFormat ( VkFormat  format,
QRhiTexture::Flags flags 
)
inlinestatic

◆ toPassTrackerUsageState() [1/2]

◆ toPassTrackerUsageState() [2/2]

◆ toRhiDeviceType()

static QRhiDriverInfo::DeviceType toRhiDeviceType ( VkPhysicalDeviceType  type)
inlinestatic

Definition at line 395 of file qrhivulkan.cpp.

References QRhiDriverInfo::CpuDevice, QRhiDriverInfo::DiscreteDevice, QRhiDriverInfo::IntegratedDevice, QRhiDriverInfo::UnknownDevice, and QRhiDriverInfo::VirtualDevice.

Referenced by QRhiVulkan::create().

+ Here is the caller graph for this function:

◆ toVkAccess() [1/2]

static VkAccessFlags toVkAccess ( QRhiPassResourceTracker::BufferAccess  access)
inlinestatic

◆ toVkAccess() [2/2]

◆ toVkAddressMode()

static VkSamplerAddressMode toVkAddressMode ( QRhiSampler::AddressMode  m)
inlinestatic

Definition at line 5449 of file qrhivulkan.cpp.

References QRhiSampler::ClampToEdge, QRhiSampler::Mirror, and QRhiSampler::Repeat.

Referenced by QVkSampler::create().

+ Here is the caller graph for this function:

◆ toVkAttributeFormat()

◆ toVkBlendFactor()

◆ toVkBlendOp()

static VkBlendOp toVkBlendOp ( QRhiGraphicsPipeline::BlendOp  op)
inlinestatic

Definition at line 5637 of file qrhivulkan.cpp.

References QRhiGraphicsPipeline::Add, QRhiGraphicsPipeline::Max, QRhiGraphicsPipeline::Min, QRhiGraphicsPipeline::ReverseSubtract, and QRhiGraphicsPipeline::Subtract.

Referenced by QVkGraphicsPipeline::create().

+ Here is the caller graph for this function:

◆ toVkBufferUsage()

static VkBufferUsageFlagBits toVkBufferUsage ( QRhiBuffer::UsageFlags  usage)
inlinestatic

Definition at line 5409 of file qrhivulkan.cpp.

References QRhiBuffer::IndexBuffer, QRhiBuffer::StorageBuffer, QRhiBuffer::UniformBuffer, and QRhiBuffer::VertexBuffer.

Referenced by QVkBuffer::create().

+ Here is the caller graph for this function:

◆ toVkBufferUsageState()

static QVkBuffer::UsageState toVkBufferUsageState ( QRhiPassResourceTracker::UsageState  usage)
inlinestatic

Definition at line 4147 of file qrhivulkan.cpp.

References QVkBuffer::UsageState::access, and QVkBuffer::UsageState::stage.

Referenced by QRhiVulkan::recordTransitionPassResources().

+ Here is the caller graph for this function:

◆ toVkColorComponents()

static VkColorComponentFlags toVkColorComponents ( QRhiGraphicsPipeline::ColorMask  c)
inlinestatic

Definition at line 5577 of file qrhivulkan.cpp.

References QRhiGraphicsPipeline::A, QRhiGraphicsPipeline::B, QRhiGraphicsPipeline::G, and QRhiGraphicsPipeline::R.

Referenced by QVkGraphicsPipeline::create().

+ Here is the caller graph for this function:

◆ toVkCompareOp()

static VkCompareOp toVkCompareOp ( QRhiGraphicsPipeline::CompareOp  op)
inlinestatic

Definition at line 5655 of file qrhivulkan.cpp.

References QRhiGraphicsPipeline::Always, QRhiGraphicsPipeline::Equal, QRhiGraphicsPipeline::Greater, QRhiGraphicsPipeline::GreaterOrEqual, QRhiGraphicsPipeline::Less, QRhiGraphicsPipeline::LessOrEqual, QRhiGraphicsPipeline::Never, and QRhiGraphicsPipeline::NotEqual.

Referenced by QVkGraphicsPipeline::create(), and fillVkStencilOpState().

+ Here is the caller graph for this function:

◆ toVkCullMode()

static VkCullModeFlags toVkCullMode ( QRhiGraphicsPipeline::CullMode  c)
inlinestatic

Definition at line 5551 of file qrhivulkan.cpp.

References QRhiGraphicsPipeline::Back, QRhiGraphicsPipeline::Front, and QRhiGraphicsPipeline::None.

Referenced by QVkGraphicsPipeline::create().

+ Here is the caller graph for this function:

◆ toVkDescriptorType()

◆ toVkFilter()

static VkFilter toVkFilter ( QRhiSampler::Filter  f)
inlinestatic

Definition at line 5423 of file qrhivulkan.cpp.

References QRhiSampler::Linear, and QRhiSampler::Nearest.

Referenced by QVkSampler::create().

+ Here is the caller graph for this function:

◆ toVkFrontFace()

static VkFrontFace toVkFrontFace ( QRhiGraphicsPipeline::FrontFace  f)
inlinestatic

Definition at line 5565 of file qrhivulkan.cpp.

References QRhiGraphicsPipeline::CCW, and QRhiGraphicsPipeline::CW.

Referenced by QVkGraphicsPipeline::create().

+ Here is the caller graph for this function:

◆ toVkLayout()

static VkImageLayout toVkLayout ( QRhiPassResourceTracker::TextureAccess  access)
inlinestatic

Definition at line 4155 of file qrhivulkan.cpp.

References QRhiPassResourceTracker::TexColorOutput, QRhiPassResourceTracker::TexDepthOutput, QRhiPassResourceTracker::TexSample, QRhiPassResourceTracker::TexStorageLoad, QRhiPassResourceTracker::TexStorageLoadStore, and QRhiPassResourceTracker::TexStorageStore.

Referenced by QRhiVulkan::recordTransitionPassResources(), and QRhiVulkan::trackedRegisterTexture().

+ Here is the caller graph for this function:

◆ toVkMipmapMode()

static VkSamplerMipmapMode toVkMipmapMode ( QRhiSampler::Filter  f)
inlinestatic

Definition at line 5435 of file qrhivulkan.cpp.

References QRhiSampler::Linear, QRhiSampler::Nearest, and QRhiSampler::None.

Referenced by QVkSampler::create().

+ Here is the caller graph for this function:

◆ toVkPipelineStage() [1/2]

static VkPipelineStageFlags toVkPipelineStage ( QRhiPassResourceTracker::BufferStage  stage)
inlinestatic

◆ toVkPipelineStage() [2/2]

◆ toVkPolygonMode()

static VkPolygonMode toVkPolygonMode ( QRhiGraphicsPipeline::PolygonMode  mode)
inlinestatic

Definition at line 5703 of file qrhivulkan.cpp.

References QRhiGraphicsPipeline::Fill, and QRhiGraphicsPipeline::Line.

Referenced by QVkGraphicsPipeline::create().

+ Here is the caller graph for this function:

◆ toVkShaderStage()

static VkShaderStageFlagBits toVkShaderStage ( QRhiShaderStage::Type  type)
inlinestatic

Definition at line 5463 of file qrhivulkan.cpp.

References QRhiShaderStage::Compute, QRhiShaderStage::Fragment, QRhiShaderStage::Geometry, QRhiShaderStage::TessellationControl, QRhiShaderStage::TessellationEvaluation, and QRhiShaderStage::Vertex.

Referenced by QVkGraphicsPipeline::create().

+ Here is the caller graph for this function:

◆ toVkShaderStageFlags()

static VkShaderStageFlags toVkShaderStageFlags ( QRhiShaderResourceBinding::StageFlags  stage)
inlinestatic

Definition at line 5754 of file qrhivulkan.cpp.

References QRhiShaderResourceBinding::ComputeStage, QRhiShaderResourceBinding::FragmentStage, QRhiShaderResourceBinding::GeometryStage, QRhiShaderResourceBinding::TessellationControlStage, QRhiShaderResourceBinding::TessellationEvaluationStage, and QRhiShaderResourceBinding::VertexStage.

Referenced by QVkShaderResourceBindings::create().

+ Here is the caller graph for this function:

◆ toVkStencilOp()

static VkStencilOp toVkStencilOp ( QRhiGraphicsPipeline::StencilOp  op)
inlinestatic

Definition at line 5679 of file qrhivulkan.cpp.

References QRhiGraphicsPipeline::DecrementAndClamp, QRhiGraphicsPipeline::DecrementAndWrap, QRhiGraphicsPipeline::IncrementAndClamp, QRhiGraphicsPipeline::IncrementAndWrap, QRhiGraphicsPipeline::Invert, QRhiGraphicsPipeline::Keep, QRhiGraphicsPipeline::Replace, and QRhiGraphicsPipeline::StencilZero.

Referenced by fillVkStencilOpState().

+ Here is the caller graph for this function:

◆ toVkTextureCompareOp()

static VkCompareOp toVkTextureCompareOp ( QRhiSampler::CompareOp  op)
inlinestatic

Definition at line 5772 of file qrhivulkan.cpp.

References QRhiSampler::Always, QRhiSampler::Equal, QRhiSampler::Greater, QRhiSampler::GreaterOrEqual, QRhiSampler::Less, QRhiSampler::LessOrEqual, QRhiSampler::Never, and QRhiSampler::NotEqual.

Referenced by QVkSampler::create().

+ Here is the caller graph for this function:

◆ toVkTextureFormat()

◆ toVkTextureUsageState()

static QVkTexture::UsageState toVkTextureUsageState ( QRhiPassResourceTracker::UsageState  usage)
inlinestatic

Definition at line 4223 of file qrhivulkan.cpp.

References QVkTexture::UsageState::access, QVkTexture::UsageState::layout, and QVkTexture::UsageState::stage.

Referenced by QRhiVulkan::recordTransitionPassResources().

+ Here is the caller graph for this function:

◆ toVkTopology()

static VkPrimitiveTopology toVkTopology ( QRhiGraphicsPipeline::Topology  t)
inlinestatic

Definition at line 5529 of file qrhivulkan.cpp.

References QRhiGraphicsPipeline::Lines, QRhiGraphicsPipeline::LineStrip, QRhiGraphicsPipeline::Patches, QRhiGraphicsPipeline::Points, QRhiGraphicsPipeline::TriangleFan, QRhiGraphicsPipeline::Triangles, and QRhiGraphicsPipeline::TriangleStrip.

Referenced by QVkGraphicsPipeline::create().

+ Here is the caller graph for this function:

◆ toVmaAllocation()

static VmaAllocation toVmaAllocation ( QVkAlloc  a)
inlinestatic

◆ toVmaAllocator()

◆ wrap_vkGetDeviceProcAddr()

static VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL wrap_vkGetDeviceProcAddr ( VkDevice  device,
const char *  pName 
)
static

Definition at line 299 of file qrhivulkan.cpp.

References device, and globalVulkanInstance.

◆ wrap_vkGetInstanceProcAddr()

static VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL wrap_vkGetInstanceProcAddr ( VkInstance  ,
const char *  pName 
)
static

Definition at line 294 of file qrhivulkan.cpp.

References globalVulkanInstance.

Variable Documentation

◆ count

int count

Definition at line 3908 of file qrhivulkan.cpp.

◆ globalVulkanInstance

QVulkanInstance* globalVulkanInstance
static

◆ mask

VkSampleCountFlagBits mask

Definition at line 3907 of file qrhivulkan.cpp.

◆ [struct]

struct { ... } qvk_sampleCounts[]
Initial value:
= {
{ VK_SAMPLE_COUNT_1_BIT, 1 },
{ VK_SAMPLE_COUNT_2_BIT, 2 },
{ VK_SAMPLE_COUNT_4_BIT, 4 },
{ VK_SAMPLE_COUNT_8_BIT, 8 },
{ VK_SAMPLE_COUNT_16_BIT, 16 },
{ VK_SAMPLE_COUNT_32_BIT, 32 },
{ VK_SAMPLE_COUNT_64_BIT, 64 }
}

Referenced by QRhiVulkan::effectiveSampleCount(), and QRhiVulkan::supportedSampleCounts().