[dxvk] Track enabled instance extensions

Reviewed-by: Oleg Kuznetsov <okouznetsov@nvidia.com>
This commit is contained in:
Liam Middlebrook 2021-04-01 02:56:42 -07:00 committed by Philip Rebohle
parent c3feea2bce
commit c89b274325
2 changed files with 14 additions and 3 deletions

View File

@ -105,6 +105,8 @@ namespace dxvk {
extensionsEnabled))
throw DxvkError("DxvkInstance: Failed to create instance");
m_extensions = insExtensions;
// Enable additional extensions if necessary
for (const auto& provider : m_extProviders)
extensionsEnabled.merge(provider->getInstanceExtensions());

View File

@ -97,14 +97,23 @@ namespace dxvk {
const DxvkOptions& options() const {
return m_options;
}
/**
* \brief Enabled instance extensions
* \returns Enabled instance extensions
*/
const DxvkInstanceExtensions& extensions() const {
return m_extensions;
}
private:
Config m_config;
DxvkOptions m_options;
Rc<vk::LibraryFn> m_vkl;
Rc<vk::InstanceFn> m_vki;
Rc<vk::LibraryFn> m_vkl;
Rc<vk::InstanceFn> m_vki;
DxvkInstanceExtensions m_extensions;
std::vector<DxvkExtensionProvider*> m_extProviders;
std::vector<Rc<DxvkAdapter>> m_adapters;
@ -117,4 +126,4 @@ namespace dxvk {
};
}
}