1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-01-21 02:52:10 +01:00
dxvk/src/d3d11/d3d11_options.h

66 lines
1.9 KiB
C
Raw Normal View History

2018-03-24 17:29:13 +01:00
#pragma once
#include "../util/config/config.h"
#include "../dxgi/dxgi_options.h"
2018-03-24 17:29:13 +01:00
#include "d3d11_include.h"
namespace dxvk {
struct D3D11Options {
D3D11Options(const Config& config);
/// 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.
bool allowMapFlagNoWait;
/// Enables speed hack for mapping on deferred contexts
///
/// This can substantially speed up some games, but may
/// cause issues if the game submits command lists more
/// than once.
bool dcMapSpeedHack;
/// Fakes stream output support.
///
/// Temporary hack that fixes issues in some games
/// which technically need stream output but work
/// well enough without it. Will be removed once
/// Stream Output is properly supported in DXVK.
bool fakeStreamOutSupport;
/// Maximum tessellation factor.
///
/// Limits tessellation factors in tessellation
/// control shaders. Values from 8 to 64 are
/// supported, other values will be ignored.
int32_t maxTessFactor;
/// Anisotropic filter override
///
/// 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;
2018-03-24 17:29:13 +01:00
};
}