[RFC xserver v6 09/14] modesetting: Create scanout buffers using supported modifiers

Adam Jackson ajax at nwnk.net
Mon Feb 19 19:54:53 UTC 2018


On Thu, 2018-02-15 at 23:15 -0500, Louis-Francis Ratté-Boulianne wrote:
> Use most optimal buffer format (e.g. tiled/compressed) available
> for scanout.
> 
> v2: Don't use multi-plane modifier to create scanout buffer
> 
> v3: Add flag to retrieve modifiers set from enabled CRTCs only
> 
> v4: Fix uses when GBM/EGL driver doesn't support modifiers

This doesn't build for me:

> +		/* Don't choose multi-plane formats for our screen pixmap.
> +		 * These will get used with frontbuffer rendering, which will
> +		 * lead to worse-than-tearing with multi-plane formats, as the
> +		 * primary and auxiliary planes go out of sync. */
> +		if (exclude_multiplane &&
> +                    gbm_device_get_format_modifier_plane_count(drmmode->gbm,
> +                                                               format,
> +                                                               iter->modifiers[j]) > 1) {
> +                    continue;

../hw/xfree86/drivers/modesetting/drmmode_display.c: In function ‘get_modifiers_set’:
../hw/xfree86/drivers/modesetting/drmmode_display.c:108:21: error: implicit declaration of function ‘gbm_device_get_format_modifier_plane_count’; did you mean ‘gbm_device_is_format_supported’? [-Werror=implicit-function-declaration]
                     gbm_device_get_format_modifier_plane_count(drmmode->gbm,
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     gbm_device_is_format_supported

That function appears to be from a newer Mesa than I've got, so this
wants to be conditional on that version and/or we want to raise the
required Mesa version.

- ajax


More information about the xorg-devel mailing list