Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
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 27 of file qbasicvulkanplatforminstance_p.h.

Constructor & Destructor Documentation

◆ QBasicPlatformVulkanInstance()

QBasicPlatformVulkanInstance::QBasicPlatformVulkanInstance ( )

Definition at line 29 of file qbasicvulkanplatforminstance.cpp.

◆ ~QBasicPlatformVulkanInstance()

QBasicPlatformVulkanInstance::~QBasicPlatformVulkanInstance ( )

Definition at line 33 of file qbasicvulkanplatforminstance.cpp.

Member Function Documentation

◆ debugFilters()

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

Definition at line 47 of file qbasicvulkanplatforminstance_p.h.

◆ debugUtilsFilters()

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

Definition at line 48 of file qbasicvulkanplatforminstance_p.h.

◆ destroySurface()

void QBasicPlatformVulkanInstance::destroySurface ( VkSurfaceKHR surface) const

Definition at line 377 of file qbasicvulkanplatforminstance.cpp.

◆ enabledExtensions()

QByteArrayList QBasicPlatformVulkanInstance::enabledExtensions ( ) const
override

Definition at line 337 of file qbasicvulkanplatforminstance.cpp.

◆ enabledLayers()

QByteArrayList QBasicPlatformVulkanInstance::enabledLayers ( ) const
override

Definition at line 332 of file qbasicvulkanplatforminstance.cpp.

◆ errorCode()

VkResult QBasicPlatformVulkanInstance::errorCode ( ) const
override

Definition at line 322 of file qbasicvulkanplatforminstance.cpp.

◆ getInstanceProcAddr()

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

Definition at line 342 of file qbasicvulkanplatforminstance.cpp.

◆ init()

void QBasicPlatformVulkanInstance::init ( QLibrary * lib)
protected

Definition at line 88 of file qbasicvulkanplatforminstance.cpp.

◆ initInstance()

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

Definition at line 195 of file qbasicvulkanplatforminstance.cpp.

◆ isValid()

bool QBasicPlatformVulkanInstance::isValid ( ) const
override

Definition at line 317 of file qbasicvulkanplatforminstance.cpp.

◆ loadVulkanLibrary()

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

Definition at line 47 of file qbasicvulkanplatforminstance.cpp.

◆ setDebugFilters()

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

Definition at line 367 of file qbasicvulkanplatforminstance.cpp.

◆ setDebugUtilsFilters()

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

Definition at line 372 of file qbasicvulkanplatforminstance.cpp.

◆ supportedApiVersion()

QVersionNumber QBasicPlatformVulkanInstance::supportedApiVersion ( ) const
override

Definition at line 190 of file qbasicvulkanplatforminstance.cpp.

◆ supportedExtensions()

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

Definition at line 185 of file qbasicvulkanplatforminstance.cpp.

◆ supportedLayers()

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

Definition at line 180 of file qbasicvulkanplatforminstance.cpp.

◆ supportsPresent()

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

Definition at line 353 of file qbasicvulkanplatforminstance.cpp.

◆ vkInstance()

VkInstance QBasicPlatformVulkanInstance::vkInstance ( ) const
override

Definition at line 327 of file qbasicvulkanplatforminstance.cpp.

Member Data Documentation

◆ m_destroySurface

PFN_vkDestroySurfaceKHR QBasicPlatformVulkanInstance::m_destroySurface
protected

Definition at line 58 of file qbasicvulkanplatforminstance_p.h.

◆ m_getPhysDevSurfaceSupport

PFN_vkGetPhysicalDeviceSurfaceSupportKHR QBasicPlatformVulkanInstance::m_getPhysDevSurfaceSupport
protected

Definition at line 57 of file qbasicvulkanplatforminstance_p.h.

◆ m_vkGetInstanceProcAddr

PFN_vkGetInstanceProcAddr QBasicPlatformVulkanInstance::m_vkGetInstanceProcAddr = nullptr
protected

Definition at line 56 of file qbasicvulkanplatforminstance_p.h.

◆ m_vkInst

VkInstance QBasicPlatformVulkanInstance::m_vkInst = VK_NULL_HANDLE
protected

Definition at line 55 of file qbasicvulkanplatforminstance_p.h.


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