summaryrefslogtreecommitdiff
path: root/src/modules/evas/engines/gl_x11/evas_x_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/evas/engines/gl_x11/evas_x_main.c')
-rw-r--r--src/modules/evas/engines/gl_x11/evas_x_main.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/modules/evas/engines/gl_x11/evas_x_main.c b/src/modules/evas/engines/gl_x11/evas_x_main.c
index 10ab397c9d..b86916966b 100644
--- a/src/modules/evas/engines/gl_x11/evas_x_main.c
+++ b/src/modules/evas/engines/gl_x11/evas_x_main.c
@@ -345,6 +345,13 @@ try_gles2:
345 eng_window_free(gw); 345 eng_window_free(gw);
346 return NULL; 346 return NULL;
347 } 347 }
348 // nvidia drivers in egl/gles mode dont need re-creating of the
349 // eglimage ... and doign so is super slow on them, so avoid the
350 // multi buffer path - as it's only for nvidia and this fixes
351 // the performance regression there, it's fairly safe to do
352 // as it's not universal across all drivers.
353 if (strstr((const char *)vendor, "NVIDIA"))
354 gw->detected.no_multi_buffer_native = 1;
348 355
349 eglGetConfigAttrib(gw->egl_disp, gw->egl_config, EGL_DEPTH_SIZE, &val); 356 eglGetConfigAttrib(gw->egl_disp, gw->egl_config, EGL_DEPTH_SIZE, &val);
350 gw->detected.depth_buffer_size = val; 357 gw->detected.depth_buffer_size = val;