2018-05-24 12:31:04 +02:00
|
|
|
#pragma once
|
|
|
|
|
2018-08-07 14:47:06 +02:00
|
|
|
#include "../util/config/config.h"
|
|
|
|
|
2018-08-25 01:22:19 +02:00
|
|
|
#include "../dxvk/dxvk_include.h"
|
|
|
|
|
2018-05-24 12:31:04 +02:00
|
|
|
#include "dxgi_include.h"
|
|
|
|
|
|
|
|
namespace dxvk {
|
2018-09-29 08:13:52 +02:00
|
|
|
|
2018-05-24 12:31:04 +02:00
|
|
|
/**
|
|
|
|
* \brief DXGI options
|
|
|
|
*
|
|
|
|
* Per-app options that control the
|
|
|
|
* behaviour of some DXGI classes.
|
|
|
|
*/
|
2018-08-07 14:47:06 +02:00
|
|
|
struct DxgiOptions {
|
|
|
|
DxgiOptions(const Config& config);
|
|
|
|
|
2018-05-24 12:31:04 +02:00
|
|
|
/// 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.
|
2018-08-07 14:47:06 +02:00
|
|
|
bool deferSurfaceCreation;
|
2018-07-20 13:49:07 +02:00
|
|
|
|
2018-08-07 14:47:06 +02:00
|
|
|
/// Override maximum frame latency if the app specifies
|
|
|
|
/// a higher value. May help with frame timing issues.
|
|
|
|
int32_t maxFrameLatency;
|
2018-08-07 17:33:19 +02:00
|
|
|
|
|
|
|
/// Override PCI vendor and device IDs reported to the
|
|
|
|
/// application. This may make apps think they are running
|
|
|
|
/// on a different GPU than they do and behave differently.
|
|
|
|
int32_t customVendorId;
|
|
|
|
int32_t customDeviceId;
|
2018-08-25 01:22:19 +02:00
|
|
|
|
|
|
|
/// Override maximum reported VRAM size. This may be
|
|
|
|
/// useful for some 64-bit games which do not support
|
|
|
|
/// more than 4 GiB of VRAM.
|
|
|
|
VkDeviceSize maxDeviceMemory;
|
|
|
|
VkDeviceSize maxSharedMemory;
|
2018-09-09 19:12:07 +02:00
|
|
|
|
2018-09-24 15:26:33 +02:00
|
|
|
/// Enables D3D10 support
|
|
|
|
bool d3d10Enable;
|
2018-05-24 12:31:04 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|