[Pixman] Pixman library on wince arm

PS block111 at mail.ru
Wed Sep 22 14:54:17 PDT 2010

Thu, 23 Sep 2010 01:42:43 +0400 письмо от PS <block111 at mail.ru>:

> > > The question I have is simple: the function
> pixman_composite_over_n_8888_asm_##cpu takes height as the second (AFAIK)
> parameter, it has some logic to handle height and line stride. Is there a
> function that does the same but operates on single lines? That function
> wouldn't need to know dst_stride and height, all I'd need to pass is
> the dst_line, width, and color.
> > 
> > Just pass in a height of 1. The stride will then be irrelevant.
> > 
> > In any case, I think you may be overcomplicating things. All the
> > things that Pixman is designed to do are accessible from the
> > definitions in <pixman.h>.
> > 
> >  - Jonathan Morton
> > 
> Off course, I pass 1 for height :) but then there is almost no performance
> improvement from that neon-asm code. Regular c function (inlined
> while(bits<bits_end){ ...} loop) is only around 10-15% slower.
> It took me like 5 minutes to create
> pixman_composite_line_over_n_8888_asm_sse2(int32_t width, uint32_t * dst_line,
> uint32_t src) from sse2_composite_over_n_8888, but it's kind of unclear
> how I could write similar function for arm-neon

I think I didn't search enough (too lazy to scroll a few more lines down from .macro generate_composite_function).
The next macro in pixman-arm-neon-asm.h is what I was asking about, seems that it does what I really need (probably these pixman combine functions deal with cases like mine):

 * A simplified variant of function generation template for a single
 * scanline processing (for implementing pixman combine functions)
.macro generate_composite_function_single_scanline



More information about the Pixman mailing list