FS#5740 - X5 LCD Performance / Features Upgrade / Bug Fix

Attached to Project: Rockbox
Opened by Michael Sevakis (MikeS) - Sunday, 30 July 2006, 06:14 GMT
Task Type Patches
Category Drivers
Status Closed
Assigned To No-one
Operating System iAudio X5
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


Speeds up the X5 LCD driver functions and implements all remaining APIs except lcd_blit and contains the bug fix found in  FS#5734 . The driver patch will be updated if the said bug fix is committed first.

The bootloader gets smaller versions of the lcd_update_* functions (less unrolling of loops).

x5-lcd-performance-before-and-after.txt show a table of framerates gathered using test_fps with the best of three runs for each data point. Should be self-explanatory. contains a test plugin to test the lcd functions that were changed/added. It exposes some APIs needed by the plugin. Remove the patch included in the zip before committing.
This task depends upon

Closed by  Linus Nielsen Feltzing (linusnielsen)
Monday, 31 July 2006, 23:00 GMT
Reason for closing:  Fixed
Comment by Michael Sevakis (MikeS) - Sunday, 30 July 2006, 08:11 GMT
Here's an updated version. I removed the call to lcd_update in lcd_roll because I think it is a bad idea to force an update because the developer should decide when to update the display. Had to change the plugin as a result. All subsequent drawing operations are still transformed as they should be.

That's the only qualm I had so pick the way you like it better.
Comment by Rani Hod (RaeNye) - Monday, 31 July 2006, 19:39 GMT
please sync, #5734 was commited.

BTW, I previously tried Duff's device as well but I got no FPS gain since I had to take the code out of IRAM.
It's nice to see you got better results :)
Comment by Michael Sevakis (MikeS) - Monday, 31 July 2006, 21:51 GMT
Removing the lookup table gave me room to roam!

Here it is resynced with contrast change.