[mutter] output/kms: Make winsys_id unique
- From: Jonas Ådahl <jadahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] output/kms: Make winsys_id unique
- Date: Mon, 19 Nov 2018 15:11:11 +0000 (UTC)
commit fb8dc918932d0cf246227468f742d89fe4d80d57
Author: Emilio Pozuelo Monfort <emilio pozuelo collabora co uk>
Date: Thu Oct 11 16:20:00 2018 +0200
output/kms: Make winsys_id unique
We were using the connector_id for the winsys_id, but different
devices could have connectors with the same id. Since we use
winsys_id to uniquely identify outputs, use both the connector
id and the device id to avoid having outputs with the same id.
src/backends/native/meta-output-kms.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
---
diff --git a/src/backends/native/meta-output-kms.c b/src/backends/native/meta-output-kms.c
index 8688320a5..f3fa17e58 100644
--- a/src/backends/native/meta-output-kms.c
+++ b/src/backends/native/meta-output-kms.c
@@ -512,6 +512,7 @@ meta_create_kms_output (MetaGpuKms *gpu_kms,
unsigned int i;
unsigned int crtc_mask;
int fd;
+ uint32_t id;
output = g_object_new (META_TYPE_OUTPUT, NULL);
@@ -520,9 +521,11 @@ meta_create_kms_output (MetaGpuKms *gpu_kms,
output->driver_notify = (GDestroyNotify) meta_output_destroy_notify;
output->gpu = gpu;
- output->winsys_id = connector->connector_id;
output->name = make_output_name (connector);
+ id = meta_gpu_kms_get_id (gpu_kms);
+ output->winsys_id = ((uint64_t) id << 32) | connector->connector_id;
+
switch (connector->subpixel)
{
case DRM_MODE_SUBPIXEL_NONE:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]