Blender V4.5
GHOST_DeviceVK Class Reference

Public Member Functions

 GHOST_DeviceVK (VkInstance vk_instance, VkPhysicalDevice vk_physical_device)
 ~GHOST_DeviceVK ()
void wait_idle ()
bool has_extensions (const vector< const char * > &required_extensions)
void ensure_device (vector< const char * > &required_extensions, vector< const char * > &optional_extensions)
void init_generic_queue_family ()

Public Attributes

VkInstance instance = VK_NULL_HANDLE
VkPhysicalDevice physical_device = VK_NULL_HANDLE
VkDevice device = VK_NULL_HANDLE
uint32_t generic_queue_family = 0
VkPhysicalDeviceProperties2 properties
VkPhysicalDeviceVulkan12Properties properties_12
VkPhysicalDeviceFeatures2 features = {}
VkPhysicalDeviceVulkan11Features features_11 = {}
VkPhysicalDeviceVulkan12Features features_12 = {}
VkPhysicalDeviceRobustness2FeaturesEXT features_robustness2
int users = 0
std::mutex queue_mutex
bool use_vk_ext_swapchain_maintenance_1 = false

Detailed Description

Definition at line 158 of file GHOST_ContextVK.cc.

Constructor & Destructor Documentation

◆ GHOST_DeviceVK()

GHOST_DeviceVK::GHOST_DeviceVK ( VkInstance vk_instance,
VkPhysicalDevice vk_physical_device )
inline

◆ ~GHOST_DeviceVK()

GHOST_DeviceVK::~GHOST_DeviceVK ( )
inline

Definition at line 202 of file GHOST_ContextVK.cc.

References device.

Member Function Documentation

◆ ensure_device()

void GHOST_DeviceVK::ensure_device ( vector< const char * > & required_extensions,
vector< const char * > & optional_extensions )
inline

◆ has_extensions()

bool GHOST_DeviceVK::has_extensions ( const vector< const char * > & required_extensions)
inline

Definition at line 216 of file GHOST_ContextVK.cc.

References physical_device.

Referenced by ensure_device(), and ensure_vulkan_device().

◆ init_generic_queue_family()

void GHOST_DeviceVK::init_generic_queue_family ( )
inline

Definition at line 422 of file GHOST_ContextVK.cc.

References generic_queue_family, and physical_device.

Referenced by ensure_device().

◆ wait_idle()

void GHOST_DeviceVK::wait_idle ( )
inline

Definition at line 209 of file GHOST_ContextVK.cc.

References device.

Referenced by GHOST_ContextVK::~GHOST_ContextVK().

Member Data Documentation

◆ device

VkDevice GHOST_DeviceVK::device = VK_NULL_HANDLE

Definition at line 163 of file GHOST_ContextVK.cc.

Referenced by ensure_device(), wait_idle(), and ~GHOST_DeviceVK().

◆ features

VkPhysicalDeviceFeatures2 GHOST_DeviceVK::features = {}

Definition at line 173 of file GHOST_ContextVK.cc.

Referenced by ensure_device(), ensure_vulkan_device(), and GHOST_DeviceVK().

◆ features_11

VkPhysicalDeviceVulkan11Features GHOST_DeviceVK::features_11 = {}

Definition at line 174 of file GHOST_ContextVK.cc.

Referenced by ensure_device(), and GHOST_DeviceVK().

◆ features_12

VkPhysicalDeviceVulkan12Features GHOST_DeviceVK::features_12 = {}

Definition at line 175 of file GHOST_ContextVK.cc.

Referenced by ensure_device(), and GHOST_DeviceVK().

◆ features_robustness2

VkPhysicalDeviceRobustness2FeaturesEXT GHOST_DeviceVK::features_robustness2
Initial value:
= {
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT}

Definition at line 176 of file GHOST_ContextVK.cc.

Referenced by ensure_device(), and GHOST_DeviceVK().

◆ generic_queue_family

uint32_t GHOST_DeviceVK::generic_queue_family = 0

Definition at line 165 of file GHOST_ContextVK.cc.

Referenced by ensure_device(), and init_generic_queue_family().

◆ instance

VkInstance GHOST_DeviceVK::instance = VK_NULL_HANDLE

Definition at line 160 of file GHOST_ContextVK.cc.

Referenced by GHOST_DeviceVK(), and GHOST_ContextVK::~GHOST_ContextVK().

◆ physical_device

VkPhysicalDevice GHOST_DeviceVK::physical_device = VK_NULL_HANDLE

◆ properties

VkPhysicalDeviceProperties2 GHOST_DeviceVK::properties
Initial value:
= {
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2,
}

Definition at line 167 of file GHOST_ContextVK.cc.

Referenced by ensure_vulkan_device(), and GHOST_DeviceVK().

◆ properties_12

VkPhysicalDeviceVulkan12Properties GHOST_DeviceVK::properties_12
Initial value:
= {
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES,
}

Definition at line 170 of file GHOST_ContextVK.cc.

Referenced by GHOST_DeviceVK().

◆ queue_mutex

std::mutex GHOST_DeviceVK::queue_mutex

Mutex to externally synchronize access to queue.

Definition at line 182 of file GHOST_ContextVK.cc.

◆ use_vk_ext_swapchain_maintenance_1

bool GHOST_DeviceVK::use_vk_ext_swapchain_maintenance_1 = false

Definition at line 184 of file GHOST_ContextVK.cc.

Referenced by ensure_device().

◆ users

int GHOST_DeviceVK::users = 0

Definition at line 179 of file GHOST_ContextVK.cc.

Referenced by GHOST_ContextVK::~GHOST_ContextVK().


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