xref: /aosp_15_r20/external/virglrenderer/src/proxy/proxy_renderer.h (revision bbecb9d118dfdb95f99bd754f8fa9be01f189df3)
1 /*
2  * Copyright 2021 Google LLC
3  * SPDX-License-Identifier: MIT
4  */
5 
6 #ifndef PROXY_RENDERER_H
7 #define PROXY_RENDERER_H
8 
9 #include <stddef.h>
10 #include <stdint.h>
11 
12 struct iovec;
13 struct virgl_context;
14 
15 struct proxy_renderer_cbs {
16    int (*get_server_fd)(uint32_t version);
17 };
18 
19 #ifdef ENABLE_RENDER_SERVER
20 
21 int
22 proxy_renderer_init(const struct proxy_renderer_cbs *cbs, uint32_t flags);
23 
24 void
25 proxy_renderer_fini(void);
26 
27 void
28 proxy_renderer_reset(void);
29 
30 struct virgl_context *
31 proxy_context_create(uint32_t ctx_id,
32                      uint32_t ctx_flags,
33                      size_t debug_len,
34                      const char *debug_name);
35 
36 #else /* ENABLE_RENDER_SERVER */
37 
38 static inline int
proxy_renderer_init(UNUSED const struct proxy_renderer_cbs * cbs,UNUSED uint32_t flags)39 proxy_renderer_init(UNUSED const struct proxy_renderer_cbs *cbs, UNUSED uint32_t flags)
40 {
41    virgl_log("Render server support was not enabled in virglrenderer\n");
42    return -1;
43 }
44 
45 static inline void
proxy_renderer_fini(void)46 proxy_renderer_fini(void)
47 {
48 }
49 
50 static inline void
proxy_renderer_reset(void)51 proxy_renderer_reset(void)
52 {
53 }
54 
55 static inline struct virgl_context *
proxy_context_create(UNUSED uint32_t ctx_id,UNUSED uint32_t ctx_flags,UNUSED size_t debug_len,UNUSED const char * debug_name)56 proxy_context_create(UNUSED uint32_t ctx_id,
57                      UNUSED uint32_t ctx_flags,
58                      UNUSED size_t debug_len,
59                      UNUSED const char *debug_name)
60 {
61    return NULL;
62 }
63 
64 #endif /* ENABLE_RENDER_SERVER */
65 
66 #endif /* PROXY_RENDERER_H */
67