diff --git a/include/Nazara/Vulkan/VkDevice.hpp b/include/Nazara/Vulkan/VkDevice.hpp index 680b8c998..a78b0ced5 100644 --- a/include/Nazara/Vulkan/VkDevice.hpp +++ b/include/Nazara/Vulkan/VkDevice.hpp @@ -42,6 +42,7 @@ namespace Nz inline Instance& GetInstance(); inline const Instance& GetInstance() const; inline VkResult GetLastErrorCode() const; + inline VkPhysicalDevice GetPhysicalDevice() const; inline bool IsExtensionLoaded(const String& extensionName); inline bool IsLayerLoaded(const String& layerName); @@ -202,6 +203,7 @@ namespace Nz Instance& m_instance; VkAllocationCallbacks m_allocator; VkDevice m_device; + VkPhysicalDevice m_physicalDevice; VkResult m_lastErrorCode; std::unordered_set m_loadedExtensions; std::unordered_set m_loadedLayers; diff --git a/include/Nazara/Vulkan/VkDevice.inl b/include/Nazara/Vulkan/VkDevice.inl index f6fded6f5..f97b06c13 100644 --- a/include/Nazara/Vulkan/VkDevice.inl +++ b/include/Nazara/Vulkan/VkDevice.inl @@ -15,6 +15,7 @@ namespace Nz inline Device::Device(Instance& instance) : m_instance(instance), m_device(VK_NULL_HANDLE), + m_physicalDevice(VK_NULL_HANDLE) { } @@ -31,6 +32,7 @@ namespace Nz vkDestroyDevice(m_device, (m_allocator.pfnAllocation) ? &m_allocator : nullptr); m_device = VK_NULL_HANDLE; + m_physicalDevice = VK_NULL_HANDLE; } } @@ -62,6 +64,11 @@ namespace Nz return m_lastErrorCode; } + inline VkPhysicalDevice Device::GetPhysicalDevice() const + { + return m_physicalDevice; + } + inline bool Device::IsExtensionLoaded(const String& extensionName) { return m_loadedExtensions.count(extensionName) > 0;