aboutsummaryrefslogtreecommitdiffstatsci
path: root/src
diff options
context:
space:
mode:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>2021-11-30 16:40:59 +0100
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>2021-11-30 16:40:59 +0100
commitb15e2e52f6eb74e72f31391dbcf007a9e5ce3815 (patch)
tree88e754ed1010751d612e229351510fb765d7b705 /src
parent7dfff1a2e601e142583c122c9f716578d8e85039 (diff)
store VkhApp in VkhDevice
Diffstat (limited to 'src')
-rw-r--r--src/vkh_device.c21
-rw-r--r--src/vkh_device.h1
2 files changed, 14 insertions, 8 deletions
diff --git a/src/vkh_device.c b/src/vkh_device.c
index 606f312..c01ecda 100644
--- a/src/vkh_device.c
+++ b/src/vkh_device.c
@@ -35,10 +35,12 @@ static PFN_vkCmdInsertDebugUtilsLabelEXT CmdInsertDebugUtilsLabelEXT;
VkhDevice vkh_device_create (VkhApp app, VkhPhyInfo phyInfo, VkDeviceCreateInfo* pDevice_info){
VkDevice dev;
VK_CHECK_RESULT(vkCreateDevice (phyInfo->phy, pDevice_info, NULL, &dev));
- return vkh_device_import(app->inst, phyInfo->phy, dev);
+ VkhDevice vkhd = vkh_device_import(app->inst, phyInfo->phy, dev);
+ vkhd->vkhApplication = app;
+ return vkhd;
}
VkhDevice vkh_device_import (VkInstance inst, VkPhysicalDevice phy, VkDevice vkDev) {
- VkhDevice dev = (vkh_device_t*)malloc(sizeof(vkh_device_t));
+ VkhDevice dev = (vkh_device_t*)calloc(1,sizeof(vkh_device_t));
dev->dev = vkDev;
dev->phy = phy;
dev->instance = inst;
@@ -59,17 +61,20 @@ VkDevice vkh_device_get_vkdev (VkhDevice dev) {
VkPhysicalDevice vkh_device_get_phy (VkhDevice dev) {
return dev->phy;
}
+VkhApp vkh_device_get_app (VkhDevice dev) {
+ return dev->vkhApplication;
+}
/**
* @brief get instance proc addresses for debug utils (name, label,...)
* @param vkh device
*/
void vkh_device_init_debug_utils (VkhDevice dev) {
- SetDebugUtilsObjectNameEXT = (PFN_vkSetDebugUtilsObjectNameEXT)vkGetInstanceProcAddr(dev->instance, "vkSetDebugUtilsObjectNameEXT");
- QueueBeginDebugUtilsLabelEXT = (PFN_vkQueueBeginDebugUtilsLabelEXT)vkGetInstanceProcAddr(dev->instance, "vkQueueBeginDebugUtilsLabelEXT");
- QueueEndDebugUtilsLabelEXT = (PFN_vkQueueEndDebugUtilsLabelEXT)vkGetInstanceProcAddr(dev->instance, "vkQueueEndDebugUtilsLabelEXT");
- CmdBeginDebugUtilsLabelEXT = (PFN_vkCmdBeginDebugUtilsLabelEXT)vkGetInstanceProcAddr(dev->instance, "vkCmdBeginDebugUtilsLabelEXT");
- CmdEndDebugUtilsLabelEXT = (PFN_vkCmdEndDebugUtilsLabelEXT)vkGetInstanceProcAddr(dev->instance, "vkCmdEndDebugUtilsLabelEXT");
- CmdInsertDebugUtilsLabelEXT = (PFN_vkCmdInsertDebugUtilsLabelEXT)vkGetInstanceProcAddr(dev->instance, "vkCmdInsertDebugUtilsLabelEXT");
+ SetDebugUtilsObjectNameEXT = (PFN_vkSetDebugUtilsObjectNameEXT) vkGetInstanceProcAddr(dev->instance, "vkSetDebugUtilsObjectNameEXT");
+ QueueBeginDebugUtilsLabelEXT = (PFN_vkQueueBeginDebugUtilsLabelEXT) vkGetInstanceProcAddr(dev->instance, "vkQueueBeginDebugUtilsLabelEXT");
+ QueueEndDebugUtilsLabelEXT = (PFN_vkQueueEndDebugUtilsLabelEXT) vkGetInstanceProcAddr(dev->instance, "vkQueueEndDebugUtilsLabelEXT");
+ CmdBeginDebugUtilsLabelEXT = (PFN_vkCmdBeginDebugUtilsLabelEXT) vkGetInstanceProcAddr(dev->instance, "vkCmdBeginDebugUtilsLabelEXT");
+ CmdEndDebugUtilsLabelEXT = (PFN_vkCmdEndDebugUtilsLabelEXT) vkGetInstanceProcAddr(dev->instance, "vkCmdEndDebugUtilsLabelEXT");
+ CmdInsertDebugUtilsLabelEXT = (PFN_vkCmdInsertDebugUtilsLabelEXT) vkGetInstanceProcAddr(dev->instance, "vkCmdInsertDebugUtilsLabelEXT");
}
VkSampler vkh_device_create_sampler (VkhDevice dev, VkFilter magFilter, VkFilter minFilter,
VkSamplerMipmapMode mipmapMode, VkSamplerAddressMode addressMode){
diff --git a/src/vkh_device.h b/src/vkh_device.h
index 5054c40..41de6aa 100644
--- a/src/vkh_device.h
+++ b/src/vkh_device.h
@@ -35,6 +35,7 @@ typedef struct _vkh_device_t{
VkPhysicalDevice phy;
VmaAllocator allocator;
VkInstance instance;
+ VkhApp vkhApplication;
}vkh_device_t;
#ifdef __cplusplus