summaryrefslogtreecommitdiffstats
path: root/drivers/vulkan/vulkan_hooks.h
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-02-12 23:29:32 +0100
committerRémi Verschelde <rverschelde@gmail.com>2024-02-12 23:29:32 +0100
commit3be3d5099cc75a2db544b3a0964a430c3eb00909 (patch)
treec9741446ca06cfddf7a0861749565d0932ce243a /drivers/vulkan/vulkan_hooks.h
parentc66f87daa796f4ddea70156f5fec582db6c525f6 (diff)
parent73eff10c76c201a083193c044de1836217b4d72b (diff)
downloadredot-engine-3be3d5099cc75a2db544b3a0964a430c3eb00909.tar.gz
Merge pull request #87340 from DarioSamo/rd_common_context
Finish splitting functionality of the `RenderingDevice` backends into `RenderingDeviceDriver`.
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