Bug 21173 - fbFetch_a8() using SSE2
Summary: fbFetch_a8() using SSE2
Status: RESOLVED FIXED
Alias: None
Product: pixman
Classification: Unclassified
Component: pixman (show other bugs)
Version: other
Hardware: Other All
: medium normal
Assignee: Søren Sandmann Pedersen
QA Contact: Søren Sandmann Pedersen
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-04-14 07:57 UTC by Steve Snyder
Modified: 2011-02-03 00:26 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
SSE2-ify fbFetch_a8() (1.93 KB, patch)
2009-04-14 07:57 UTC, Steve Snyder
Details | Splinter Review

Description Steve Snyder 2009-04-14 07:57:27 UTC
Created attachment 24789 [details] [review]
SSE2-ify fbFetch_a8()

While profiling Firefox I saw fbFetch_a8() in the profiler output.  It wasn't terribly high on the list of timed functions, but improving fbFetch_a8() seemed easy.

The fbFetch_a8() function reads a byte from a source buffer, shifts it up by 24 bits and writes the 32-bit value to the dest buffer.  One pixel is handled per loop.

The attached (SSE2 instructions required) patch changes this behavior to read-shift-write 16 pixels per loop.  The original code is retained to clean up stray (<16 remaining) pixels.
Comment 1 Søren Sandmann Pedersen 2011-02-03 00:26:37 UTC
Fixed in master.


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.