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-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;
|
2021-05-11 23:32:41 +01:00
|
|
|
std::string customDeviceDesc;
|
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
|
|
|
|
2024-03-06 14:40:39 +01:00
|
|
|
/// Reports Nvidia GPUs running on the proprietary driver as a different
|
|
|
|
/// vendor (usually AMD). Proton will generally disable this option.
|
2023-08-14 19:14:18 +02:00
|
|
|
bool hideNvidiaGpu;
|
2023-01-06 14:41:30 +00:00
|
|
|
|
2024-03-06 14:40:39 +01:00
|
|
|
/// Reports Nvidia GPUs running on NVK as a different vendor (usually AMD)
|
|
|
|
bool hideNvkGpu;
|
|
|
|
|
2023-08-14 19:44:07 +02:00
|
|
|
/// Reports AMD GPUs as a different vendor (usually Nvidia)
|
|
|
|
bool hideAmdGpu;
|
|
|
|
|
|
|
|
/// Reports Intel GPUs as a different vendor (usually AMD)
|
|
|
|
bool hideIntelGpu;
|
|
|
|
|
2023-01-06 14:41:30 +00:00
|
|
|
/// Enable HDR
|
|
|
|
bool enableHDR;
|
2023-10-09 15:16:30 -06:00
|
|
|
|
2024-06-06 10:32:02 +02:00
|
|
|
/// Limit frame rate
|
|
|
|
int32_t maxFrameRate;
|
|
|
|
|
2024-02-02 17:20:24 +01:00
|
|
|
/// Sync interval. Overrides the value
|
|
|
|
/// passed to IDXGISwapChain::Present.
|
|
|
|
int32_t syncInterval;
|
2018-05-24 12:31:04 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|