#pragma once #include "d3d11_include.h" namespace dxvk { enum class D3D11Option : uint64_t { /** * \brief Handle D3D11_MAP_FLAG_DO_NOT_WAIT properly * * This can offer substantial speedups, but some games * (The Witcher 3, Elder Scrolls Online, possibly others) * seem to make incorrect assumptions about when a map * operation succeeds when that flag is set. */ AllowMapFlagNoWait = 0, /** * \brief Ignore D3D11_ASYNC_GETDATA_DONOTFLUSH * * This can cause significant slowdowns, but some games * expect the implementation to flush the context even * when passing the \c DONOTFLUSH flag. */ DisableGetDataFlagDoNotFlush = 1, }; using D3D11OptionSet = Flags; /** * \brief Retrieves per-app options * * \param [in] AppName Executable name * \returns D3D11 options */ D3D11OptionSet D3D11GetAppOptions(const std::string& AppName); }