You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-12 13:20:55 +00:00
[macOS/Windows] Add optional ANGLE backed OpenGL renderer support. Add EGL_ANDROID_blob_cache caching.
Co-authored-by: Riteo <riteo@posteo.net>
This commit is contained in:
@@ -1683,7 +1683,7 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
|
||||
}
|
||||
if (bool(GLOBAL_GET("application/run/disable_stderr"))) {
|
||||
CoreGlobals::print_error_enabled = false;
|
||||
};
|
||||
}
|
||||
|
||||
if (quiet_stdout) {
|
||||
CoreGlobals::print_line_enabled = false;
|
||||
@@ -1708,21 +1708,26 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
|
||||
GLOBAL_DEF(PropertyInfo(Variant::STRING, "rendering/rendering_device/driver.android", PROPERTY_HINT_ENUM, driver_hints), default_driver);
|
||||
GLOBAL_DEF(PropertyInfo(Variant::STRING, "rendering/rendering_device/driver.ios", PROPERTY_HINT_ENUM, driver_hints), default_driver);
|
||||
GLOBAL_DEF(PropertyInfo(Variant::STRING, "rendering/rendering_device/driver.macos", PROPERTY_HINT_ENUM, driver_hints), default_driver);
|
||||
}
|
||||
|
||||
driver_hints = "";
|
||||
{
|
||||
String driver_hints = "";
|
||||
String driver_hints_angle = "";
|
||||
#ifdef GLES3_ENABLED
|
||||
driver_hints += "opengl3";
|
||||
driver_hints = "opengl3";
|
||||
driver_hints_angle = "opengl3,opengl3_angle";
|
||||
#endif
|
||||
|
||||
default_driver = driver_hints.get_slice(",", 0);
|
||||
String default_driver = driver_hints.get_slice(",", 0);
|
||||
|
||||
GLOBAL_DEF("rendering/gl_compatibility/driver", default_driver);
|
||||
GLOBAL_DEF(PropertyInfo(Variant::STRING, "rendering/gl_compatibility/driver.windows", PROPERTY_HINT_ENUM, driver_hints), default_driver);
|
||||
GLOBAL_DEF(PropertyInfo(Variant::STRING, "rendering/gl_compatibility/driver.windows", PROPERTY_HINT_ENUM, driver_hints_angle), default_driver);
|
||||
GLOBAL_DEF(PropertyInfo(Variant::STRING, "rendering/gl_compatibility/driver.linuxbsd", PROPERTY_HINT_ENUM, driver_hints), default_driver);
|
||||
GLOBAL_DEF(PropertyInfo(Variant::STRING, "rendering/gl_compatibility/driver.web", PROPERTY_HINT_ENUM, driver_hints), default_driver);
|
||||
GLOBAL_DEF(PropertyInfo(Variant::STRING, "rendering/gl_compatibility/driver.android", PROPERTY_HINT_ENUM, driver_hints), default_driver);
|
||||
GLOBAL_DEF(PropertyInfo(Variant::STRING, "rendering/gl_compatibility/driver.ios", PROPERTY_HINT_ENUM, driver_hints), default_driver);
|
||||
GLOBAL_DEF(PropertyInfo(Variant::STRING, "rendering/gl_compatibility/driver.macos", PROPERTY_HINT_ENUM, driver_hints), default_driver);
|
||||
GLOBAL_DEF(PropertyInfo(Variant::STRING, "rendering/gl_compatibility/driver.macos", PROPERTY_HINT_ENUM, driver_hints_angle), default_driver);
|
||||
|
||||
GLOBAL_DEF_RST("rendering/gl_compatibility/nvidia_disable_threaded_optimization", true);
|
||||
}
|
||||
|
||||
@@ -1797,7 +1802,7 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
|
||||
|
||||
// Set a default renderer if none selected. Try to choose one that matches the driver.
|
||||
if (rendering_method.is_empty()) {
|
||||
if (rendering_driver == "opengl3") {
|
||||
if (rendering_driver == "opengl3" || rendering_driver == "opengl3_angle") {
|
||||
rendering_method = "gl_compatibility";
|
||||
} else {
|
||||
rendering_method = "forward_plus";
|
||||
@@ -1815,6 +1820,7 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
|
||||
#ifdef GLES3_ENABLED
|
||||
if (rendering_method == "gl_compatibility") {
|
||||
available_drivers.push_back("opengl3");
|
||||
available_drivers.push_back("opengl3_angle");
|
||||
}
|
||||
#endif
|
||||
if (available_drivers.is_empty()) {
|
||||
|
||||
Reference in New Issue
Block a user