overlay: option to force software renderer in configurator (#721)

## Link to GitHub Issue or related Pull Request, if one exists
chicken bit for #720
This commit is contained in:
bicarus
2026-05-30 15:24:07 -07:00
committed by GitHub
parent 4c73200f58
commit 7ee04879e2
5 changed files with 20 additions and 0 deletions
+5
View File
@@ -9,6 +9,7 @@ namespace cfg {
// globals
bool CONFIGURATOR_STANDALONE = false;
bool CONFIGURATOR_FORCE_SOFTWARE_RENDER = false;
ConfigType CONFIGURATOR_TYPE = ConfigType::Config;
Configurator::Configurator() {
@@ -26,6 +27,10 @@ namespace cfg {
// that environments without D3D9 (Wine without dxvk, headless test boxes,
// GPUs whose drivers reject HAL) still get a working configurator.
static bool try_init_d3d9(ConfiguratorWindow &wnd) {
if (cfg::CONFIGURATOR_FORCE_SOFTWARE_RENDER) {
return false;
}
if (wnd.hWnd == nullptr) {
return false;
}
+1
View File
@@ -11,6 +11,7 @@ namespace cfg {
// globals
extern bool CONFIGURATOR_STANDALONE;
extern ConfigType CONFIGURATOR_TYPE;
extern bool CONFIGURATOR_FORCE_SOFTWARE_RENDER;
class Configurator {
private:
+4
View File
@@ -1358,6 +1358,10 @@ int main_implementation(int argc, char *argv[]) {
timeutils::TIMER_HACKS_DISABLE = true;
}
if (options[launcher::Options::CfgForceSoftwareRender].value_bool()) {
cfg::CONFIGURATOR_FORCE_SOFTWARE_RENDER = true;
}
// API debugging
if (api_debug && !cfg::CONFIGURATOR_STANDALONE) {
API_CONTROLLER = std::make_unique<api::Controller>(api_port, api_pass, api_pretty);
+9
View File
@@ -2927,6 +2927,15 @@ static const std::vector<OptionDefinition> OPTION_DEFINITIONS = {
{"user", ""},
},
},
{
// CfgForceSoftwareRender
.title = "Configurator Force Software Rendering",
.name = "forcesoftware",
.desc = "Forces the use of software rendering instead of hardware acceleration for "
"the configurator.",
.type = OptionType::Bool,
.category = "Development",
},
};
const std::vector<std::string> &launcher::get_categories(Options::OptionsCategory category) {
+1
View File
@@ -291,6 +291,7 @@ namespace launcher {
DisableHighResTimer,
EnableICMPHook,
AutoElevate,
CfgForceSoftwareRender
};
enum class OptionsCategory {