diff --git a/src/d3d11/d3d11_options.cpp b/src/d3d11/d3d11_options.cpp new file mode 100644 index 00000000..3fe671f9 --- /dev/null +++ b/src/d3d11/d3d11_options.cpp @@ -0,0 +1,18 @@ +#include "d3d11_options.h" + +namespace dxvk { + + const static std::unordered_map g_d3d11AppOptions = {{ + { "witcher3.exe", D3D11OptionSet(D3D11Option::IgnoreMapFlagNoWait) }, + }}; + + + D3D11OptionSet D3D11GetAppOptions(const std::string& AppName) { + auto appOptions = g_d3d11AppOptions.find(AppName); + + return appOptions != g_d3d11AppOptions.end() + ? appOptions->second + : D3D11OptionSet(); + } + +} \ No newline at end of file diff --git a/src/d3d11/d3d11_options.h b/src/d3d11/d3d11_options.h new file mode 100644 index 00000000..5ecece29 --- /dev/null +++ b/src/d3d11/d3d11_options.h @@ -0,0 +1,21 @@ +#pragma once + +#include "d3d11_include.h" + +namespace dxvk { + + enum class D3D11Option : uint64_t { + IgnoreMapFlagNoWait = 0, + }; + + using D3D11OptionSet = Flags; + + /** + * \brief Retrieves per-app options + * + * \param [in] AppName Executable name + * \returns D3D11 options + */ + D3D11OptionSet D3D11GetAppOptions(const std::string& AppName); + +} \ No newline at end of file