# Switch NX2 - read at every start of the Eglantine GUI. The CLI frontend does not read it.
# One NAME=VALUE per line. Lines starting with # are ignored.
# A variable already set in the environment wins over this file.
# Between files, %APPDATA%\eglantine\nx2_switches.txt (yours) wins over this one, so editing
# this file is never needed: copy the lines you want into your own and restart.
#
# Restart the emulator after editing.

# --- workarounds / behaviour ---
#EDEN_NX2_BUFFER_DOWNLOADS=1
# GPU thread split (default 2: engine methods run on a second thread, macros stay on the GPU
# thread, x86-64 only). 1 runs the macros on the second thread too, 0 runs everything on one.
#EDEN_NX2_SPLIT=0
#EDEN_NX2_MME_JIT=0
#EDEN_NX2_PBFLUSH=0
#EDEN_NX2_RESETFIX=0
# Release passed fences one at a time instead of together (for comparisons).
#EDEN_NX2_FENCE_BATCH=0
# With the split, a fence or a command list copy goes to the GPU with the next submission when the
# last one is under N us old (default 500). 0 submits each one at once.
#EDEN_NX2_FENCE_FLUSH_US=0
#EDEN_NX2_SKIP_SAME=0
#EDEN_NX2_INLINE_DEFER=0
# With the split, also send state writes that keep a register's value.
#EDEN_NX2_SPLIT_SKIP=0
# Switch 1 programs: give unimplemented service commands a placeholder reply, as Switch 2
# programs always get (any value turns it on).
#EDEN_NX2_AUTO_STUB=1
# How long (us) an HLE reply keeps a Switch 2 caller waiting while a lower-priority thread runs on
# its core, so that thread runs first as during a console IPC (Mario Tennis Fever needs it).
# Default 50, 0 turns it off.
#EDEN_NX2_IPC_MIN_US=0
# Keep the emulation thread from stopping when a game stops (tests the restart offer, about 11 s
# after Stop).
#EDEN_NX2_HANG_ON_STOP=1
# Upload every small uniform buffer again, instead of rebinding the earlier copy when its data has not changed.
#EDEN_NX2_UBOREUSE=0
# Keep ASTC textures uncompressed on GPUs without ASTC (default: re-compressed to BC3, 4x smaller).
#EDEN_NX2_KEEP_ASTC=1
# Intel on Windows: keep barriers in conditional control flow (=1) instead of removing them, as
# the other drivers do. Removing them can leave shared-memory passes reading stale data.
#EDEN_NX2_CONDITIONAL_BARRIERS=1
# Size the temporary ASTC decode images exactly (=0) instead of rounding them up to a multiple of 64
# texels so textures of nearly the same size share one.
#EDEN_NX2_ASTC_SCRATCH_BUCKET=0
# Submit after the ASTC decode (=0) instead of recording the decode and the BC encode in one submit.
#EDEN_NX2_ASTC_ONE_SUBMIT=0
# When the pool of finished ASTC decode images is full, drop the newest one (=0) instead of
# evicting the least recently used.
#EDEN_NX2_ASTC_POOL_V2=0
# Only reuse an ASTC decode image of exactly the size asked for (=0), not a larger one.
#EDEN_NX2_ASTC_POOL_FIT=0
# Windows: never release command buffer recording memory back to the driver.
#EDEN_NX2_COMMAND_POOL_RELEASE=0

# --- limits / tuning ---
#EDEN_NX2_VRAM_LIMIT_MIB=8192
# Log GPU thread timings every 10 s (any value turns it on, 0 too).
#EDEN_NX2_GPU_PROFILE=1
#EDEN_NX2_FRAMES_AHEAD=2
#EDEN_NX2_TC_EXPECTED_MIB=21322
#EDEN_NX2_TC_CRITICAL_MIB=22346
# Hand native draws to the GPU every N draws (32 to 1048576, default 128).
#EDEN_NX2_FLUSH_DRAWS=128
# Windows: release a command buffer's recording memory every N uses (1 to 64, default 8).
#EDEN_NX2_COMMAND_POOL_RELEASE_INTERVAL=8
