output: Move color space and hdr tf support to OutputInfo

Currently querying support for some output features is done partially
through the OutputInfo and partially via KMS CRTC and Connector objects.
Let's be consistent and use OutputInfo always which works with all
backends and backend types.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3552>
This commit is contained in:
Sebastian Wick
2024-01-23 20:31:03 +01:00
committed by Marge Bot
parent fb7b9b0955
commit a3a4de6c6b
5 changed files with 65 additions and 149 deletions

View File

@ -164,6 +164,11 @@ typedef struct _MetaOutputInfo
int suggested_y;
MetaTileInfo tile_info;
uint64_t supported_color_spaces;
uint64_t supported_hdr_eotfs;
uint64_t supported_rgb_ranges;
} MetaOutputInfo;
gboolean
@ -189,9 +194,6 @@ META_EXPORT_TEST
void meta_output_info_parse_edid (MetaOutputInfo *output_info,
GBytes *edid);
gboolean meta_output_info_is_color_space_supported (const MetaOutputInfo *output_info,
MetaOutputColorspace color_space);
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MetaOutputInfo, meta_output_info_unref)
#define META_TYPE_OUTPUT (meta_output_get_type ())
@ -206,9 +208,6 @@ struct _MetaOutputClass
gboolean (* set_privacy_screen_enabled) (MetaOutput *output,
gboolean enabled,
GError **error);
gboolean (* is_color_space_supported) (MetaOutput *output,
MetaOutputColorspace color_space);
gboolean (* is_hdr_metadata_supported) (MetaOutput *output);
};
META_EXPORT_TEST
@ -255,17 +254,11 @@ gboolean meta_output_set_privacy_screen_enabled (MetaOutput *output,
gboolean enabled,
GError **error);
gboolean meta_output_is_color_space_supported (MetaOutput *output,
MetaOutputColorspace color_space);
void meta_output_set_color_space (MetaOutput *output,
MetaOutputColorspace color_space);
MetaOutputColorspace meta_output_peek_color_space (MetaOutput *output);
gboolean meta_output_is_hdr_metadata_supported (MetaOutput *output,
MetaOutputHdrMetadataEOTF eotf);
void meta_output_set_hdr_metadata (MetaOutput *output,
MetaOutputHdrMetadata *metadata);