From a30e1368b1e4dbc9b2116bcb63bc5c2daca819c0 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Wed, 16 May 2018 22:26:36 +0200 Subject: [PATCH] [dxvk] Implement name set merging --- src/dxvk/vulkan/dxvk_vulkan_extensions.cpp | 6 ++++++ src/dxvk/vulkan/dxvk_vulkan_extensions.h | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/src/dxvk/vulkan/dxvk_vulkan_extensions.cpp b/src/dxvk/vulkan/dxvk_vulkan_extensions.cpp index b8bdd4c33..b4de9eea4 100644 --- a/src/dxvk/vulkan/dxvk_vulkan_extensions.cpp +++ b/src/dxvk/vulkan/dxvk_vulkan_extensions.cpp @@ -7,6 +7,12 @@ namespace dxvk::vk { } + void NameSet::merge(const NameSet& other) { + for (const auto& entry : other.m_names) + this->add(entry); + } + + bool NameSet::contains(const std::string& name) const { return m_names.find(name) != m_names.end(); } diff --git a/src/dxvk/vulkan/dxvk_vulkan_extensions.h b/src/dxvk/vulkan/dxvk_vulkan_extensions.h index 2dd7b7ec7..f4feba325 100644 --- a/src/dxvk/vulkan/dxvk_vulkan_extensions.h +++ b/src/dxvk/vulkan/dxvk_vulkan_extensions.h @@ -57,6 +57,12 @@ namespace dxvk::vk { */ void add(const std::string& name); + /** + * \brief Merges two name sets + * \param [in] other Name set to merge + */ + void merge(const NameSet& other); + /** * \brief Checks whether an extension or layer is supported *