[ scummvm-Patches-1729975 ] DS: ARM Optimised blitters/scalers

SourceForge.net noreply at sourceforge.net
Sat Jun 2 18:09:15 CEST 2007


Patches item #1729975, was opened at 2007-06-02 16:09
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=1729975&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: DS: ARM Optimised blitters/scalers

Initial Comment:
The attached file contains ARM versions of the following routines from platform/ds/arm9/source/blitters.cpp

 asmDrawStripToScreen
 asmCopy8Col
 Rescale_320x256x1555_To_256x256x1555
 Rescale_320x256xPAL8_To_256x256x1555

I should say up front that I don't personally have a DS, so I can't compile and test these - they have therefore been written blind.

All the files with the exception of the last one (which requires it's parameters reordering) should pretty much drop in as replacements for the ones that are there.

asmDrawStripToScreen: I believe this should be slightly faster - 2 cycles faster in the short loop case, 6 cycles faster in the long loop case. (Assuming that GCC is doing a perfect job - in the case where the compiler was fumbling stuff before we'll be doing better now).

asmCopy8Col: Should be at least 8 cycles a loop faster.

The rescale functions should be significantly faster too; the core calculations live entirely in registers, and I use a trick to calculate R G and B all at the same time.

If you have questions, or comments on this code, or I need to change (fix!) it please don't hesitate to contact me. 

Robin


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

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




More information about the Scummvm-tracker mailing list