diff --git a/src/d3d11/d3d11_options.cpp b/src/d3d11/d3d11_options.cpp index 98da2f5f..ace09199 100644 --- a/src/d3d11/d3d11_options.cpp +++ b/src/d3d11/d3d11_options.cpp @@ -10,6 +10,10 @@ namespace dxvk { this->fakeStreamOutSupport = config.getOption("d3d11.fakeStreamOutSupport", false); this->maxTessFactor = config.getOption("d3d11.maxTessFactor", 0); this->samplerAnisotropy = config.getOption("d3d11.samplerAnisotropy", -1); + this->deferSurfaceCreation = config.getOption("dxgi.deferSurfaceCreation", false); + this->numBackBuffers = config.getOption("dxgi.numBackBuffers", 0); + this->syncInterval = config.getOption("dxgi.syncInterval", -1); + this->syncMode = DxgiSyncMode(config.getOption("dxgi.syncMode", 0)); } } \ No newline at end of file diff --git a/src/d3d11/d3d11_options.h b/src/d3d11/d3d11_options.h index d66e60e2..36e4dec5 100644 --- a/src/d3d11/d3d11_options.h +++ b/src/d3d11/d3d11_options.h @@ -2,6 +2,8 @@ #include "../util/config/config.h" +#include "../dxgi/dxgi_options.h" + #include "d3d11_include.h" namespace dxvk { @@ -43,6 +45,22 @@ namespace dxvk { /// Enforces anisotropic filtering with the /// given anisotropy value for all samplers. int32_t samplerAnisotropy; + + /// Back buffer count for the Vulkan swap chain. + /// Overrides DXGI_SWAP_CHAIN_DESC::BufferCount. + int32_t numBackBuffers; + + /// Sync interval. Overrides the value + /// passed to IDXGISwapChain::Present. + int32_t syncInterval; + + /// Defer surface creation until first present call. This + /// fixes issues with games that create multiple swap chains + /// for a single window that may interfere with each other. + bool deferSurfaceCreation; + + /// Vsync mode + DxgiSyncMode syncMode; }; } \ No newline at end of file