3 ms·
The starting description of how displays work isn't entirely accurate. "The GPU sends some image to the display, beginning from the pixel on the top left and g
by kllrnohj 5y ago
The starting description of how displays work isn't entirely accurate.
"The GPU sends some image to the display, beginning from the pixel on the top left and going through them line by line"
This isn't necessarily accurate. On many SoCs (like the entire ARM ecosystem), it's the DPU that sends the image to the display, not the GPU. They are different hardware blocks.
That DPU then also takes its input in the form of a list of buffers, not a single buffer, and does composition during scanout. Hardware overlays are very much alive & well, after all (hence their support in DRM/KMS, as well as Android's HWC HAL)
Which in this case isn't pedantry and is really important, since we're talking about compositors. It's really important for power, performance, and features (assuming DRM'd video is a feature you want, anyway) for the window compositor to be able to farm out to the hardware compositor for various things.
- Lammy 5y agoIt's also not entirely accurate in the case of newer DisplayPort interfaces offering Panel Self Refresh / Panel Replay, where only the changed area is sent over the interface and static refreshes come from the panel's own memory https://vesa.org/press/vesa-publishes-displayport-2-0-video-standard-enabling-support-for-beyond-8k-resolutions-higher-refresh-rates-for-4k-hdr-and-virtual-reality-applications/ https://vesa.org/press/vesa-publishes-displayport-2-0-video-...
- kllrnohj 5y agoI thought about including PSR but the article's take is still mostly accurate in that you do still send pixel by pixel, row by row, in the case of a panel with PSR. Just the panel then remembers those pixels. On something like an ARM SoC where this is all unified memory, I couldn't entirely remember where exactly PSR sat. In that case you could argue the transfer is an atomic switch to a different buffer, but I thought the PSR memory was still a different segment even in that case.