FB modifiers (supporting end-to-end graphics compression)

Refereed Presentation
Scheduled: Friday, September 15, 2017 from 11:50am – 12:35pm in Platinum D

One Line Summary

Summarize the design and challenges in implementing end to end lossless compression in the graphics stack.


Framebuffer modifiers are a relatively new concept introduced into the DRM core which allows graphics clients a way of specifying to the KMS implementation layout constraints or additions to the framebuffer. In some cases, these modifiers don’t have many implications outside of telling the display about the memory layout. In other cases, the entire graphics stack need to be aware of the modifiers and interoperate with the layers.

Modern GPUs are capable of working with [lossless] compressed data sets throughout their pipeline with the purpose of reducing memory bandwidth requirements. Rendered content is stored in memory in a compressed format, and operated on throughout the pipeline without requirement decompression. Finally, the display will decompress the data on the fly. This talk will specifically explore how we’re plumbing modifiers through in support of this end to end lossless compression for Intel platforms (AFBC in ARM parlance).

Several developers from different employers have contributed to the code, and design to support this feature through all levels of the stack (X, Wayland/Weston, Mutter, Mesa, DRM core, and i915).

(This code may or may not be landed by the time of the talk)



drm, graphics, `gpu, gfx, i915

Presentation Materials