mirror of
https://github.com/doitsujin/dxvk.git
synced 2024-12-04 07:24:15 +01:00
[util] Add DXVK_CONFIG to define additional options
This commit is contained in:
parent
09857dcaa9
commit
e598dcd77e
@ -1090,6 +1090,7 @@ namespace dxvk {
|
||||
|
||||
// Load either $DXVK_CONFIG_FILE or $PWD/dxvk.conf
|
||||
std::string filePath = env::getEnvVar("DXVK_CONFIG_FILE");
|
||||
std::string confLine = env::getEnvVar("DXVK_CONFIG");
|
||||
|
||||
if (filePath == "")
|
||||
filePath = "dxvk.conf";
|
||||
@ -1097,23 +1098,34 @@ namespace dxvk {
|
||||
// Open the file if it exists
|
||||
std::ifstream stream(str::topath(filePath.c_str()).c_str());
|
||||
|
||||
if (!stream)
|
||||
if (!stream && confLine.empty())
|
||||
return config;
|
||||
|
||||
// Inform the user that we loaded a file, might
|
||||
// help when debugging configuration issues
|
||||
Logger::info(str::format("Found config file: ", filePath));
|
||||
|
||||
// Initialize parser context
|
||||
ConfigContext ctx;
|
||||
ctx.active = true;
|
||||
|
||||
// Parse the file line by line
|
||||
std::string line;
|
||||
if (stream) {
|
||||
// Inform the user that we loaded a file, might
|
||||
// help when debugging configuration issues
|
||||
Logger::info(str::format("Found config file: ", filePath));
|
||||
|
||||
// Parse the file line by line
|
||||
std::string line;
|
||||
|
||||
while (std::getline(stream, line))
|
||||
parseUserConfigLine(config, ctx, line);
|
||||
}
|
||||
|
||||
if (!confLine.empty()) {
|
||||
// Inform the user that we parsing config from environment, might
|
||||
// help when debugging configuration issues
|
||||
Logger::info(str::format("Found config env: ", confLine));
|
||||
|
||||
for(auto l : str::split(confLine, ";"))
|
||||
parseUserConfigLine(config, ctx, std::string(l.data(), l.size()));
|
||||
}
|
||||
|
||||
while (std::getline(stream, line))
|
||||
parseUserConfigLine(config, ctx, line);
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user