Skip to content

screen-cast-stream: Add explicit modifier support

These changes add modifier-aware screencasting support to Mutter. Implicit modifier support is kept for backward compatibility and the code fallbacks to implicit modifiers in case any new functionality added for explicit modifier support fails.

The advertised modifiers are retrieved by a call to eglQueryDmaBufModifiersEXT() function. The "external only" modifiers are excluded as Mutter uses the buffers created with the explicit modifiers as renderbuffers.

These changes also effectively enable DMA-BUF screencasting on NVIDIA hardware as GBM buffer objects with linear modifiers are no longer used by default to create a renderbuffer object for screencasting.

Edited by Doğukan Korkmaztürk

Merge request reports