From d0c221a233e0bc07e22cffb06ec3ae77a5f96010 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sun, 3 Mar 2024 03:47:30 +0100 Subject: Refactor kms_vaapi and kms_cuda Also fixes color metadata, color range and hdr on nvidia wayland. --- kms/client/kms_client.h | 6 ++++-- kms/kms_shared.h | 11 +++++++---- 2 files changed, 11 insertions(+), 6 deletions(-) (limited to 'kms') diff --git a/kms/client/kms_client.h b/kms/client/kms_client.h index 02f2dd1..2d18848 100644 --- a/kms/client/kms_client.h +++ b/kms/client/kms_client.h @@ -5,13 +5,15 @@ #include #include -typedef struct { +typedef struct gsr_kms_client gsr_kms_client; + +struct gsr_kms_client { pid_t kms_server_pid; int initial_socket_fd; int initial_client_fd; char initial_socket_path[PATH_MAX]; int socket_pair[2]; -} gsr_kms_client; +}; /* |card_path| should be a path to card, for example /dev/dri/card0 */ int gsr_kms_client_init(gsr_kms_client *self, const char *card_path); diff --git a/kms/kms_shared.h b/kms/kms_shared.h index f146441..4fa9c38 100644 --- a/kms/kms_shared.h +++ b/kms/kms_shared.h @@ -8,6 +8,9 @@ #define GSR_KMS_PROTOCOL_VERSION 2 #define GSR_KMS_MAX_PLANES 10 +typedef struct gsr_kms_response_fd gsr_kms_response_fd; +typedef struct gsr_kms_response gsr_kms_response; + typedef enum { KMS_REQUEST_TYPE_REPLACE_CONNECTION, KMS_REQUEST_TYPE_GET_KMS @@ -27,7 +30,7 @@ typedef struct { int new_connection_fd; } gsr_kms_request; -typedef struct { +struct gsr_kms_response_fd { int fd; uint32_t width; uint32_t height; @@ -44,14 +47,14 @@ typedef struct { int src_w; int src_h; struct hdr_output_metadata hdr_metadata; -} gsr_kms_response_fd; +}; -typedef struct { +struct gsr_kms_response { uint32_t version; /* GSR_KMS_PROTOCOL_VERSION */ int result; /* gsr_kms_result */ 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