From 99dbbd07ab9e8c9a899fd8ccb042b74f336dd026 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Fri, 12 May 2023 03:49:29 +0200 Subject: kms_vaapi: support multiple drm planes (fixes capture on some multi monitor systems) --- kms/kms_shared.h | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'kms/kms_shared.h') diff --git a/kms/kms_shared.h b/kms/kms_shared.h index 35d54c4..e0687b2 100644 --- a/kms/kms_shared.h +++ b/kms/kms_shared.h @@ -2,6 +2,9 @@ #define GSR_KMS_SHARED_H #include +#include + +#define GSR_KMS_MAX_PLANES 32 typedef enum { KMS_REQUEST_TYPE_GET_KMS @@ -26,14 +29,15 @@ typedef struct { uint32_t offset; uint32_t pixel_format; uint64_t modifier; + uint32_t connector_id; /* 0 if unknown */ + bool is_combined_plane; } gsr_kms_response_fd; typedef struct { int result; /* gsr_kms_result */ - union { - char err_msg[128]; - gsr_kms_response_fd fd; - } data; + char err_msg[128]; + gsr_kms_response_fd fds[GSR_KMS_MAX_PLANES]; + int num_fds; } gsr_kms_response; #endif /* #define GSR_KMS_SHARED_H */ -- cgit v1.2.3