diff options
author | dec05eba <dec05eba@protonmail.com> | 2024-03-03 03:47:30 +0100 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2024-03-08 11:34:36 +0100 |
commit | d0c221a233e0bc07e22cffb06ec3ae77a5f96010 (patch) | |
tree | 154ad68ce13a71541bf6667f933194e313237dc1 /kms | |
parent | 4d8a9e2e1d7d257aeff0497b6550df82f60bc0e8 (diff) |
Refactor kms_vaapi and kms_cuda
Also fixes color metadata, color range and hdr on nvidia wayland.
Diffstat (limited to 'kms')
-rw-r--r-- | kms/client/kms_client.h | 6 | ||||
-rw-r--r-- | kms/kms_shared.h | 11 |
2 files changed, 11 insertions, 6 deletions
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 <sys/types.h> #include <limits.h> -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 */ |