VKVG
Vulkan Vector Graphics
|
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... | |