| // Copyright 2019 The Chromium OS Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| /* automatically generated by rust-bindgen */ |
| |
| #[link(name = "virglrenderer")] |
| extern "C" {} |
| |
| pub const VIRGL_RENDERER_CALLBACKS_VERSION: u32 = 2; |
| pub const VIRGL_RENDERER_USE_EGL: u32 = 1; |
| pub const VIRGL_RENDERER_THREAD_SYNC: u32 = 2; |
| pub const VIRGL_RENDERER_USE_GLX: u32 = 4; |
| pub const VIRGL_RENDERER_USE_SURFACELESS: u32 = 8; |
| pub const VIRGL_RENDERER_USE_GLES: u32 = 16; |
| pub const VIRGL_RES_BIND_DEPTH_STENCIL: u32 = 1; |
| pub const VIRGL_RES_BIND_RENDER_TARGET: u32 = 2; |
| pub const VIRGL_RES_BIND_SAMPLER_VIEW: u32 = 8; |
| pub const VIRGL_RES_BIND_VERTEX_BUFFER: u32 = 16; |
| pub const VIRGL_RES_BIND_INDEX_BUFFER: u32 = 32; |
| pub const VIRGL_RES_BIND_CONSTANT_BUFFER: u32 = 64; |
| pub const VIRGL_RES_BIND_STREAM_OUTPUT: u32 = 2048; |
| pub const VIRGL_RES_BIND_CURSOR: u32 = 65536; |
| pub const VIRGL_RES_BIND_CUSTOM: u32 = 131072; |
| pub const VIRGL_RES_BIND_SCANOUT: u32 = 262144; |
| pub type __uint32_t = ::std::os::raw::c_uint; |
| pub type __uint64_t = ::std::os::raw::c_ulong; |
| pub type va_list = __builtin_va_list; |
| #[repr(C)] |
| #[derive(Debug, Copy, Clone)] |
| pub struct virgl_box { |
| _unused: [u8; 0], |
| } |
| #[repr(C)] |
| #[derive(Debug, Copy, Clone)] |
| pub struct iovec { |
| _unused: [u8; 0], |
| } |
| pub type virgl_renderer_gl_context = *mut ::std::os::raw::c_void; |
| #[repr(C)] |
| #[derive(Debug, Copy, Clone)] |
| pub struct virgl_renderer_gl_ctx_param { |
| pub version: ::std::os::raw::c_int, |
| pub shared: bool, |
| pub major_ver: ::std::os::raw::c_int, |
| pub minor_ver: ::std::os::raw::c_int, |
| } |
| #[repr(C)] |
| #[derive(Debug, Copy, Clone)] |
| pub struct virgl_renderer_callbacks { |
| pub version: ::std::os::raw::c_int, |
| pub write_fence: ::std::option::Option< |
| unsafe extern "C" fn(cookie: *mut ::std::os::raw::c_void, fence: u32), |
| >, |
| pub create_gl_context: ::std::option::Option< |
| unsafe extern "C" fn( |
| cookie: *mut ::std::os::raw::c_void, |
| scanout_idx: ::std::os::raw::c_int, |
| param: *mut virgl_renderer_gl_ctx_param, |
| ) -> virgl_renderer_gl_context, |
| >, |
| pub destroy_gl_context: ::std::option::Option< |
| unsafe extern "C" fn(cookie: *mut ::std::os::raw::c_void, ctx: virgl_renderer_gl_context), |
| >, |
| pub make_current: ::std::option::Option< |
| unsafe extern "C" fn( |
| cookie: *mut ::std::os::raw::c_void, |
| scanout_idx: ::std::os::raw::c_int, |
| ctx: virgl_renderer_gl_context, |
| ) -> ::std::os::raw::c_int, |
| >, |
| pub get_drm_fd: ::std::option::Option< |
| unsafe extern "C" fn(cookie: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int, |
| >, |
| } |
| extern "C" { |
| pub fn virgl_renderer_init( |
| cookie: *mut ::std::os::raw::c_void, |
| flags: ::std::os::raw::c_int, |
| cb: *mut virgl_renderer_callbacks, |
| ) -> ::std::os::raw::c_int; |
| } |
| extern "C" { |
| pub fn virgl_renderer_poll(); |
| } |
| extern "C" { |
| pub fn virgl_renderer_get_cursor_data( |
| resource_id: u32, |
| width: *mut u32, |
| height: *mut u32, |
| ) -> *mut ::std::os::raw::c_void; |
| } |
| extern "C" { |
| pub fn virgl_renderer_get_rect( |
| resource_id: ::std::os::raw::c_int, |
| iov: *mut iovec, |
| num_iovs: ::std::os::raw::c_uint, |
| offset: u32, |
| x: ::std::os::raw::c_int, |
| y: ::std::os::raw::c_int, |
| width: ::std::os::raw::c_int, |
| height: ::std::os::raw::c_int, |
| ); |
| } |
| extern "C" { |
| pub fn virgl_renderer_get_fd_for_texture( |
| tex_id: u32, |
| fd: *mut ::std::os::raw::c_int, |
| ) -> ::std::os::raw::c_int; |
| } |
| extern "C" { |
| pub fn virgl_renderer_get_fd_for_texture2( |
| tex_id: u32, |
| fd: *mut ::std::os::raw::c_int, |
| stride: *mut ::std::os::raw::c_int, |
| offset: *mut ::std::os::raw::c_int, |
| ) -> ::std::os::raw::c_int; |
| } |
| #[repr(C)] |
| #[derive(Debug, Copy, Clone)] |
| pub struct virgl_renderer_resource_create_args { |
| pub handle: u32, |
| pub target: u32, |
| pub format: u32, |
| pub bind: u32, |
| pub width: u32, |
| pub height: u32, |
| pub depth: u32, |
| pub array_size: u32, |
| pub last_level: u32, |
| pub nr_samples: u32, |
| pub flags: u32, |
| } |
| pub type virgl_debug_callback_type = ::std::option::Option< |
| unsafe extern "C" fn(fmt: *const ::std::os::raw::c_char, ap: *mut __va_list_tag), |
| >; |
| extern "C" { |
| pub fn virgl_renderer_resource_create( |
| args: *mut virgl_renderer_resource_create_args, |
| iov: *mut iovec, |
| num_iovs: u32, |
| ) -> ::std::os::raw::c_int; |
| } |
| extern "C" { |
| pub fn virgl_renderer_resource_import_eglimage( |
| args: *mut virgl_renderer_resource_create_args, |
| image: *mut ::std::os::raw::c_void, |
| ) -> ::std::os::raw::c_int; |
| } |
| extern "C" { |
| pub fn virgl_renderer_resource_unref(res_handle: u32); |
| } |
| extern "C" { |
| pub fn virgl_renderer_resource_set_priv(res_handle: u32, priv_: *mut ::std::os::raw::c_void); |
| } |
| extern "C" { |
| pub fn virgl_renderer_resource_get_priv(res_handle: u32) -> *mut ::std::os::raw::c_void; |
| } |
| extern "C" { |
| pub fn virgl_renderer_context_create( |
| handle: u32, |
| nlen: u32, |
| name: *const ::std::os::raw::c_char, |
| ) -> ::std::os::raw::c_int; |
| } |
| extern "C" { |
| pub fn virgl_renderer_context_destroy(handle: u32); |
| } |
| extern "C" { |
| pub fn virgl_renderer_submit_cmd( |
| buffer: *mut ::std::os::raw::c_void, |
| ctx_id: ::std::os::raw::c_int, |
| ndw: ::std::os::raw::c_int, |
| ) -> ::std::os::raw::c_int; |
| } |
| extern "C" { |
| pub fn virgl_renderer_transfer_read_iov( |
| handle: u32, |
| ctx_id: u32, |
| level: u32, |
| stride: u32, |
| layer_stride: u32, |
| box_: *mut virgl_box, |
| offset: u64, |
| iov: *mut iovec, |
| iovec_cnt: ::std::os::raw::c_int, |
| ) -> ::std::os::raw::c_int; |
| } |
| extern "C" { |
| pub fn virgl_renderer_transfer_write_iov( |
| handle: u32, |
| ctx_id: u32, |
| level: ::std::os::raw::c_int, |
| stride: u32, |
| layer_stride: u32, |
| box_: *mut virgl_box, |
| offset: u64, |
| iovec: *mut iovec, |
| iovec_cnt: ::std::os::raw::c_uint, |
| ) -> ::std::os::raw::c_int; |
| } |
| extern "C" { |
| pub fn virgl_renderer_get_cap_set(set: u32, max_ver: *mut u32, max_size: *mut u32); |
| } |
| extern "C" { |
| pub fn virgl_renderer_fill_caps(set: u32, version: u32, caps: *mut ::std::os::raw::c_void); |
| } |
| extern "C" { |
| pub fn virgl_renderer_resource_attach_iov( |
| res_handle: ::std::os::raw::c_int, |
| iov: *mut iovec, |
| num_iovs: ::std::os::raw::c_int, |
| ) -> ::std::os::raw::c_int; |
| } |
| extern "C" { |
| pub fn virgl_renderer_resource_detach_iov( |
| res_handle: ::std::os::raw::c_int, |
| iov: *mut *mut iovec, |
| num_iovs: *mut ::std::os::raw::c_int, |
| ); |
| } |
| extern "C" { |
| pub fn virgl_renderer_create_fence( |
| client_fence_id: ::std::os::raw::c_int, |
| ctx_id: u32, |
| ) -> ::std::os::raw::c_int; |
| } |
| extern "C" { |
| pub fn virgl_renderer_force_ctx_0(); |
| } |
| extern "C" { |
| pub fn virgl_renderer_ctx_attach_resource( |
| ctx_id: ::std::os::raw::c_int, |
| res_handle: ::std::os::raw::c_int, |
| ); |
| } |
| extern "C" { |
| pub fn virgl_renderer_ctx_detach_resource( |
| ctx_id: ::std::os::raw::c_int, |
| res_handle: ::std::os::raw::c_int, |
| ); |
| } |
| extern "C" { |
| pub fn virgl_set_debug_callback(cb: virgl_debug_callback_type) -> virgl_debug_callback_type; |
| } |
| #[repr(C)] |
| #[derive(Default, Debug, Copy, Clone)] |
| pub struct virgl_renderer_resource_info { |
| pub handle: u32, |
| pub virgl_format: u32, |
| pub width: u32, |
| pub height: u32, |
| pub depth: u32, |
| pub flags: u32, |
| pub tex_id: u32, |
| pub stride: u32, |
| pub drm_fourcc: ::std::os::raw::c_int, |
| } |
| extern "C" { |
| pub fn virgl_renderer_resource_get_info( |
| res_handle: ::std::os::raw::c_int, |
| info: *mut virgl_renderer_resource_info, |
| ) -> ::std::os::raw::c_int; |
| } |
| extern "C" { |
| pub fn virgl_renderer_cleanup(cookie: *mut ::std::os::raw::c_void); |
| } |
| extern "C" { |
| pub fn virgl_renderer_reset(); |
| } |
| extern "C" { |
| pub fn virgl_renderer_get_poll_fd() -> ::std::os::raw::c_int; |
| } |
| pub type __builtin_va_list = [__va_list_tag; 1usize]; |
| #[repr(C)] |
| #[derive(Debug, Copy, Clone)] |
| pub struct __va_list_tag { |
| pub gp_offset: ::std::os::raw::c_uint, |
| pub fp_offset: ::std::os::raw::c_uint, |
| pub overflow_arg_area: *mut ::std::os::raw::c_void, |
| pub reg_save_area: *mut ::std::os::raw::c_void, |
| } |