[Pixman] Pixman on iOS

cu cairouser at yahoo.com
Sun Jul 24 19:02:59 PDT 2011


It's been a while - but I am finally at a point where this is going to
become project of the day.

Are there any recent changes to be aware of, in particular:
- A known good version of binutils objdump?
- Anything new wrt. erroneous decoding of instructions or any other
caveats that make using most recent pixman impossible?

My plan is to go through the pre-processing, get a working .S assembly
file and, provided it actually works for iOS, return it to the "public"
(i.e it could be checked into the source with appropriate disclaimers,
as you have suggested)

Thank you,
--cu

Siarhei Siamashka wrote:
> Thanks for the link, it's clearly interesting. Unfortunately this
> script seems to be choking on 'pixman-arm-neon-asm.S', so it might
> need to be improved a bit.
>
> I also experimented with solving a similar problem in a bit different
> way some time ago after Mozilla folks expressed some concerns on IRC
> regarding whether the new pixman NEON optimizations would be also
> usable on Windows Mobile. This Windows Mobile topic died eventually,
> but my old script is still available here:
> http://cgit.freedesktop.org/~siamashka/pixman/commit/?h=objdump2s&id=7eab8ae70780974bddff4b623549647f536011ca
>
> The usage is simple. First one needs to do a normal build of pixman
> for ARM linux, so that the library with object files in ELF format is
> generated for NEON optimizations in
> 'pixman/.libs/libpixman-arm-neon.a'. Then run:
>
> $ arm-none-gnueabi-objdump -d pixman/.libs/libpixman-arm-neon.a > objdump.log
> $ ruby objdump2s.rb objdump.log > pixman/pixman-arm-neon-asm.S
>
> As a result, 'pixman/pixman-arm-neon-asm.S' should now contain the
> NEON assembly source file with all macros expanded.
>
> I have just tested it, and everything seems to work fine (compiling it
> for ARM linux again) except for two problems:
> 1. objdump from binutils 2.21 seems to have proken alignment
> specifiers (2.20.1 is fine)
> 2. all versions of objdump that I have seem to disassemble 'vshll.u16'
> instruction incorrectly and this instruction is used by the new
> bilinear fast path, a temporary solution is to try pixman-2.21.6 which
> does not have bilinear optimizations yet
>
> And the final note. If anyone would want to redistribute this
> preprocessed file for whatever purpose, preserving the original
> copyright header and also adding a notice that it is not the original
> source but an autogenerated file would be really appreciated. As well
> as also having a reference to the original source or including it
> verbatim.
>
>   
>



More information about the Pixman mailing list