Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QBasicPlatformVulkanInstance Class Reference

A generic platform Vulkan instance implementation. More...

#include <qbasicvulkanplatforminstance_p.h>

+ Inheritance diagram for QBasicPlatformVulkanInstance:
+ Collaboration diagram for QBasicPlatformVulkanInstance:

Public Member Functions

 QBasicPlatformVulkanInstance ()
 
 ~QBasicPlatformVulkanInstance ()
 
QVulkanInfoVector< QVulkanLayersupportedLayers () const override
 
QVulkanInfoVector< QVulkanExtensionsupportedExtensions () const override
 
QVersionNumber supportedApiVersion () const override
 
bool isValid () const override
 
VkResult errorCode () const override
 
VkInstance vkInstance () const override
 
QByteArrayList enabledLayers () const override
 
QByteArrayList enabledExtensions () const override
 
PFN_vkVoidFunction getInstanceProcAddr (const char *name) override
 
bool supportsPresent (VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, QWindow *window) override
 
void setDebugFilters (const QList< QVulkanInstance::DebugFilter > &filters) override
 
void setDebugUtilsFilters (const QList< QVulkanInstance::DebugUtilsFilter > &filters) override
 
void destroySurface (VkSurfaceKHR surface) const
 
const QList< QVulkanInstance::DebugFilter > * debugFilters () const
 
const QList< QVulkanInstance::DebugUtilsFilter > * debugUtilsFilters () const
 

Protected Member Functions

void loadVulkanLibrary (const QString &defaultLibraryName, int defaultLibraryVersion=-1)
 
void init (QLibrary *lib)
 
void initInstance (QVulkanInstance *instance, const QByteArrayList &extraExts)
 

Protected Attributes

VkInstance m_vkInst = VK_NULL_HANDLE
 
PFN_vkGetInstanceProcAddr m_vkGetInstanceProcAddr = nullptr
 
PFN_vkGetPhysicalDeviceSurfaceSupportKHR m_getPhysDevSurfaceSupport
 
PFN_vkDestroySurfaceKHR m_destroySurface
 

Detailed Description

A generic platform Vulkan instance implementation.

Since
5.10

Implements QPlatformVulkanInstance, serving as a base for platform-specific implementations. The library loading and any WSI-specifics are excluded.

Subclasses are expected to call init() from their constructor and initInstance() from their createOrAdoptInstance() implementation.

Definition at line 26 of file qbasicvulkanplatforminstance_p.h.

Constructor & Destructor Documentation

◆ QBasicPlatformVulkanInstance()

QBasicPlatformVulkanInstance::QBasicPlatformVulkanInstance ( )

Definition at line 28 of file qbasicvulkanplatforminstance.cpp.

◆ ~QBasicPlatformVulkanInstance()

QBasicPlatformVulkanInstance::~QBasicPlatformVulkanInstance ( )

Definition at line 32 of file qbasicvulkanplatforminstance.cpp.

References m_vkInst.

Member Function Documentation

◆ debugFilters()

const QList< QVulkanInstance::DebugFilter > * QBasicPlatformVulkanInstance::debugFilters ( ) const
inline

Definition at line 46 of file qbasicvulkanplatforminstance_p.h.

◆ debugUtilsFilters()

const QList< QVulkanInstance::DebugUtilsFilter > * QBasicPlatformVulkanInstance::debugUtilsFilters ( ) const
inline

Definition at line 47 of file qbasicvulkanplatforminstance_p.h.

◆ destroySurface()

void QBasicPlatformVulkanInstance::destroySurface ( VkSurfaceKHR surface) const

Definition at line 376 of file qbasicvulkanplatforminstance.cpp.

References m_destroySurface, and m_vkInst.

◆ enabledExtensions()

QByteArrayList QBasicPlatformVulkanInstance::enabledExtensions ( ) const
override

Definition at line 336 of file qbasicvulkanplatforminstance.cpp.

Referenced by QVkKhrDisplayVulkanInstance::createOrAdoptInstance().

+ Here is the caller graph for this function:

◆ enabledLayers()

QByteArrayList QBasicPlatformVulkanInstance::enabledLayers ( ) const
override

Definition at line 331 of file qbasicvulkanplatforminstance.cpp.

◆ errorCode()

VkResult QBasicPlatformVulkanInstance::errorCode ( ) const
override

Definition at line 321 of file qbasicvulkanplatforminstance.cpp.

◆ getInstanceProcAddr()

PFN_vkVoidFunction QBasicPlatformVulkanInstance::getInstanceProcAddr ( const char * name)
override

Definition at line 341 of file qbasicvulkanplatforminstance.cpp.

References m_vkGetInstanceProcAddr, and m_vkInst.

◆ init()

void QBasicPlatformVulkanInstance::init ( QLibrary * lib)
protected

Definition at line 87 of file qbasicvulkanplatforminstance.cpp.

References QLibrary::fileName, m_vkGetInstanceProcAddr, qCDebug, qDebug, qPrintable, qWarning, and QLibrary::resolve().

Referenced by QAndroidPlatformVulkanInstance::QAndroidPlatformVulkanInstance(), and loadVulkanLibrary().

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

◆ initInstance()

void QBasicPlatformVulkanInstance::initInstance ( QVulkanInstance * instance,
const QByteArrayList & extraExts )
protected

◆ isValid()

bool QBasicPlatformVulkanInstance::isValid ( ) const
override

Definition at line 316 of file qbasicvulkanplatforminstance.cpp.

References m_vkInst.

◆ loadVulkanLibrary()

void QBasicPlatformVulkanInstance::loadVulkanLibrary ( const QString & defaultLibraryName,
int defaultLibraryVersion = -1 )
protected

Definition at line 46 of file qbasicvulkanplatforminstance.cpp.

References QString::fromUtf8(), init(), ok, qEnvironmentVariableIsSet(), qgetenv(), qPrintable, and qWarning.

Referenced by QCocoaVulkanInstance::QCocoaVulkanInstance(), QVkKhrDisplayVulkanInstance::QVkKhrDisplayVulkanInstance(), QtWaylandClient::QWaylandVulkanInstance::QWaylandVulkanInstance(), QWindowsVulkanInstance::QWindowsVulkanInstance(), and QXcbVulkanInstance::QXcbVulkanInstance().

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

◆ setDebugFilters()

void QBasicPlatformVulkanInstance::setDebugFilters ( const QList< QVulkanInstance::DebugFilter > & filters)
override

Definition at line 366 of file qbasicvulkanplatforminstance.cpp.

References filters.

◆ setDebugUtilsFilters()

void QBasicPlatformVulkanInstance::setDebugUtilsFilters ( const QList< QVulkanInstance::DebugUtilsFilter > & filters)
override

Definition at line 371 of file qbasicvulkanplatforminstance.cpp.

References filters.

◆ supportedApiVersion()

QVersionNumber QBasicPlatformVulkanInstance::supportedApiVersion ( ) const
override

Definition at line 189 of file qbasicvulkanplatforminstance.cpp.

◆ supportedExtensions()

QVulkanInfoVector< QVulkanExtension > QBasicPlatformVulkanInstance::supportedExtensions ( ) const
override

Definition at line 184 of file qbasicvulkanplatforminstance.cpp.

◆ supportedLayers()

QVulkanInfoVector< QVulkanLayer > QBasicPlatformVulkanInstance::supportedLayers ( ) const
override

Definition at line 179 of file qbasicvulkanplatforminstance.cpp.

◆ supportsPresent()

bool QBasicPlatformVulkanInstance::supportsPresent ( VkPhysicalDevice physicalDevice,
uint32_t queueFamilyIndex,
QWindow * window )
override

Definition at line 352 of file qbasicvulkanplatforminstance.cpp.

References m_getPhysDevSurfaceSupport, and window().

+ Here is the call graph for this function:

◆ vkInstance()

VkInstance QBasicPlatformVulkanInstance::vkInstance ( ) const
override

Definition at line 326 of file qbasicvulkanplatforminstance.cpp.

References m_vkInst.

Member Data Documentation

◆ m_destroySurface

PFN_vkDestroySurfaceKHR QBasicPlatformVulkanInstance::m_destroySurface
protected

Definition at line 57 of file qbasicvulkanplatforminstance_p.h.

Referenced by destroySurface(), and initInstance().

◆ m_getPhysDevSurfaceSupport

PFN_vkGetPhysicalDeviceSurfaceSupportKHR QBasicPlatformVulkanInstance::m_getPhysDevSurfaceSupport
protected

◆ m_vkGetInstanceProcAddr

◆ m_vkInst


The documentation for this class was generated from the following files: