add an option to preserve position invariance

This commit is contained in:
Samuliak 2024-12-18 16:38:55 +01:00
parent 4281f6e0c8
commit fa004a33c6
No known key found for this signature in database
7 changed files with 21 additions and 2 deletions

View file

@ -228,6 +228,7 @@ bool GameProfile::Load(uint64_t title_id)
gameProfile_loadEnumOption(iniParser, "accurateShaderMul", m_accurateShaderMul);
gameProfile_loadBooleanOption2(iniParser, "fastMath", m_fastMath);
gameProfile_loadEnumOption(iniParser, "bufferCacheMode", m_bufferCacheMode);
gameProfile_loadBooleanOption2(iniParser, "positionInvariance", m_positionInvariance);
// legacy support
auto option_precompiledShaders = iniParser.FindOption("precompiledShaders");
@ -312,6 +313,7 @@ void GameProfile::Save(uint64_t title_id)
WRITE_ENTRY(accurateShaderMul);
WRITE_ENTRY(fastMath);
WRITE_ENTRY(bufferCacheMode);
WRITE_ENTRY(positionInvariance);
WRITE_OPTIONAL_ENTRY(precompiledShaders);
WRITE_OPTIONAL_ENTRY(graphics_api);
fs->writeLine("");
@ -343,6 +345,7 @@ void GameProfile::ResetOptional()
m_accurateShaderMul = AccurateShaderMulOption::True;
m_fastMath = true;
m_bufferCacheMode = BufferCacheMode::DevicePrivate;
m_positionInvariance = false;
// cpu settings
m_threadQuantum = kThreadQuantumDefault;
m_cpuMode.reset(); // CPUModeOption::kSingleCoreRecompiler;
@ -365,6 +368,7 @@ void GameProfile::Reset()
m_accurateShaderMul = AccurateShaderMulOption::True;
m_fastMath = true;
m_bufferCacheMode = BufferCacheMode::DevicePrivate;
m_positionInvariance = false;
m_precompiledShaders = PrecompiledShaderOption::Auto;
// cpu settings
m_threadQuantum = kThreadQuantumDefault;