summaryrefslogtreecommitdiffstatsci
path: root/src/vkvg_device.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vkvg_device.c')
-rw-r--r--src/vkvg_device.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/vkvg_device.c b/src/vkvg_device.c
index a1d8acc..180f9b8 100644
--- a/src/vkvg_device.c
+++ b/src/vkvg_device.c
@@ -14,6 +14,7 @@ VkvgDevice vkvg_device_create(VkPhysicalDevice phy, VkDevice vkdev, VkQueue queu
vkGetPhysicalDeviceMemoryProperties (phy, &dev->phyMemProps);
dev->gQueue = vkh_queue_find (dev, VK_QUEUE_GRAPHICS_BIT);
+ dev->cQueue = vkh_queue_find (dev, VK_QUEUE_COMPUTE_BIT);
dev->lastCtx= NULL;
@@ -27,11 +28,20 @@ VkvgDevice vkvg_device_create(VkPhysicalDevice phy, VkDevice vkdev, VkQueue queu
_createDescriptorSetLayout (dev);
_setupPipelines (dev);
+ _init_gradient_pipeline (dev);
+
return dev;
}
+void _clean_gradient_pipeline (VkvgDevice dev) {
+ vkDestroyDescriptorSetLayout (dev->vkDev, dev->gradientPipeline.descriptorSetLayout,NULL);
+ vkDestroyPipeline (dev->vkDev, dev->gradientPipeline.pipeline, NULL);
+ vkDestroyPipelineLayout (dev->vkDev, dev->gradientPipeline.pipelineLayout, NULL);
+}
void vkvg_device_destroy (VkvgDevice dev)
{
+ _clean_gradient_pipeline (dev);
+
vkDestroyDescriptorSetLayout (dev->vkDev, dev->dslFont,NULL);
vkDestroyDescriptorSetLayout (dev->vkDev, dev->dslSrc, NULL);