Below is the dEQP result for all the dEQP-EGL.*swap_interval tests 11-11 18:22:44.164 12737 12737 I dEQP : Device has at least 832.00 MiB total system memory per Android CDD 11-11 18:22:44.164 12737 12737 I dEQP : Writing test log into /sdcard/dEQP-Log.qpa 11-11 18:22:44.165 12737 12737 I dEQP : dEQP Core unknown (0xcafebabe) starting.. 11-11 18:22:44.165 12737 12737 I dEQP : target implementation = 'android' 11-11 18:22:44.329 12737 12760 I dEQP : 11-11 18:22:44.329 12737 12760 I dEQP : Test case 'dEQP-EGL.functional.query_config.get_config_attrib.max_swap_interval'.. 11-11 18:22:44.391 12737 12760 I dEQP : Pass (Pass) 11-11 18:22:44.392 12737 12760 I dEQP : 11-11 18:22:44.392 12737 12760 I dEQP : Test case 'dEQP-EGL.functional.query_config.get_config_attrib.min_swap_interval'.. 11-11 18:22:44.421 12737 12760 I dEQP : Pass (Pass) 11-11 18:22:44.421 12737 12760 I dEQP : 11-11 18:22:44.421 12737 12760 I dEQP : Test case 'dEQP-EGL.functional.choose_config.simple.selection_only.max_swap_interval'.. 11-11 18:22:44.429 12737 12760 I dEQP : Pass (Pass) 11-11 18:22:44.429 12737 12760 I dEQP : 11-11 18:22:44.429 12737 12760 I dEQP : Test case 'dEQP-EGL.functional.choose_config.simple.selection_only.min_swap_interval'.. 11-11 18:22:44.437 12737 12760 I dEQP : Pass (Pass) 11-11 18:22:44.437 12737 12760 I dEQP : 11-11 18:22:44.437 12737 12760 I dEQP : Test case 'dEQP-EGL.functional.choose_config.simple.selection_and_sort.max_swap_interval'.. 11-11 18:22:44.444 12737 12760 I dEQP : Pass (Pass) 11-11 18:22:44.444 12737 12760 I dEQP : 11-11 18:22:44.444 12737 12760 I dEQP : Test case 'dEQP-EGL.functional.choose_config.simple.selection_and_sort.min_swap_interval'.. 11-11 18:22:44.451 12737 12760 I dEQP : Pass (Pass) 11-11 18:22:44.618 12737 12760 I dEQP : 11-11 18:22:44.618 12737 12760 I dEQP : Test case 'dEQP-EGL.functional.negative_api.swap_interval'.. 11-11 18:22:44.621 12737 12760 I dEQP : Pass (Pass) 11-11 18:22:44.645 12737 12760 I dEQP : 11-11 18:22:44.645 12737 12760 I dEQP : DONE! 11-11 18:22:44.645 12737 12760 I dEQP : 11-11 18:22:44.645 12737 12760 I dEQP : Test run totals: 11-11 18:22:44.645 12737 12760 I dEQP : Passed: 7/7 (100.0%) 11-11 18:22:44.645 12737 12760 I dEQP : Failed: 0/7 (0.0%) 11-11 18:22:44.645 12737 12760 I dEQP : Not supported: 0/7 (0.0%) 11-11 18:22:44.645 12737 12760 I dEQP : Warnings: 0/7 (0.0%) 11-11 18:22:45.097 12737 12737 I dEQP : Done, killing process
-----Original Message----- From: Wu, Zhongmin Sent: Thursday, January 18, 2018 15:39 To: mesa-dev@lists.freedesktop.org Cc: tf...@chromium.org; r...@kernel.org; emil.l.veli...@gmail.com; Liu, Zhiquan <zhiquan....@intel.com>; Long, Zhifang <zhifang.l...@intel.com>; Kondapally, Kalyan <kalyan.kondapa...@intel.com>; Palli, Tapani <tapani.pa...@intel.com>; Xu, Randy <randy...@intel.com>; Wu, Zhongmin <zhongmin...@intel.com>; Eric Engestrom <e...@engestrom.ch>; Bhardwaj, MunishX <munishx.bhard...@intel.com>; Kps, Harish Krupo <harish.krupo....@intel.com>; Chad Versace <chadvers...@chromium.org> Subject: [PATCH v2] egl/android: Implement the eglSwapinterval for Android. Implement the eglSwapinterval for Android platform to enable the async mode for some GFX benchmarks such as Daimler C217, CityBench. Signed-off-by: Zhongmin Wu <zhongmin...@intel.com> --- src/egl/drivers/dri2/platform_android.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/egl/drivers/dri2/platform_android.c b/src/egl/drivers/dri2/platform_android.c index f6a24cd..3a64689 100644 --- a/src/egl/drivers/dri2/platform_android.c +++ b/src/egl/drivers/dri2/platform_android.c @@ -476,6 +476,20 @@ droid_destroy_surface(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surf) return EGL_TRUE; } +static EGLBoolean +droid_swap_interval(_EGLDriver *drv, _EGLDisplay *dpy, + _EGLSurface *surf, EGLint interval) { + struct dri2_egl_surface *dri2_surf = dri2_egl_surface(surf); + struct ANativeWindow *window = dri2_surf->window; + + if (window->setSwapInterval(window, interval)) + return EGL_FALSE; + + surf->SwapInterval = interval; + return EGL_TRUE; +} + static int update_buffers(struct dri2_egl_surface *dri2_surf) { @@ -1300,6 +1314,7 @@ static const struct dri2_egl_display_vtbl droid_display_vtbl = { .swap_buffers = droid_swap_buffers, .swap_buffers_with_damage = dri2_fallback_swap_buffers_with_damage, /* Android implements the function */ .swap_buffers_region = dri2_fallback_swap_buffers_region, + .swap_interval = droid_swap_interval, #if ANDROID_API_LEVEL >= 23 .set_damage_region = droid_set_damage_region, #else @@ -1443,6 +1458,12 @@ dri2_initialize_android(_EGLDriver *drv, _EGLDisplay *dpy) dri2_setup_screen(dpy); + /* we set the maximum swap interval as 1 for Android platform, Since + it is the maximum value supported by Android according to the + value of ANativeWindow::maxSwapInterval. + */ + dri2_setup_swap_interval(dpy, 1); + if (!droid_add_configs_for_visuals(drv, dpy)) { err = "DRI2: failed to add configs"; goto cleanup; -- 2.7.4
dEQP-Log.qpa
Description: dEQP-Log.qpa
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev