[Dev] H/W acceleration and OpenGL related changes

Carsten Haitzler c.haitzler at samsung.com
Tue Jan 5 00:24:53 GMT 2016


On Mon, 04 Jan 2016 19:07:56 +0530 (IST)
Shahul Ahamed Shaik <shahulahamed.shaik at incubesol.com> wrote:

> Hi,
> 
> I was trying to enable H/W acceleration on a custom board. I have the
> S/W based version up and running and now I am trying to understand
> the changes required for H/W acceleration. Can you please let me know
> the answers to the following question or any links/documents that
> would help me with this task.
> 
> 1. Is DRM compulsory to enable HW acceleration or can we use
> framebuffer?

no, but you will have to support tbm. if by framebuffer you mean fbdev
(/dev/fb) then you are going to have exceedingly poor acceleration as
you dont have vsync support there without kms+drm etc.

> 2. How does EVAS determine weather to use S/W rendering
> or H/W rendering?

evas is asked which engine to use explicitly. there are a range of
engines, buffer (rendering using cpu into in-memory buffers),
software-x11 (use cpu - target x11 display), opengl-x11 (opengl/es +
x11 target) wayland_shm (wayland target, using cpu and shm buffers),
wayland_egl (wayland target, opengl(es) rendering), drm (direct to
drm+kms hw fb devices)...

whoever uses evas decides. the compositor (enlightenment) chooses based
on its config - if its a wayland compositor or an x11 compositor.

apps will decide partly by elementary choosing based on its
configuration and environment variables, as well as apps being able to
explicitly request an accelerated (opengl) engine.

> 3. Is there a refrence code for OpenGL's H/W
> specific code for ARM or emulator?

you need to figure this out depending on your gpu target. as such
opengl libraries (libegfl, libgles etc.) are in whole provided as
binary blobs by most gpu vendors and oems. you need to talk to your
gpu vendor of choice about this. some gpus are supported by the open
source mesa project. this is an open source opengl library set with
support for a range of gpus. support may vary in quality depending on
the gpu in question. intel gpus tend to be some of the best supported.



More information about the Dev mailing list