xref: /aosp_15_r20/external/virglrenderer/src/drm/drm_renderer.h (revision bbecb9d118dfdb95f99bd754f8fa9be01f189df3)
1 /*
2  * Copyright 2022 Google LLC
3  * SPDX-License-Identifier: MIT
4  */
5 
6 #ifndef DRM_RENDERER_H_
7 #define DRM_RENDERER_H_
8 
9 #include "config.h"
10 
11 #include <inttypes.h>
12 #include <stddef.h>
13 #include <stdint.h>
14 
15 #ifdef ENABLE_DRM
16 
17 int drm_renderer_init(int drm_fd);
18 
19 void drm_renderer_fini(void);
20 
21 void drm_renderer_reset(void);
22 
23 size_t drm_renderer_capset(void *capset);
24 
25 struct virgl_context *drm_renderer_create(size_t debug_len, const char *debug_name);
26 
27 #else /* ENABLE_DRM_MSM */
28 
29 static inline int
drm_renderer_init(UNUSED int drm_fd)30 drm_renderer_init(UNUSED int drm_fd)
31 {
32    virgl_log("DRM native context support was not enabled in virglrenderer\n");
33    return -1;
34 }
35 
36 static inline void
drm_renderer_fini(void)37 drm_renderer_fini(void)
38 {
39 }
40 
41 static inline void
drm_renderer_reset(void)42 drm_renderer_reset(void)
43 {
44 }
45 
46 static inline size_t
drm_renderer_capset(UNUSED void * capset)47 drm_renderer_capset(UNUSED void *capset)
48 {
49    return 0;
50 }
51 
52 static inline struct virgl_context *
drm_renderer_create(UNUSED size_t debug_len,UNUSED const char * debug_name)53 drm_renderer_create(UNUSED size_t debug_len, UNUSED const char *debug_name)
54 {
55    return NULL;
56 }
57 
58 #endif /* ENABLE_DRM */
59 
60 #endif /* DRM_RENDERER_H_ */
61