On 20 June 2017 at 23:03, Chad Versace <[email protected]> wrote:
> Many Android apps (such as Google's official NDK GLES2 example app), and
> even portions the core framework code (such as SystemServiceManager in
> Nougat), incorrectly choose their EGLConfig.  They neglect to match the
> EGLConfig's EGL_NATIVE_VISUAL_ID against the window's native format, and
> instead choose the first EGLConfig whose channel sizes match those of
> the native window format while ignoring the channel *ordering*.
>
> We can detect such buggy clients in logcat when they call
> eglCreateSurface, by detecting the mismatch between the EGLConfig's
> format and the window's format.
>
> As a workaround, this patch changes the order of EGLConfig generation
> such that all EGLConfigs for HAL pixel format i precede those for HAL
> pixel format i+1. In my (chadversary) testing on Android Nougat, this
> was good enough to pacify the buggy clients.
>
> v2: Rebase to make patch cherry-pickable to stable.
>
> Cc: [email protected]
> Cc: Tomasz Figa <[email protected]>
> Cc: Rob Herring <[email protected]>
> Cc: Tapani Pälli <[email protected]>
> Cc: Emil Velikov <[email protected]>
Thanks Chad.

Reviewed-by: Emil Velikov <[email protected]>

-Emil
_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to