On 03/30/2014 09:39 PM, Dr. H. Nikolaus Schaller wrote:
Hm. I thought the tiler is working completely independently of the CPU cores? So it should only be set up once by the CPU?
No, it's just bunch of logic between devices and DRAM (it's part of memory controller). You basically have part of physical address space reserved to it, where the CPU or other devices can write. When something writes there, TILER redirects that write to some location of DRAM as if it was rotated. So basically as you draw the image from CPU (or other device) to that location, rotated image is constructed somewhere in DRAM. Then the display controller (or other devices?) can fetch rotated image from DRAM and send it to the screen. It may sound good but there are problems:
1. The source image can't be linear, some padding is needed after every line so that TILER could work with it. This is a problem with some software, especially some currently on pandora, although it can be fixed or worked around it's still extra effort or performance loss. 2. Today I found out that TILER memory can't be read, reading causes data abort. Every device since GP2X could read it's framebuffer, so this sucks. Same consequences like above, could also be OMAP misconfiguration, who knows.. 3, Writing to that memory currently is real slow. As the resolution increases it becomes even slower, it's like from 60% performance hit on low resolutions to 10x slowdown for fullhd. It would look like TILER can't keep up and is halting the CPU, from OS point of view it's 100% CPU usage. 4. Writing larger blocks to tiler memory is causing DISPC FIFO underflows, which means dropped frames (really bad for gaming console). 5. Mysterious L3 error interrupts from OMAP during writes 6. Xorg crash when xf86-video-omap is used with rotation 7. Some googling shows that TILER is not working with some formats used for video
(1) and (2) can be worked around, although it's quite a bit of extra effort. For (2) shadow buffer is required with extra copying, which means wasted CPU and battery time. Unless it can be solved somehow so that read just works.. (6) should be fixable (7) needs to be investigated 2-5 look like OMAP's bugs or misconfiguration and are real difficult to debug/fix.
So I would not give up too fast. Saving a chip and reducing maximum resolution IMHO warrants investing some more time into potential software issues...
I'd much prefer the chip and lower res, all the above problems would just go away. That LG screen is clearly an overkill for me.
Grazvydas