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