xref: /aosp_15_r20/external/virglrenderer/src/proxy/proxy_renderer.h (revision bbecb9d118dfdb95f99bd754f8fa9be01f189df3)
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