mirror of
https://github.com/doitsujin/dxvk.git
synced 2024-12-02 01:24:11 +01:00
[dxvk] Use static variables for extension provider instances
Also, remove redundant interface documentation.
This commit is contained in:
parent
dbf2407fd3
commit
b18c50d5ab
@ -6,8 +6,8 @@
|
|||||||
namespace dxvk {
|
namespace dxvk {
|
||||||
|
|
||||||
DxvkExtensionProviderList DxvkExtensionProvider::s_extensionProviders = {
|
DxvkExtensionProviderList DxvkExtensionProvider::s_extensionProviders = {
|
||||||
&g_platformInstance,
|
&DxvkPlatformExts::s_instance,
|
||||||
&g_vrInstance
|
&VrInstance::s_instance,
|
||||||
};
|
};
|
||||||
|
|
||||||
const DxvkExtensionProviderList& DxvkExtensionProvider::getExtensionProviders() {
|
const DxvkExtensionProviderList& DxvkExtensionProvider::getExtensionProviders() {
|
||||||
|
@ -32,7 +32,7 @@ namespace dxvk {
|
|||||||
};
|
};
|
||||||
|
|
||||||
VrFunctions g_vrFunctions;
|
VrFunctions g_vrFunctions;
|
||||||
VrInstance g_vrInstance;
|
VrInstance VrInstance::s_instance;
|
||||||
|
|
||||||
VrInstance:: VrInstance() { }
|
VrInstance:: VrInstance() { }
|
||||||
VrInstance::~VrInstance() { }
|
VrInstance::~VrInstance() { }
|
||||||
|
@ -33,47 +33,20 @@ namespace dxvk {
|
|||||||
VrInstance();
|
VrInstance();
|
||||||
~VrInstance();
|
~VrInstance();
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief Extension provider name
|
|
||||||
* \returns The extension provider's name
|
|
||||||
*/
|
|
||||||
std::string_view getName();
|
std::string_view getName();
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief Query instance extensions
|
|
||||||
* \returns Instance extensions
|
|
||||||
*/
|
|
||||||
DxvkNameSet getInstanceExtensions();
|
DxvkNameSet getInstanceExtensions();
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief Query device extensions
|
|
||||||
*
|
|
||||||
* Retrieves the extensions required for a specific
|
|
||||||
* physical device. The adapter index should remain
|
|
||||||
* the same across multiple Vulkan instances.
|
|
||||||
* \param [in] adapterId Adapter index
|
|
||||||
*/
|
|
||||||
DxvkNameSet getDeviceExtensions(
|
DxvkNameSet getDeviceExtensions(
|
||||||
uint32_t adapterId);
|
uint32_t adapterId);
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief Initializes instance extension set
|
|
||||||
*
|
|
||||||
* Should be called before creating
|
|
||||||
* the first Vulkan instance.
|
|
||||||
*/
|
|
||||||
void initInstanceExtensions();
|
void initInstanceExtensions();
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief Initializes device extension sets
|
|
||||||
*
|
|
||||||
* Should be called after setting
|
|
||||||
* up the Vulkan physical devices.
|
|
||||||
* \param [in] instance DXVK instance
|
|
||||||
*/
|
|
||||||
void initDeviceExtensions(
|
void initDeviceExtensions(
|
||||||
const DxvkInstance* instance);
|
const DxvkInstance* instance);
|
||||||
|
|
||||||
|
static VrInstance s_instance;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
std::mutex m_mutex;
|
std::mutex m_mutex;
|
||||||
|
@ -6,48 +6,19 @@ namespace dxvk {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief Extension provider name
|
|
||||||
* \returns The extension provider's name
|
|
||||||
*/
|
|
||||||
std::string_view getName();
|
std::string_view getName();
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief Query instance extensions
|
|
||||||
* \returns Instance extensions
|
|
||||||
*/
|
|
||||||
DxvkNameSet getInstanceExtensions();
|
DxvkNameSet getInstanceExtensions();
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief Query device extensions
|
|
||||||
*
|
|
||||||
* Retrieves the extensions required for a specific
|
|
||||||
* physical device. The adapter index should remain
|
|
||||||
* the same across multiple Vulkan instances.
|
|
||||||
* \param [in] adapterId Adapter index
|
|
||||||
*/
|
|
||||||
DxvkNameSet getDeviceExtensions(
|
DxvkNameSet getDeviceExtensions(
|
||||||
uint32_t adapterId);
|
uint32_t adapterId);
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief Initializes instance extension set
|
|
||||||
*
|
|
||||||
* Should be called before creating
|
|
||||||
* the first Vulkan instance.
|
|
||||||
*/
|
|
||||||
void initInstanceExtensions();
|
void initInstanceExtensions();
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief Initializes device extension sets
|
|
||||||
*
|
|
||||||
* Should be called after setting
|
|
||||||
* up the Vulkan physical devices.
|
|
||||||
* \param [in] instance DXVK instance
|
|
||||||
*/
|
|
||||||
void initDeviceExtensions(
|
void initDeviceExtensions(
|
||||||
const DxvkInstance* instance);
|
const DxvkInstance* instance);
|
||||||
|
|
||||||
|
static DxvkPlatformExts s_instance;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern DxvkPlatformExts g_platformInstance;
|
|
||||||
|
|
||||||
}
|
}
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace dxvk {
|
namespace dxvk {
|
||||||
|
|
||||||
|
DxvkPlatformExts DxvkPlatformExts::s_instance;
|
||||||
|
|
||||||
std::string_view DxvkPlatformExts::getName() {
|
std::string_view DxvkPlatformExts::getName() {
|
||||||
return "Win32 WSI";
|
return "Win32 WSI";
|
||||||
@ -20,15 +21,16 @@ namespace dxvk {
|
|||||||
uint32_t adapterId) {
|
uint32_t adapterId) {
|
||||||
return DxvkNameSet();
|
return DxvkNameSet();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DxvkPlatformExts::initInstanceExtensions() {}
|
|
||||||
|
void DxvkPlatformExts::initInstanceExtensions() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void DxvkPlatformExts::initDeviceExtensions(
|
void DxvkPlatformExts::initDeviceExtensions(
|
||||||
const DxvkInstance* instance) {}
|
const DxvkInstance* instance) {
|
||||||
|
|
||||||
|
}
|
||||||
DxvkPlatformExts g_platformInstance;
|
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user