[ scummvm-Patches-1714659 ] WINCE: ARM version of screen rotation fn for SDL lib

SourceForge.net noreply at sourceforge.net
Tue May 8 02:17:47 CEST 2007


Patches item #1714659, was opened at 2007-05-08 00:17
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=418822&aid=1714659&group_id=37116

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Robin Watts (robinwatts)
Assigned to: Nobody/Anonymous (nobody)
Summary: WINCE: ARM version of screen rotation fn for SDL lib

Initial Comment:
The Wince port of Scummvm relies on a port of SDL, and in particular the video interface it provides implemented using GAPI.

The central part of this routine that blits stuff to the screen is GAPI_UpdateRects. This patch implements the two rotated cases of that blit in ARM code in the most cache friendly way I know how.

Screen memory is uncached generally, so the key to getting performance out should be to make use of the write buffer. At the same time, we have to be sure that we don't blow through the data cache as we read through source lines.

The ARM code routine enclosed reads and writes 4 pixels at a time in such a way that the write buffer should merge writes for the most efficient operation possible. Reading should use 4 cache lines at a time, so should make nice use of the cache too.

My next job is to do some timings to prove that this patch is genuinely faster, but I thought I'd upload it here in advance for safekeeping.



----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=418822&aid=1714659&group_id=37116




More information about the Scummvm-tracker mailing list