EGL/GLES with Linux Framebuffer

363 views
Skip to first unread message

Jasbir

unread,
Dec 23, 2014, 2:51:57 AM12/23/14
to ozon...@chromium.org
I have seen some threads which lightly touch on the subject of the framebuffer support and unfortunately I'm still unclear about the ozone design.

If my device has no drm/kms support but supports rendering through egl/gles to a framebuffer (/dev/fb0). Is it the responsibility of OzonePlatform to return a valid NativeDisplayType/NativeWindowType or just a file handle to the frame buffer? I presume SurfaceFactoryOzone would be responsible for creating a surface (EGLSurface). What's also not clear is who is  responsible for a redraw (eglSwapBuffers) ?

Michael Spang

unread,
Dec 24, 2014, 10:42:28 AM12/24/14
to Jasbir, ozon...@chromium.org


On Dec 23, 2014 2:51 AM, "Jasbir" <jasb...@gmail.com> wrote:
>
> I have seen some threads which lightly touch on the subject of the framebuffer support and unfortunately I'm still unclear about the ozone design.
>
> If my device has no drm/kms support but supports rendering through egl/gles to a framebuffer (/dev/fb0). Is it the responsibility of OzonePlatform to return a valid NativeDisplayType/NativeWindowType or just a file handle to the frame buffer?

The former.

> I presume SurfaceFactoryOzone would be responsible for creating a surface (EGLSurface).

Not quite... this class is indirectly responsible for creating (or providing) the EGLNativeWindow. The EGLSurface itself is created from ui/gl/gl_surface_ozone.cc.

> What's also not clear is who is  responsible for a redraw (eglSwapBuffers) ?

The compositor is responsible for driving this. The platform only provides vsync timing information to help inform the compositor scheduling.

Michael

Reply all
Reply to author
Forward
0 new messages