aboutsummaryrefslogtreecommitdiff
path: root/kms/kms_shared.h
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2023-05-12 03:49:29 +0200
committerdec05eba <dec05eba@protonmail.com>2023-05-12 03:49:29 +0200
commit99dbbd07ab9e8c9a899fd8ccb042b74f336dd026 (patch)
tree8a731ada9f5a44e982fc384bee9a6ca8960a4a32 /kms/kms_shared.h
parent25af1c81d08d0512cf53746efaccd2e5f690aa94 (diff)
kms_vaapi: support multiple drm planes (fixes capture on some multi monitor systems)
Diffstat (limited to 'kms/kms_shared.h')
-rw-r--r--kms/kms_shared.h12
1 files changed, 8 insertions, 4 deletions
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 <stdint.h>
+#include <stdbool.h>
+
+#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 */