2013-01-13 08:25:41 +01:00
|
|
|
/**
|
|
|
|
|
******************************************************************************
|
|
|
|
|
* Xenia : Xbox 360 Emulator Research Project *
|
|
|
|
|
******************************************************************************
|
2020-03-02 16:37:11 +01:00
|
|
|
* Copyright 2020 Ben Vanik. All rights reserved. *
|
2013-01-13 08:25:41 +01:00
|
|
|
* Released under the BSD license - see LICENSE in the root for more details. *
|
|
|
|
|
******************************************************************************
|
|
|
|
|
*/
|
|
|
|
|
|
2015-06-27 20:25:45 +02:00
|
|
|
#include "xenia/gpu/gpu_flags.h"
|
2013-01-13 08:25:41 +01:00
|
|
|
|
2020-03-02 16:37:11 +01:00
|
|
|
DEFINE_path(trace_gpu_prefix, "scratch/gpu/",
|
|
|
|
|
"Prefix path for GPU trace files.", "GPU");
|
2019-04-17 21:49:29 +02:00
|
|
|
DEFINE_bool(trace_gpu_stream, false, "Trace all GPU packets.", "GPU");
|
2015-02-20 16:47:06 +01:00
|
|
|
|
2020-03-02 16:37:11 +01:00
|
|
|
DEFINE_path(
|
2020-03-21 17:21:00 +01:00
|
|
|
dump_shaders, "",
|
|
|
|
|
"For shader debugging, path to dump GPU shaders to as they are compiled.",
|
|
|
|
|
"GPU");
|
2013-11-16 12:06:55 +01:00
|
|
|
|
2019-04-17 21:49:29 +02:00
|
|
|
DEFINE_bool(vsync, true, "Enable VSYNC.", "GPU");
|
2020-02-16 17:35:26 +01:00
|
|
|
|
2024-08-31 21:46:43 +02:00
|
|
|
DEFINE_uint64(framerate_limit, 0,
|
2024-03-14 20:26:39 +01:00
|
|
|
"Maximum frames per second. 0 = Unlimited frames.\n"
|
|
|
|
|
"Defaults to 60, when set to 0, and VSYNC is enabled.",
|
|
|
|
|
"GPU");
|
2024-08-31 21:46:43 +02:00
|
|
|
UPDATE_from_uint64(framerate_limit, 2024, 8, 31, 20, 60);
|
2021-12-16 22:57:56 +01:00
|
|
|
|
2020-02-16 17:35:26 +01:00
|
|
|
DEFINE_bool(
|
2023-10-12 22:51:43 +02:00
|
|
|
gpu_allow_invalid_fetch_constants, true,
|
2020-02-16 17:35:26 +01:00
|
|
|
"Allow texture and vertex fetch constants with invalid type - generally "
|
|
|
|
|
"unsafe because the constant may contain completely invalid values, but "
|
|
|
|
|
"may be used to bypass fetch constant type errors in certain games until "
|
|
|
|
|
"the real reason why they're invalid is found.",
|
|
|
|
|
"GPU");
|
2020-06-01 14:00:22 +02:00
|
|
|
|
2024-05-05 14:15:48 +02:00
|
|
|
DEFINE_bool(
|
|
|
|
|
non_seamless_cube_map, true,
|
|
|
|
|
"Disable filtering between cube map faces near edges where possible "
|
|
|
|
|
"(Vulkan with VK_EXT_non_seamless_cube_map) to reproduce the Direct3D 9 "
|
|
|
|
|
"behavior.",
|
|
|
|
|
"GPU");
|
|
|
|
|
|
2021-09-05 20:03:05 +02:00
|
|
|
// Extremely bright screen borders in 4D5307E6.
|
|
|
|
|
// Reading between texels with half-pixel offset in 58410954.
|
2020-08-09 20:33:10 +02:00
|
|
|
DEFINE_bool(
|
|
|
|
|
half_pixel_offset, true,
|
|
|
|
|
"Enable support of vertex half-pixel offset (D3D9 PA_SU_VTX_CNTL "
|
|
|
|
|
"PIX_CENTER). Generally games are aware of the half-pixel offset, and "
|
|
|
|
|
"having this enabled is the correct behavior (disabling this may "
|
2021-09-05 20:03:05 +02:00
|
|
|
"significantly break post-processing in some games), but in certain games "
|
|
|
|
|
"it might have been ignored, resulting in slight blurriness of UI "
|
|
|
|
|
"textures, for instance, when they are read between texels rather than "
|
|
|
|
|
"at texel centers, or the leftmost/topmost pixels may not be fully covered "
|
|
|
|
|
"when MSAA is used with fullscreen passes.",
|
2020-08-09 20:33:10 +02:00
|
|
|
"GPU");
|
|
|
|
|
|
2024-09-23 11:31:34 +02:00
|
|
|
DEFINE_int32(query_occlusion_fake_sample_count, 100,
|
2020-06-01 14:00:22 +02:00
|
|
|
"If set to -1 no sample counts are written, games may hang. Else, "
|
|
|
|
|
"the sample count of every tile will be incremented on every "
|
|
|
|
|
"EVENT_WRITE_ZPD by this number. Setting this to 0 means "
|
|
|
|
|
"everything is reported as occluded.",
|
|
|
|
|
"GPU");
|
2024-09-23 11:31:34 +02:00
|
|
|
UPDATE_from_int32(query_occlusion_fake_sample_count, 2024, 9, 23, 9, 1000);
|