Bug 71573 - freedreno couldn't built on armv7
Summary: freedreno couldn't built on armv7
Status: RESOLVED NOTOURBUG
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Gallium/Freedreno (show other bugs)
Version: 9.2
Hardware: ARM Linux (All)
: high critical
Assignee: Rob Clark
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-11-13 12:17 UTC by Igor Gnatenko
Modified: 2014-07-04 10:00 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Igor Gnatenko 2013-11-13 12:17:35 UTC
Full build log: http://kojipkgs.fedoraproject.org//work/tasks/4709/6174709/build.log

we're using latest release of libdrm (2.4.47) w/ enabled freedreno experimental api

I've tried to build latest git snapshot from mesa 9.2 branch

[snipped]

  CC       fd2_draw.lo
In file included from fd2_util.h:32:0,
                 from fd2_texture.h:38,
                 from fd2_context.c:37:
../../../../../src/gallium/drivers/freedreno/freedreno_util.h: In function 'OUT_RELOC':
../../../../../src/gallium/drivers/freedreno/freedreno_util.h:101:2: error: implicit declaration of function 'fd_ringbuffer_emit_reloc' [-Werror=implicit-function-declaration]
  fd_ringbuffer_emit_reloc(ring, bo, offset, or);
  ^
../../../../../src/gallium/drivers/freedreno/freedreno_util.h: In function 'OUT_RELOCS':
../../../../../src/gallium/drivers/freedreno/freedreno_util.h:113:2: error: implicit declaration of function 'fd_ringbuffer_emit_reloc_shift' [-Werror=implicit-function-declaration]
  fd_ringbuffer_emit_reloc_shift(ring, bo, offset, or, shift);
  ^
../../../../../src/gallium/drivers/freedreno/freedreno_util.h: In function 'OUT_IB':
../../../../../src/gallium/drivers/freedreno/freedreno_util.h:146:2: error: too few arguments to function 'fd_ringbuffer_emit_reloc_ring'
  fd_ringbuffer_emit_reloc_ring(ring, start);
  ^
In file included from ../../../../../src/gallium/drivers/freedreno/freedreno_screen.h:33:0,
                 from ../../../../../src/gallium/drivers/freedreno/freedreno_context.h:38,
                 from fd2_context.h:32,
                 from fd2_context.c:30:
/usr/include/freedreno/freedreno_ringbuffer.h:75:6: note: declared here
 void fd_ringbuffer_emit_reloc_ring(struct fd_ringbuffer *ring,
      ^
cc1: some warnings being treated as errors
gmake[4]: *** [fd2_context.lo] Error 1

[/snipped]
Comment 1 Rob Clark 2013-11-13 14:44:10 UTC
oh, hmm.. looks like 9.2 branch needs some patches backported from master (10.0 branch should be ok).

I'll put together an updated 9.2 branch with the patches needed.  In the short term you could probably put the patches in the mesa package for f20.  But I'll see if I can figure out about getting these pushed to upstream 9.2 branch.
Comment 2 Rob Clark 2013-11-13 15:19:24 UTC
ok, I've pushed a 9.2-freedreno branch to my github tree, which has enough to build with latest libdrm:

https://github.com/freedreno/mesa/commits/9.2-freedreno

it isn't quite enough to run gnome-shell (a bunch more patches from master or 10.0 would be needed for that), but I guess if f20 moves to mesa 10 at some point in the near future we shouldn't worry about that.
Comment 3 Igor Gnatenko 2013-11-13 21:10:44 UTC
(In reply to comment #2)
> ok, I've pushed a 9.2-freedreno branch to my github tree, which has enough
> to build with latest libdrm:
> 
> https://github.com/freedreno/mesa/commits/9.2-freedreno
> 
> it isn't quite enough to run gnome-shell (a bunch more patches from master
> or 10.0 would be needed for that), but I guess if f20 moves to mesa 10 at
> some point in the near future we shouldn't worry about that.

Rob, thank you for quick response! I'll test this patches today and update mesa in F20 and will start discussion about mesa 10.0 there.
Comment 4 Rob Clark 2013-11-13 21:17:10 UTC
(In reply to comment #3)
> (In reply to comment #2)
> > ok, I've pushed a 9.2-freedreno branch to my github tree, which has enough
> > to build with latest libdrm:
> > 
> > https://github.com/freedreno/mesa/commits/9.2-freedreno
> > 
> > it isn't quite enough to run gnome-shell (a bunch more patches from master
> > or 10.0 would be needed for that), but I guess if f20 moves to mesa 10 at
> > some point in the near future we shouldn't worry about that.
> 
> Rob, thank you for quick response! I'll test this patches today and update
> mesa in F20 and will start discussion about mesa 10.0 there.

Hey, just a quick heads up, once mesa is updated to build w/ libdrm, there is now a msm_dri.so to install in addition to kgsl_dri.so.  (The former is for upstream msm drm/kms driver, and latter is for downstream android kgsl kernel driver.)  I had actually started to look at updating mesa.spec the other day, but then got distracted.

Also, I've sent request to merge the missing freedreno patches to 9.2 branch, so when mesa-9.2.4 tag is avail, it should in theory contain the missing patches.
Comment 5 Igor Gnatenko 2013-11-14 06:14:59 UTC
(In reply to comment #4)
> (In reply to comment #3)
> > (In reply to comment #2)
> > > ok, I've pushed a 9.2-freedreno branch to my github tree, which has enough
> > > to build with latest libdrm:
> > > 
> > > https://github.com/freedreno/mesa/commits/9.2-freedreno
> > > 
> > > it isn't quite enough to run gnome-shell (a bunch more patches from master
> > > or 10.0 would be needed for that), but I guess if f20 moves to mesa 10 at
> > > some point in the near future we shouldn't worry about that.
> > 
> > Rob, thank you for quick response! I'll test this patches today and update
> > mesa in F20 and will start discussion about mesa 10.0 there.
> 
> Hey, just a quick heads up, once mesa is updated to build w/ libdrm, there
> is now a msm_dri.so to install in addition to kgsl_dri.so.  (The former is
> for upstream msm drm/kms driver, and latter is for downstream android kgsl
> kernel driver.)  I had actually started to look at updating mesa.spec the
> other day, but then got distracted.
> 
> Also, I've sent request to merge the missing freedreno patches to 9.2
> branch, so when mesa-9.2.4 tag is avail, it should in theory contain the
> missing patches.

I've used today 9.2 branch (9.2.3 release), applied 17 patches for freedreno from you repo, but it's not built.

log: http://kojipkgs.fedoraproject.org//work/tasks/6878/6176878/build.log
Comment 6 Rob Clark 2013-11-14 12:41:21 UTC
(In reply to comment #5)
> I've used today 9.2 branch (9.2.3 release), applied 17 patches for freedreno
> from you repo, but it's not built.
> 
> log: http://kojipkgs.fedoraproject.org//work/tasks/6878/6176878/build.log

hmm, somehow that looks like you are now building with new mesa and old libdrm
Comment 7 Igor Gnatenko 2014-07-04 10:00:53 UTC
Yes. Old libdrm.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.