Merge pull request #114922 from DarioSamo/android-platform-gl3-fallback-fix
Fix fallback to OpenGL3 from Vulkan initialization on Android.
This commit is contained in:
commit
ed0ae97d98
17 changed files with 218 additions and 162 deletions
|
|
@ -196,8 +196,6 @@ static bool _start_success = false;
|
|||
String display_driver = "";
|
||||
String tablet_driver = "";
|
||||
String text_driver = "";
|
||||
String rendering_driver = "";
|
||||
String rendering_method = "";
|
||||
static int text_driver_idx = -1;
|
||||
static int audio_driver_idx = -1;
|
||||
|
||||
|
|
@ -1083,6 +1081,10 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
|
|||
bool delta_smoothing_override = false;
|
||||
bool load_shell_env = false;
|
||||
|
||||
String rendering_driver = "";
|
||||
String rendering_method = "";
|
||||
OS::RenderingSource rendering_driver_source = OS::RenderingSource::RENDERING_SOURCE_DEFAULT;
|
||||
OS::RenderingSource rendering_method_source = OS::RenderingSource::RENDERING_SOURCE_DEFAULT;
|
||||
String default_renderer = "";
|
||||
String default_renderer_mobile = "";
|
||||
String renderer_hints = "";
|
||||
|
|
@ -1280,6 +1282,7 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
|
|||
} else if (arg == "--rendering-driver") {
|
||||
if (N) {
|
||||
rendering_driver = N->get();
|
||||
rendering_driver_source = OS::RenderingSource::RENDERING_SOURCE_COMMANDLINE;
|
||||
N = N->next();
|
||||
} else {
|
||||
OS::get_singleton()->print("Missing rendering driver argument, aborting.\n");
|
||||
|
|
@ -2572,6 +2575,7 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
|
|||
// Default to ProjectSettings default if nothing set on the command line.
|
||||
if (rendering_method.is_empty()) {
|
||||
rendering_method = GLOBAL_GET("rendering/renderer/rendering_method");
|
||||
rendering_method_source = OS::RenderingSource::RENDERING_SOURCE_PROJECT_SETTING;
|
||||
}
|
||||
|
||||
if (rendering_driver.is_empty()) {
|
||||
|
|
@ -2579,16 +2583,18 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
|
|||
rendering_driver = "dummy";
|
||||
} else if (rendering_method == "gl_compatibility") {
|
||||
rendering_driver = GLOBAL_GET("rendering/gl_compatibility/driver");
|
||||
rendering_driver_source = OS::RenderingSource::RENDERING_SOURCE_PROJECT_SETTING;
|
||||
} else {
|
||||
rendering_driver = GLOBAL_GET("rendering/rendering_device/driver");
|
||||
rendering_driver_source = OS::RenderingSource::RENDERING_SOURCE_PROJECT_SETTING;
|
||||
}
|
||||
}
|
||||
|
||||
// always convert to lower case for consistency in the code
|
||||
rendering_driver = rendering_driver.to_lower();
|
||||
|
||||
OS::get_singleton()->set_current_rendering_driver_name(rendering_driver);
|
||||
OS::get_singleton()->set_current_rendering_method(rendering_method);
|
||||
OS::get_singleton()->set_current_rendering_driver_name(rendering_driver, rendering_driver_source);
|
||||
OS::get_singleton()->set_current_rendering_method(rendering_method, rendering_method_source);
|
||||
|
||||
#ifdef TOOLS_ENABLED
|
||||
if (!force_res && project_manager) {
|
||||
|
|
@ -3227,7 +3233,7 @@ Error Main::setup2(bool p_show_boot_logo) {
|
|||
}
|
||||
DisplayServer::accessibility_set_mode(accessibility_mode);
|
||||
|
||||
// rendering_driver now held in static global String in main and initialized in setup()
|
||||
String rendering_driver = OS::get_singleton()->get_current_rendering_driver_name();
|
||||
Error err;
|
||||
display_server = DisplayServer::create(display_driver_idx, rendering_driver, window_mode, window_vsync_mode, window_flags, window_position, window_size, init_screen, context, init_embed_parent_window_id, err);
|
||||
if (err != OK || display_server == nullptr) {
|
||||
|
|
@ -3864,10 +3870,6 @@ void Main::setup_boot_logo() {
|
|||
GLOBAL_GET("rendering/environment/defaults/default_clear_color"));
|
||||
}
|
||||
|
||||
String Main::get_rendering_driver_name() {
|
||||
return rendering_driver;
|
||||
}
|
||||
|
||||
String Main::get_locale_override() {
|
||||
return locale;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue