mirror of
https://github.com/MobileGL-Dev/MobileGlues.git
synced 2025-09-23 03:04:03 -04:00
[Fix] (settings): better multidraw emulation mode check
This commit is contained in:
parent
29349374ca
commit
f3e9fb7eb3
@ -172,16 +172,19 @@ void init_settings_post() {
|
|||||||
if (indirect) {
|
if (indirect) {
|
||||||
global_settings.multidraw_mode = multidraw_mode_t::PreferIndirect;
|
global_settings.multidraw_mode = multidraw_mode_t::PreferIndirect;
|
||||||
LOG_V(" -> Indirect (OK)")
|
LOG_V(" -> Indirect (OK)")
|
||||||
|
} else if (basevertex) {
|
||||||
|
global_settings.multidraw_mode = multidraw_mode_t::PreferBaseVertex;
|
||||||
|
LOG_V(" -> BaseVertex (Preferred not supported, falling back)")
|
||||||
} else {
|
} else {
|
||||||
global_settings.multidraw_mode = multidraw_mode_t::DrawElements;
|
global_settings.multidraw_mode = multidraw_mode_t::DrawElements;
|
||||||
LOG_V(" -> DrawElements (Preferred not supported, falling back)")
|
LOG_V(" -> DrawElements (Preferred not supported, falling back)")
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case multidraw_mode_t::PreferBaseVertex:
|
case multidraw_mode_t::PreferBaseVertex:
|
||||||
LOG_V("multidrawMode = PreferUnroll")
|
LOG_V("multidrawMode = PreferBaseVertex")
|
||||||
if (basevertex) {
|
if (basevertex) {
|
||||||
global_settings.multidraw_mode = multidraw_mode_t::PreferBaseVertex;
|
global_settings.multidraw_mode = multidraw_mode_t::PreferBaseVertex;
|
||||||
LOG_V(" -> Unroll (OK)")
|
LOG_V(" -> BaseVertex (OK)")
|
||||||
} else if (multidraw) {
|
} else if (multidraw) {
|
||||||
global_settings.multidraw_mode = multidraw_mode_t::PreferMultidrawIndirect;
|
global_settings.multidraw_mode = multidraw_mode_t::PreferMultidrawIndirect;
|
||||||
LOG_V(" -> MultidrawIndirect (Preferred not supported, falling back)")
|
LOG_V(" -> MultidrawIndirect (Preferred not supported, falling back)")
|
||||||
@ -202,13 +205,16 @@ void init_settings_post() {
|
|||||||
LOG_V("multidrawMode = Auto")
|
LOG_V("multidrawMode = Auto")
|
||||||
if (multidraw) {
|
if (multidraw) {
|
||||||
global_settings.multidraw_mode = multidraw_mode_t::PreferMultidrawIndirect;
|
global_settings.multidraw_mode = multidraw_mode_t::PreferMultidrawIndirect;
|
||||||
LOG_V(" -> MultidrawIndirect")
|
LOG_V(" -> MultidrawIndirect (Auto detected)")
|
||||||
} else if (indirect) {
|
} else if (indirect) {
|
||||||
global_settings.multidraw_mode = multidraw_mode_t::PreferIndirect;
|
global_settings.multidraw_mode = multidraw_mode_t::PreferIndirect;
|
||||||
LOG_V(" -> Indirect (Preferred not supported, falling back)")
|
LOG_V(" -> Indirect (Auto detected)")
|
||||||
|
} else if (basevertex) {
|
||||||
|
global_settings.multidraw_mode = multidraw_mode_t::PreferBaseVertex;
|
||||||
|
LOG_V(" -> BaseVertex (Auto detected)")
|
||||||
} else {
|
} else {
|
||||||
global_settings.multidraw_mode = multidraw_mode_t::DrawElements;
|
global_settings.multidraw_mode = multidraw_mode_t::DrawElements;
|
||||||
LOG_V(" -> DrawElements (Preferred not supported, falling back)")
|
LOG_V(" -> DrawElements (Auto detected)")
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user