mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-11 16:57:53 -06:00
Windows specific: Added "--sw-renderer" to load the MESA SW rasterizer.
This commit is contained in:
parent
360e741462
commit
9f53123204
2 changed files with 17 additions and 2 deletions
|
@ -3117,6 +3117,13 @@ CLIMiscConfigDef::CLIMiscConfigDef()
|
||||||
def->label = L("Logging level");
|
def->label = L("Logging level");
|
||||||
def->tooltip = L("Messages with severity lower or eqal to the loglevel will be printed out. 0:trace, 1:debug, 2:info, 3:warning, 4:error, 5:fatal");
|
def->tooltip = L("Messages with severity lower or eqal to the loglevel will be printed out. 0:trace, 1:debug, 2:info, 3:warning, 4:error, 5:fatal");
|
||||||
def->min = 0;
|
def->min = 0;
|
||||||
|
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
def = this->add("sw_renderer", coBool);
|
||||||
|
def->label = L("Render with a software renderer");
|
||||||
|
def->tooltip = L("Render with a software renderer. The bundled MESA software renderer is loaded instead of the default OpenGL driver.");
|
||||||
|
def->min = 0;
|
||||||
|
#endif /* _MSC_VER */
|
||||||
}
|
}
|
||||||
|
|
||||||
const CLIActionsConfigDef cli_actions_config_def;
|
const CLIActionsConfigDef cli_actions_config_def;
|
||||||
|
|
|
@ -207,12 +207,20 @@ int wmain(int argc, wchar_t **argv)
|
||||||
std::vector<wchar_t*> argv_extended;
|
std::vector<wchar_t*> argv_extended;
|
||||||
argv_extended.emplace_back(argv[0]);
|
argv_extended.emplace_back(argv[0]);
|
||||||
// Here one may push some additional parameters based on the wrapper type.
|
// Here one may push some additional parameters based on the wrapper type.
|
||||||
for (int i = 1; i < argc; ++ i)
|
bool force_mesa = false;
|
||||||
|
for (int i = 1; i < argc; ++ i) {
|
||||||
|
if (wcscmp(argv[i], L"--sw-renderer") == 0)
|
||||||
|
force_mesa = true;
|
||||||
|
else if (wcscmp(argv[i], L"--no-sw-renderer") == 0)
|
||||||
|
force_mesa = false;
|
||||||
argv_extended.emplace_back(argv[i]);
|
argv_extended.emplace_back(argv[i]);
|
||||||
|
}
|
||||||
argv_extended.emplace_back(nullptr);
|
argv_extended.emplace_back(nullptr);
|
||||||
|
|
||||||
OpenGLVersionCheck opengl_version_check;
|
OpenGLVersionCheck opengl_version_check;
|
||||||
bool load_mesa =
|
bool load_mesa =
|
||||||
|
// Forced from the command line.
|
||||||
|
force_mesa ||
|
||||||
// Running over a rempote desktop, and the RemoteFX is not enabled, therefore Windows will only provide SW OpenGL 1.1 context.
|
// Running over a rempote desktop, and the RemoteFX is not enabled, therefore Windows will only provide SW OpenGL 1.1 context.
|
||||||
// In that case, use Mesa.
|
// In that case, use Mesa.
|
||||||
::GetSystemMetrics(SM_REMOTESESSION) ||
|
::GetSystemMetrics(SM_REMOTESESSION) ||
|
||||||
|
@ -267,5 +275,5 @@ int wmain(int argc, wchar_t **argv)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
// argc minus the trailing nullptr of the argv
|
// argc minus the trailing nullptr of the argv
|
||||||
return slic3r_main(argv_extended.size() - 1, argv_extended.data());
|
return slic3r_main((int)argv_extended.size() - 1, argv_extended.data());
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue