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