summaryrefslogtreecommitdiffstats
path: root/drivers/vulkan/vulkan_hooks.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/vulkan/vulkan_hooks.h')
-rw-r--r--drivers/vulkan/vulkan_hooks.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/vulkan/vulkan_hooks.h b/drivers/vulkan/vulkan_hooks.h
index eaa52658e4..bb30b29cec 100644
--- a/drivers/vulkan/vulkan_hooks.h
+++ b/drivers/vulkan/vulkan_hooks.h
@@ -38,11 +38,17 @@
#endif
class VulkanHooks {
+private:
+ static VulkanHooks *singleton;
+
public:
- virtual bool create_vulkan_instance(const VkInstanceCreateInfo *p_vulkan_create_info, VkInstance *r_instance) { return false; };
- virtual bool get_physical_device(VkPhysicalDevice *r_device) { return false; };
- virtual bool create_vulkan_device(const VkDeviceCreateInfo *p_device_create_info, VkDevice *r_device) { return false; };
- virtual ~VulkanHooks(){};
+ VulkanHooks();
+ virtual ~VulkanHooks();
+ virtual bool create_vulkan_instance(const VkInstanceCreateInfo *p_vulkan_create_info, VkInstance *r_instance) = 0;
+ virtual bool get_physical_device(VkPhysicalDevice *r_device) = 0;
+ virtual bool create_vulkan_device(const VkDeviceCreateInfo *p_device_create_info, VkDevice *r_device) = 0;
+ virtual void set_direct_queue_family_and_index(uint32_t p_queue_family_index, uint32_t p_queue_index) = 0;
+ static VulkanHooks *get_singleton() { return singleton; }
};
#endif // VULKAN_HOOKS_H