On 10/03/14 12:55, Dr. H. Nikolaus Schaller wrote:
I think it is hardware:
10.2.4.7 DISPC Rotation and Mirroring The DISPC provides flexible mechanisms for efficient implementation of rotation using the DISPC, its DMA engine, and the rotation engine of the TILER. The rotation is handled only through the TILER, which supplies the encoded pixels to the DISPC.
So the speed is the same if you use it or don't.
That's unfortunately not true.
From my own experience I can only speak of VRFB (omap3), but I think TILER is very similar in principle. The hardware that handles the rotation, but it comes with a cost of increased memory bandwidth usage and/or latency.
However, I just had a chat with my colleague and he said that 1080p with TILER should just work. So I presume TILER is so much more efficient than VRFB that there shouldn't be any issues with 1080p, and you shouldn't notice the overhead.
VSYNC isn't influenced. Except one thing: the display scans high speed top-down and low speed left-right (or right-left).
But with VSYNC you probably mean syncing to the full frame - to avoid flicker in games. This is and remains 60 fps.
Yes, vsync is not affected, no matter what is meant with vsync =).
Scaling in generic manner is not possible. The DSS hardware can scale video overlays, but the userspace needs to specifically use that functionality. The GFX overlay, which is normally used for the user interface, cannot be scaled.
Hmmmm... does that mean that all games have to run at 1920x1080 then when using drm? So if I start a normal Linux game that uses SDL and switch to fullscreen, will it not be possible to scale it to use the full screen?
I think Tomi refers to the 10.2.4.10.4 DISPC Scaler Unit
Figure 10-52. DISPC Video Upsampling is illustrating that.
It needs a quite complex setup (setting coefficients and filters). And I am not sure how to interpret all the data in this TRM section.
omapdss driver handles all that. Somebody just needs to tell it what are the sizes, which is done via omapfb or omapdrm.
Well 1280x720 --> 1920x1080 would be Factor 1.5.
Should be upsampling by factor 2 and downsampling by factor 3.
Hmm, what do you mean?
If that can be configured, it will run 100% in hardware.
But I have no idea how to program/configure the DSS/DISPC for that.
The thing with scaling is that horizontal downscaling requires a higher DISPC functional than without scaling (10.2.4.10.4.2 DISPC Scaling limitations). The pixel clock with the panel is 144MHz, which is so high that no horizontal downscaling is possible.
However, you should only need upscaling, right? That should not be a problem for the hardware.
Tomi