VKVG  
Vulkan Vector Graphics
Typedefs | Functions
Device

Description

VkvgDevice is the starting point of a vkvg rendering infrastructure. It connects an existing vulkan context with vkvg, or may create a new one.

Most of the vulkan rendering component (pipelines, renderpass, ..) are part of the VkvgDevice, their are shared among drawing contexts.

Antialiasing level is configured when creating the device by selecting the sample count. vkvg_device_create will create a non-antialiased dev by selecting VK_SAMPLE_COUNT_1_BIT as sample count. To create antialiased rendering device, call vkvg_device_create_multisample with VkSampleCountFlags greater than one.

vkvg use a single frame buffer format for now: VK_FORMAT_B8G8R8A8_UNORM.

Device holds the font cache so that each time a context draws text, the same cache is used.

Typedefs

typedef struct _vkvg_device_t * VkvgDevice
 Opaque pointer on a Vkvg device structure. More...
 

Functions

void vkvg_device_set_thread_aware (VkvgDevice dev, uint32_t thread_awayre)
 vkvg_device_set_thread_aware More...
 
VkvgDevice vkvg_device_create (VkSampleCountFlags samples, bool deferredResolve)
 Create a new vkvg device. More...
 
VkvgDevice vkvg_device_create_from_vk (VkInstance inst, VkPhysicalDevice phy, VkDevice vkdev, uint32_t qFamIdx, uint32_t qIndex)
 Create a new vkvg device from an existing vulkan logical device. More...
 
VkvgDevice vkvg_device_create_from_vk_multisample (VkInstance inst, VkPhysicalDevice phy, VkDevice vkdev, uint32_t qFamIdx, uint32_t qIndex, VkSampleCountFlags samples, bool deferredResolve)
 Create a new multisampled vkvg device. More...
 
void vkvg_device_destroy (VkvgDevice dev)
 Decrement the reference count of the device by 1. Release all it's ressources if count reach 0. More...
 
vkvg_status_t vkvg_device_status (VkvgDevice dev)
 Get the current status of the device. More...
 
VkvgDevice vkvg_device_reference (VkvgDevice dev)
 Increment the reference count on this device. More...
 
uint32_t vkvg_device_get_reference_count (VkvgDevice dev)
 Query the reference count of the device. More...
 
void vkvg_device_set_dpy (VkvgDevice dev, int hdpy, int vdpy)
 Set the screen dot per inch for this device. More...
 
void vkvg_device_get_dpy (VkvgDevice dev, int *hdpy, int *vdpy)
 Get the current dpy values. More...
 
void vkvg_get_required_instance_extensions (const char **pExtensions, uint32_t *pExtCount)
 query required instance extensions for vkvg. More...
 
void vkvg_get_required_device_extensions (VkPhysicalDevice phy, const char **pExtensions, uint32_t *pExtCount)
 query required device extensions for vkvg. More...
 
const void * vkvg_get_device_requirements (VkPhysicalDeviceFeatures *pEnabledFeatures)
 get vulkan device creation requirement to fit vkvg needs. More...