aboutsummaryrefslogtreecommitdiffstatsci
path: root/src/vkh_device.c
diff options
context:
space:
mode:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>2026-10-23 14:19:18 +0200
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>2026-10-23 14:19:18 +0200
commit0b1ee1525dff764895719adcc283de5061836398 (patch)
tree8ad0fcc53e1670fade9f4a6e702849bc20691a11 /src/vkh_device.c
parentc5b7f0e6000fd61a920a69d4983624ae105a644b (diff)
debug imported devHEADmaster
Diffstat (limited to 'src/vkh_device.c')
-rw-r--r--src/vkh_device.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/vkh_device.c b/src/vkh_device.c
index 8659ef3..3d8b62f 100644
--- a/src/vkh_device.c
+++ b/src/vkh_device.c
@@ -38,6 +38,7 @@ VkhDevice vkh_device_create(VkhApp app, VkhPhyInfo phyInfo, VkDeviceCreateInfo *
VK_CHECK_RESULT(vkCreateDevice(phyInfo->phy, pDevice_info, NULL, &dev));
VkhDevice vkhd = vkh_device_import(app->inst, phyInfo->phy, dev);
vkhd->vkhApplication = app;
+ vkhd->imported = false;
return vkhd;
}
VkhDevice vkh_device_import(VkInstance inst, VkPhysicalDevice phy, VkDevice vkDev) {
@@ -45,16 +46,14 @@ VkhDevice vkh_device_import(VkInstance inst, VkPhysicalDevice phy, VkDevice vkDe
dev->dev = vkDev;
dev->phy = phy;
dev->instance = inst;
+ dev->imported = true;
vkGetPhysicalDeviceMemoryProperties(phy, &dev->phyMemProps);
#ifdef VKH_USE_VMA
- if (!dev->allocator) {
- VmaAllocatorCreateInfo allocatorInfo = {.physicalDevice = phy, .device = vkDev};
- vmaCreateAllocator(&allocatorInfo, &dev->allocator);
- }
+ VmaAllocatorCreateInfo allocatorInfo = {.physicalDevice = phy, .device = vkDev};
+ vmaCreateAllocator(&allocatorInfo, &dev->allocator);
#else
#endif
-
return dev;
}
VkResult vkh_device_status(VkhDevice dev) { return dev == NULL ? VK_ERROR_UNKNOWN : dev->status; }
@@ -99,7 +98,8 @@ void vkh_device_destroy(VkhDevice dev) {
vmaDestroyAllocator(dev->allocator);
#else
#endif
- vkDestroyDevice(dev->dev, NULL);
+ if (!dev->imported)
+ vkDestroyDevice(dev->dev, NULL);
free(dev);
}