1 /* 2 * Copyright 2020 Google LLC 3 * SPDX-License-Identifier: MIT 4 */ 5 6 #ifndef VKR_RENDERER_H 7 #define VKR_RENDERER_H 8 9 #include "config.h" 10 11 #include <stddef.h> 12 #include <stdint.h> 13 14 #include "util/os_misc.h" 15 #include "virgl_util.h" 16 17 #define VKR_RENDERER_THREAD_SYNC (1u << 0) 18 #define VKR_RENDERER_ASYNC_FENCE_CB (1u << 1) 19 #define VKR_RENDERER_RENDER_SERVER (1u << 2) 20 21 struct virgl_context; 22 23 #ifdef ENABLE_VENUS 24 25 int 26 vkr_renderer_init(uint32_t flags); 27 28 void 29 vkr_renderer_fini(void); 30 31 void 32 vkr_renderer_reset(void); 33 34 size_t 35 vkr_get_capset(void *capset); 36 37 struct virgl_context * 38 vkr_context_create(size_t debug_len, const char *debug_name); 39 40 #else /* ENABLE_VENUS */ 41 42 #include <stdio.h> 43 44 static inline int vkr_renderer_init(UNUSED uint32_t flags)45vkr_renderer_init(UNUSED uint32_t flags) 46 { 47 virgl_log("Vulkan support was not enabled in virglrenderer\n"); 48 return -1; 49 } 50 51 static inline void vkr_renderer_fini(void)52vkr_renderer_fini(void) 53 { 54 } 55 56 static inline void vkr_renderer_reset(void)57vkr_renderer_reset(void) 58 { 59 } 60 61 static inline size_t vkr_get_capset(UNUSED void * capset)62vkr_get_capset(UNUSED void *capset) 63 { 64 return 0; 65 } 66 67 static inline struct virgl_context * vkr_context_create(UNUSED size_t debug_len,UNUSED const char * debug_name)68vkr_context_create(UNUSED size_t debug_len, UNUSED const char *debug_name) 69 { 70 return NULL; 71 } 72 73 #endif /* ENABLE_VENUS */ 74 75 #endif /* VKR_RENDERER_H */ 76