Am 02.04.2014 um 17:59 schrieb Tomi Valkeinen:
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.
Ok, I see - but in most cases it is used for playing HD videos in high frame rate and full screen mode.
So the performance requirements should not be much relaxed.
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.
It appears that only one overlay is usually used.
- 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.
Unfortunatley there are no 5 inch landscape displays. It likely has to do something with the panel driver chips. In the LG Full-HD chip the Renesas chip is capable of driving 1080 columns and 1920 lines (or as many as needed). This is not enough for driving 1200 columns on a landscape panel with horizontal lines.
Other panel driver chips definitively exist (e.g. for the 4k screens or Apple retina displays) but they may be bigger and don't fit on the glass of a 5 inch panel.
So I would guess that the best we can realistically get is 600x1024 which would again be a reduction.
BR, Nikolaus