render-device/gdm: Make query format modifier filter loop more generic

This will allow adding more filters more easily.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3900>
This commit is contained in:
Jonas Ådahl 2024-07-24 14:26:41 +02:00 committed by Marge Bot
parent 157c4af11e
commit 4bf04585d2

View File

@ -154,7 +154,7 @@ meta_render_device_gbm_query_drm_modifiers (MetaRenderDevice *render_devic
g_array_set_size (modifiers, n_modifiers);
if (filter & COGL_DRM_MODIFIER_FILTER_SINGLE_PLANE)
if (filter != COGL_DRM_MODIFIER_FILTER_NONE)
{
g_autoptr (GArray) filtered_modifiers = NULL;
struct gbm_device *gbm_device = render_device_gbm->gbm_device;
@ -166,9 +166,14 @@ meta_render_device_gbm_query_drm_modifiers (MetaRenderDevice *render_devic
{
uint64_t modifier = g_array_index (modifiers, uint64_t, i);
if (filter & COGL_DRM_MODIFIER_FILTER_SINGLE_PLANE)
{
if (gbm_device_get_format_modifier_plane_count (gbm_device,
drm_format,
modifier) == 1)
modifier) != 1)
continue;
}
g_array_append_val (filtered_modifiers, modifier);
}