HikoGUI
A low latency retained GUI
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Data Fields
v1::gfx_system_vulkan Class Referencefinal

#include <hikogui/GFX/gfx_system_vulkan.hpp>

Inheritance diagram for v1::gfx_system_vulkan:
v1::gfx_system v1::gfx_system_vulkan_macos

Public Member Functions

 gfx_system_vulkan ()
 Create an instance of a gfx_device.
 
 gfx_system_vulkan (const gfx_system_vulkan &)=delete
 
gfx_system_vulkanoperator= (const gfx_system_vulkan &)=delete
 
 gfx_system_vulkan (gfx_system_vulkan &&)=delete
 
gfx_system_vulkanoperator= (gfx_system_vulkan &&)=delete
 
void init () noexcept(false) override
 Initialize after construction.
 
std::unique_ptr< gfx_surfacemake_surface (os_handle instance, void *os_window) const noexcept override
 
vk::DispatchLoaderDynamic loader () const noexcept
 
void destroySurfaceKHR (vk::SurfaceKHR surface)
 
- Public Member Functions inherited from v1::gfx_system
 gfx_system (const gfx_system &)=delete
 
gfx_systemoperator= (const gfx_system &)=delete
 
 gfx_system (gfx_system &&)=delete
 
gfx_systemoperator= (gfx_system &&)=delete
 
virtual void deinit ()
 
void log_memory_usage () const noexcept
 
gfx_devicefind_best_device_for_surface (gfx_surface const &surface)
 

Static Public Member Functions

static VkBool32 debugUtilsMessageCallback (VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageType, const VkDebugUtilsMessengerCallbackDataEXT *pCallbackData, void *pUserData)
 

Data Fields

vk::Instance intrinsic
 Vulkan instance.
 
std::vector< const char * > requiredExtensions
 List of extension that where requested when the instance was created.
 
std::vector< const char * > requiredLayers
 List of extension that where requested when the instance was created.
 
vk::PhysicalDeviceFeatures requiredFeatures
 List of required features for each device.
 
vk::PhysicalDeviceLimits requiredLimits
 List of required limits for each device.
 
vk::ApplicationInfo applicationInfo
 application info passed when the instance was created.
 
- Data Fields inherited from v1::gfx_system
std::vector< std::shared_ptr< gfx_device > > devices
 List of all devices.
 

Detailed Description

Vulkan gfx_device controller.

Manages Vulkan device and a set of Windows.

Constructor & Destructor Documentation

◆ gfx_system_vulkan()

v1::gfx_system_vulkan::gfx_system_vulkan ( )

Create an instance of a gfx_device.

After the constructor is completed it may be used to get a Vulkan surface and passed to Window constructors.

Member Function Documentation

◆ init()

void v1::gfx_system_vulkan::init ( )
overridevirtual

Initialize after construction.

Call this function directly after the constructor on the same thread.

Reimplemented from v1::gfx_system.

◆ make_surface()

std::unique_ptr< gfx_surface > v1::gfx_system_vulkan::make_surface ( os_handle instance,
void * os_window ) const
overridevirtualnoexcept

Implements v1::gfx_system.

Field Documentation

◆ applicationInfo

vk::ApplicationInfo v1::gfx_system_vulkan::applicationInfo

application info passed when the instance was created.

◆ intrinsic

vk::Instance v1::gfx_system_vulkan::intrinsic

Vulkan instance.

◆ requiredExtensions

std::vector<const char *> v1::gfx_system_vulkan::requiredExtensions

List of extension that where requested when the instance was created.

◆ requiredFeatures

vk::PhysicalDeviceFeatures v1::gfx_system_vulkan::requiredFeatures

List of required features for each device.

◆ requiredLayers

std::vector<const char *> v1::gfx_system_vulkan::requiredLayers

List of extension that where requested when the instance was created.

◆ requiredLimits

vk::PhysicalDeviceLimits v1::gfx_system_vulkan::requiredLimits

List of required limits for each device.


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