• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 extern "C" {
2 #include "host-common/goldfish_pipe.h"
3 #include "virtio-gpu-gfxstream-renderer.h"
4 #include "virgl_hw.h"
5 }  // extern "C"
6 
7 enum BackendFlags {
8     GFXSTREAM_BACKEND_FLAGS_NO_VK_BIT = 1 << 0,
9     GFXSTREAM_BACKEND_FLAGS_EGL2EGL_BIT = 1 << 1,
10 };
11 
12 // based on VIRGL_RENDERER_USE* and friends
13 enum RendererFlags {
14     GFXSTREAM_RENDERER_FLAGS_USE_EGL_BIT = 1 << 0,
15     GFXSTREAM_RENDERER_FLAGS_THREAD_SYNC = 1 << 1,
16     GFXSTREAM_RENDERER_FLAGS_USE_GLX_BIT = 1 << 2,
17     GFXSTREAM_RENDERER_FLAGS_USE_SURFACELESS_BIT = 1 << 3,
18     GFXSTREAM_RENDERER_FLAGS_USE_GLES_BIT = 1 << 4,
19     GFXSTREAM_RENDERER_FLAGS_NO_VK_BIT = 1 << 5, // for disabling vk
20 
21     GFXSTREAM_RENDERER_FLAGS_NO_SYNCFD_BIT = 1 << 20, // for disabling syncfd
22     GFXSTREAM_RENDERER_FLAGS_VULKAN_NATIVE_SWAPCHAIN_BIT = 1 << 22,
23 };
24 
25 extern "C" VG_EXPORT void gfxstream_backend_init(
26     uint32_t display_width,
27     uint32_t display_height,
28     uint32_t display_type,
29     void* renderer_cookie,
30     int renderer_flags,
31     struct virgl_renderer_callbacks* virglrenderer_callbacks);
32 
33 extern "C" VG_EXPORT void gfxstream_backend_setup_window(
34         void* native_window_handle,
35         int32_t window_x,
36         int32_t window_y,
37         int32_t window_width,
38         int32_t window_height,
39         int32_t fb_width,
40         int32_t fb_height);
41 
42 extern "C" VG_EXPORT void gfxstream_backend_teardown(void);
43