xenia/src/xenia/gpu/gpu_flags.cc

51 lines
2.3 KiB
C++

/**
******************************************************************************
* Xenia : Xbox 360 Emulator Research Project *
******************************************************************************
* Copyright 2020 Ben Vanik. All rights reserved. *
* Released under the BSD license - see LICENSE in the root for more details. *
******************************************************************************
*/
#include "xenia/gpu/gpu_flags.h"
DEFINE_path(trace_gpu_prefix, "scratch/gpu/",
"Prefix path for GPU trace files.", "GPU");
DEFINE_bool(trace_gpu_stream, false, "Trace all GPU packets.", "GPU");
DEFINE_path(
dump_shaders, "",
"For shader debugging, path to dump GPU shaders to as they are compiled.",
"GPU");
DEFINE_bool(vsync, true, "Enable VSYNC.", "GPU");
DEFINE_bool(
gpu_allow_invalid_fetch_constants, false,
"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");
// Extremely bright screen borders in 4D5307E6.
// Reading between texels with half-pixel offset in 58410954.
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 "
"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.",
"GPU");
DEFINE_int32(query_occlusion_fake_sample_count, 1000,
"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");