[Freedreno] Freedreno: EXA acceleration?

Rob Clark robdclark at gmail.com
Thu Jan 23 18:58:45 PST 2014


On Thu, Jan 23, 2014 at 9:05 PM, Pallai Roland <pallair at magex.hu> wrote:
> Hi Rob,
>
>
> Sorry for disturbing but I'd like to ask. I followed your "Installing
> Fedora and freedreno on ifc6410" guide and everything works, my only
> problem is a log message from Xorg:
>
> [E] get-param failed! -22 (Invalid argument) (get_param:92)
> [E] get-param failed! -22 (Invalid argument) (get_param:92)
> [E] allocation failed (fd_pipe_new:43)
> (EE) freedreno(0): ERROR: fail, no 2D pipe..!

yes, there is no 2d core on the newer devices.

Currently all EXA falls back to software.  But it is enough for dri2
to work (so 3d stuff, including gl compositing window managers will be
accelerated.

> So I have no EXA acceleration, right? As I know, it depends on Mesa
> tracker XA-Freedreno which is not in the upstream Mesa, but why you do
> not include into your Fedora image? I found XA branch of your Mesa
> repo on github, it's a bit outdated. Please let me explain, why EXA
> acceleration is in this unfavorable state?

Initially there were some rendering corruption issues that XA was
triggering, which was why it was never pushed to mainline.  (That and
feedback I got from mesa-devel list was that they wanted to see a
proper generic XA loader, rather than having to build separate
xa-vmwgfx and xa-freedreno).

I think I found a workaround that the blob driver was using in similar
circumstances, so possibly this is fixable, but I just haven't had
time to revisit XA.  Ofc patches welcome :-)

Last time I had XA working, it didn't seem like a huge performance
win.  Although I suppose it should benefit from at least some of the
improvements in freedreno gallium since then.  But a tiler gpu in
particular is not really terribly ideal for lots of small EXA
composite ops (font rendering, etc).  At least we can bypass tiling
for solid fills and blits (so it will at least be good for
presentation blits for windowed 3d apps).

> My hobby project is a portable thin client mainly for ssh/spice
> sessions with fast and fluent window management on multiple
> workspaces. Seems like EXA is an important thing for that, now
> scrolling and anti-aliased font rendering in the terminal is pretty
> slow.

Probably adding support for cached GEM buffers might help out some
cases.  For small composite ops (like font rendering), I don't think
the GPU will outperform the CPU.

BR,
-R

> thanks,


More information about the Freedreno mailing list