On 02/04/14 18:35, Dr. H. Nikolaus Schaller wrote:
Just to make sure it's clear, there's no memory in TILER. There's just normal RAM. TILER is a "wrapper" around an area in the RAM. Reads and writes to to the TILER, get re-mapped a bit, and read/written to RAM.
What about the shared buffers between TILER and DISPC DMA mentioned in the TRM? Aren't they exactly for this situation to avoid RAM access?
The text you pasted said "Integrated shared buffers between DMA engine and pipelines". Not TILER and DISPC DMA.
I do wonder: What IS the use of TILER, if it wasn't meant to rotate a display from portrait to landscape?
What other cases are there where you need rotation?
It is meant for rotation. I meant that it's not designed to, say, make a portrait LCD look like landscape to all the applications, even with CPU doing the drawing.
A normal use case for tiler would be with a smartphone with portrait LCD. UI is drawn with SGX, and it can handle the rotation so that it works right no matter if the user holds the phone in landscape or portrait orientation, no TILER needed.
I think I don't get the the difference from our situation to always rotating a smart phone to landscape mode.
A smart phone that I discussed is not always rotated. It's also (mostly) used in portrait mode. And even when it's used in landscape mode, only the required overlays are rotated with TILER.
If that can be done, our smartphone panel (it is approx. the same as the Nexus 5) should be possible to get the same performance.
The differences with Pyra and a smartphone I see:
- Pyra is always rotated, and all overlays need TILER rotation. Smartphone only needs TILER rotation in particular use cases.
- A smartphone has a single display system and framework, that can handle the needed rotation. On Pyra, "all" frameworks should be supported.
- Smartphone draws normally with SGX. Pyra draws normally (at least in some scenarios) with CPU.
But again, I think the main issue is the slowness of CPU access to TILER. If that issue wasn't there, maybe TILER could be used.
But even so, it is a hassle to use TILER in the way Pyra needs, compared to native landscape panel (or a chip that does the rotation). All frameworks must understand about the rotation and it must be done for all overlays, and the display still looks like portrait display.
Tomi