Blender V5.0
GHOST_DeviceVK Class Reference

Public Member Functions

 GHOST_DeviceVK (VkPhysicalDevice vk_physical_device, const bool use_vk_ext_swapchain_colorspace)
 ~GHOST_DeviceVK ()
bool init_extensions ()
void wait_idle ()
void init_generic_queue_family ()
void init_generic_queue ()
void init_memory_allocator (VkInstance vk_instance)

Public Attributes

VkPhysicalDevice vk_physical_device = VK_NULL_HANDLE
GHOST_ExtensionsVK extensions
VkDevice vk_device = VK_NULL_HANDLE
uint32_t generic_queue_family = 0
VkQueue generic_queue = VK_NULL_HANDLE
VmaAllocator vma_allocator = VK_NULL_HANDLE
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
bool use_vk_ext_swapchain_colorspace = false

Detailed Description

Definition at line 223 of file GHOST_ContextVK.cc.

Constructor & Destructor Documentation

◆ GHOST_DeviceVK()

GHOST_DeviceVK::GHOST_DeviceVK ( VkPhysicalDevice vk_physical_device,
const bool use_vk_ext_swapchain_colorspace )
inline

◆ ~GHOST_DeviceVK()

GHOST_DeviceVK::~GHOST_DeviceVK ( )
inline

Definition at line 273 of file GHOST_ContextVK.cc.

References vk_device, and vma_allocator.

Member Function Documentation

◆ init_extensions()

bool GHOST_DeviceVK::init_extensions ( )
inline

Definition at line 285 of file GHOST_ContextVK.cc.

References extensions, VK_CHECK, and vk_physical_device.

Referenced by GHOST_DeviceVK().

◆ init_generic_queue()

void GHOST_DeviceVK::init_generic_queue ( )
inline

Definition at line 329 of file GHOST_ContextVK.cc.

References generic_queue, generic_queue_family, and vk_device.

◆ init_generic_queue_family()

void GHOST_DeviceVK::init_generic_queue_family ( )
inline

Definition at line 306 of file GHOST_ContextVK.cc.

References generic_queue_family, and vk_physical_device.

◆ init_memory_allocator()

void GHOST_DeviceVK::init_memory_allocator ( VkInstance vk_instance)
inline

Definition at line 334 of file GHOST_ContextVK.cc.

References extensions, vk_device, vk_physical_device, and vma_allocator.

◆ wait_idle()

void GHOST_DeviceVK::wait_idle ( )
inline

Definition at line 298 of file GHOST_ContextVK.cc.

References lock, queue_mutex, and vk_device.

Referenced by GHOST_ContextVK::~GHOST_ContextVK().

Member Data Documentation

◆ extensions

GHOST_ExtensionsVK GHOST_DeviceVK::extensions

◆ features

VkPhysicalDeviceFeatures2 GHOST_DeviceVK::features = {}

Definition at line 240 of file GHOST_ContextVK.cc.

Referenced by GHOST_DeviceVK(), and GHOST_InstanceVK::select_physical_device().

◆ features_11

VkPhysicalDeviceVulkan11Features GHOST_DeviceVK::features_11 = {}

Definition at line 241 of file GHOST_ContextVK.cc.

Referenced by GHOST_DeviceVK().

◆ features_12

VkPhysicalDeviceVulkan12Features GHOST_DeviceVK::features_12 = {}

Definition at line 242 of file GHOST_ContextVK.cc.

Referenced by GHOST_DeviceVK().

◆ features_robustness2

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

Definition at line 243 of file GHOST_ContextVK.cc.

Referenced by GHOST_DeviceVK().

◆ generic_queue

VkQueue GHOST_DeviceVK::generic_queue = VK_NULL_HANDLE

◆ generic_queue_family

uint32_t GHOST_DeviceVK::generic_queue_family = 0

◆ properties

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

Definition at line 234 of file GHOST_ContextVK.cc.

Referenced by GHOST_DeviceVK(), and GHOST_InstanceVK::select_physical_device().

◆ properties_12

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

Definition at line 237 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 249 of file GHOST_ContextVK.cc.

Referenced by GHOST_ContextVK::getVulkanHandles(), GHOST_ContextVK::swapBufferRelease(), and wait_idle().

◆ use_vk_ext_swapchain_colorspace

bool GHOST_DeviceVK::use_vk_ext_swapchain_colorspace = false

◆ use_vk_ext_swapchain_maintenance_1

bool GHOST_DeviceVK::use_vk_ext_swapchain_maintenance_1 = false

Definition at line 251 of file GHOST_ContextVK.cc.

Referenced by GHOST_ContextVK::swapBufferRelease().

◆ users

int GHOST_DeviceVK::users = 0

◆ vk_device

◆ vk_physical_device

VkPhysicalDevice GHOST_DeviceVK::vk_physical_device = VK_NULL_HANDLE

◆ vma_allocator

VmaAllocator GHOST_DeviceVK::vma_allocator = VK_NULL_HANDLE

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