summary refs log blame commit diff
path: root/gpu_renderer/src/generated/virglrenderer.rs
blob: 020d69f3f5e701735302df2576baf32e2aa159f9 (plain) (tree)
1
2
3
4
5

                                             

                               
 














                                                    
                                               
                                               
                                           

                                              
                                     











                                                                 
                                      






                                         
                                      




































































                                                                                                  

                                                                                           
                                                                                                   
                                                
          
                                      












                                                




















                                        






                                                


                                                                                     
















                                                          





                                                                                                 


















































































                                                                                               


                                                                                                
          
                                      

























                                                                       





                                                  










                                                   


                                             
                                                          

                               








                                                       




                                       
/* 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 const VIRGL_RES_BIND_SHARED: u32 = 1048576;
pub type __int32_t = ::std::os::raw::c_int;
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, Default, 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, Default, 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;
}
pub const VIRGL_RENDERER_STRUCTURE_TYPE_NONE: virgl_renderer_structure_type_v0 = 0;
pub const VIRGL_RENDERER_STRUCTURE_TYPE_EXPORT_QUERY: virgl_renderer_structure_type_v0 = 1;
pub const VIRGL_RENDERER_STRUCTURE_TYPE_SUPPORTED_STRUCTURES: virgl_renderer_structure_type_v0 = 2;
pub type virgl_renderer_structure_type_v0 = u32;
#[repr(C)]
#[derive(Debug, Default, 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,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct virgl_renderer_hdr {
    pub stype: u32,
    pub stype_version: u32,
    pub size: u32,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct virgl_renderer_export_query {
    pub hdr: virgl_renderer_hdr,
    pub in_resource_id: u32,
    pub out_num_fds: u32,
    pub in_export_fds: u32,
    pub out_fourcc: u32,
    pub pad: u32,
    pub out_fds: [i32; 4usize],
    pub out_strides: [u32; 4usize],
    pub out_offsets: [u32; 4usize],
    pub out_modifier: u64,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct virgl_renderer_supported_structures {
    pub hdr: virgl_renderer_hdr,
    pub in_stype_version: u32,
    pub out_supported_structures_mask: 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(Debug, Default, 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;
}
extern "C" {
    pub fn virgl_renderer_execute(
        execute_args: *mut ::std::os::raw::c_void,
        execute_size: u32,
    ) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct virgl_renderer_resource_create_v2_args {
    pub version: u32,
    pub res_handle: u32,
    pub ctx_id: u32,
    pub flags: u32,
    pub size: u64,
    pub memory_id: u64,
    pub iovecs: *mut iovec,
    pub num_iovs: u32,
}
extern "C" {
    pub fn virgl_renderer_resource_create_v2(
        args: *mut virgl_renderer_resource_create_v2_args,
    ) -> ::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,
}
impl Default for __va_list_tag {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}