summaryrefslogtreecommitdiff
path: root/apps/plugins/lib/gray_draw.c (follow)
Commit message (Collapse)AuthorAge
* The old grayscale library is now officially dead.Jens Arnold2008-01-13
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16067 a1c6a512-1295-4272-9138-f99709370657
* Fix empty commit: Add grayscale support for ARM in vertical packing format.Tomasz Malesinski2007-09-22
| | | | | | | Enable grayscale for Iriver ifp. Fix timer_unregister for PNX0101. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14825 a1c6a512-1295-4272-9138-f99709370657
* Grayscale lib: Using a 32x32->32 bit multiplication is better on ARM, as ↵Jens Arnold2006-11-05
| | | | | | 16x16->32 bit isn't a single instruction. Renamed the macro for pointing out that it's not necessarily 16 bit anymore, and to avoid collisions with similar macros in plugins. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11436 a1c6a512-1295-4272-9138-f99709370657
* * Use fast multiplication macro in some more places. * Better pipelining on SH1.Jens Arnold2006-08-19
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10652 a1c6a512-1295-4272-9138-f99709370657
* Better implementation of the new greyscale algorithm. A bit faster (+2% on ↵Jens Arnold2006-08-11
| | | | | | iPod and Archos, +7% on Iriver H1x0), and more straightforward. * Fixed garbage display when a plugin switches on the overlay before drawing anything. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10534 a1c6a512-1295-4272-9138-f99709370657
* New algorithm for grayscale buffer updates which is faster for large buffer ↵Jens Arnold2006-08-11
| | | | | | depths. Speedup (unbuffered, depth==32): +8% on H1x0, +17% on Recorder (depth==24), and +83% on iPod Mini. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10529 a1c6a512-1295-4272-9138-f99709370657
* ARM targets: Shave off one instruction from the multiply-by-75.Jens Arnold2006-08-09
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10503 a1c6a512-1295-4272-9138-f99709370657
* * Assembler optimised gray_update_rect() and writearray() for arm (greyscale ↵Jens Arnold2006-08-07
| | | | | | iPods). * Some slight optimisations for coldfire (H1x0) and SH1 (archos). * Comment and formatting cleanup. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10473 a1c6a512-1295-4272-9138-f99709370657
* Grayscale library ported to the grayscale iPods, first version. Added C ↵Jens Arnold2006-08-07
| | | | | | reference versions of gray_update_rect() for both horizontal and vertical pixel packing. gray_update_rect() and gray_ub_gray_bitmap_part() not yet assembler optimised. Grayscale screendump doesn't work yet. * Fixed button assignments for iPod in grayscale.c git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10468 a1c6a512-1295-4272-9138-f99709370657
* Grayscale library: LCD linearisation and gamma correction.Jens Arnold2006-08-02
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10402 a1c6a512-1295-4272-9138-f99709370657
* SH1: Better placement of the C library routine references (gcc 3.4.x -Os and ↵Jens Arnold2006-04-20
| | | | | | -O2 proof). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9748 a1c6a512-1295-4272-9138-f99709370657
* Finally - grayscale library support for the simulators. Currently SDL only, ↵Jens Arnold2006-02-26
| | | | | | win32 and x11 won't link anymore due to missing simulator functions. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8845 a1c6a512-1295-4272-9138-f99709370657
* Apply same optimisation as for the core lcd drivers.Jens Arnold2006-02-23
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8797 a1c6a512-1295-4272-9138-f99709370657
* Fixed warnings on iFP.Tomasz Malesinski2006-02-03
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8550 a1c6a512-1295-4272-9138-f99709370657
* Bugfix: gray_putsxyofs() couldn't have worked beforeJens Arnold2006-01-23
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8432 a1c6a512-1295-4272-9138-f99709370657
* Slight optimisation of gray_mono_bitmap_part() (only affects H1x0).Jens Arnold2005-11-25
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8064 a1c6a512-1295-4272-9138-f99709370657
* H1x0: Slight optimisation of the grayscale library.Jens Arnold2005-10-20
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7646 a1c6a512-1295-4272-9138-f99709370657
* Fixed some misleading comments.Jens Arnold2005-10-10
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7608 a1c6a512-1295-4272-9138-f99709370657
* Grayscale lib on archos: Fixed bug introduced with the register usage ↵Jens Arnold2005-10-03
| | | | | | change. Reusing a register twice won't work that well... git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7577 a1c6a512-1295-4272-9138-f99709370657
* Core: A graphics framework can now register a hook function to extend the ↵Jens Arnold2005-10-01
| | | | | | core screendump routine. * Grayscale library: (1) Changed the screendump routine into a hook, and implemented it for H1x0. (2) The planar pixel setting routines now use one register less. Fixes build problem with developer builds (frame pointers enabled) on coldfire. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7574 a1c6a512-1295-4272-9138-f99709370657
* H1x0: Changed lcd_blit() and the grayscale library to use the same internal ↵Jens Arnold2005-09-30
| | | | | | format as on archos (1bpp). While the slowdown of the ISR is minimal (the intermediate buffers are in IRAM), the planar grayscale buffer takes only half the space for a given depth, and gray_update[_rect]() and unbuffered drawing/scrolling are faster because less data needs to be moved. It should also make porting of video.rock somewhat easier. * Archos recorders, Ondios: Some slight optimisations of the grayscale library. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7571 a1c6a512-1295-4272-9138-f99709370657
* Grayscale library: (1) Ported to iriver H1x0. Experiments have shown that ↵Jens Arnold2005-07-27
| | | | | | the intended 49-shade mode isn't possible due to interference between the internal greylevel generation of the LCD and external pixel flipping, so the lib allows 33 shades as on the Archos. The current implementation wastes RAM by not switching the LCD to b&w mode and simply using colours 0 and 3 only. However, this allows to show a partial greyscale overlay and normal 4-shade graphics in parallel. (2) Converted all asm blocks to use symbolic parameters. (3) Properly marked asm input parameters that are changed within the block as in-out and feed them from a temp variable where necessary. (4) Screenshot is not yet working on H1x0. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7244 a1c6a512-1295-4272-9138-f99709370657
* Complete rework of the grayscale library: (1) Implemented the new rockbox ↵Jens Arnold2005-07-25
graphics api. (2) Added buffered mode, and implemented most drawing functions for buffered mode only. Buffered mode will ease implementation of animated graphics. Some functions are additionally provided as unbuffered versions (drawing grayscale bitmaps, scrolling) since unbuffered mode is better suited for non-animated graphics (JPEG viewer, mandelbrot) and saves some RAM, which is important on Archos. (3) Put all functions in a couple of source files, no more one-function-per-files. This became possible since sectioned compilation for the plugin library and appropriate linking for the pluginswas introduced, otherwise the binaries would be bloated by unused functions. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7241 a1c6a512-1295-4272-9138-f99709370657