Skip to main content

virglrenderer_sys/
bindings.rs

1/* automatically generated by rust-bindgen 0.72.1 */
2
3pub const _STDINT_H: u32 = 1;
4pub const _FEATURES_H: u32 = 1;
5pub const _DEFAULT_SOURCE: u32 = 1;
6pub const __GLIBC_USE_ISOC2Y: u32 = 0;
7pub const __GLIBC_USE_ISOC23: u32 = 0;
8pub const __USE_ISOC11: u32 = 1;
9pub const __USE_ISOC99: u32 = 1;
10pub const __USE_ISOC95: u32 = 1;
11pub const __USE_POSIX_IMPLICITLY: u32 = 1;
12pub const _POSIX_SOURCE: u32 = 1;
13pub const _POSIX_C_SOURCE: u32 = 200809;
14pub const __USE_POSIX: u32 = 1;
15pub const __USE_POSIX2: u32 = 1;
16pub const __USE_POSIX199309: u32 = 1;
17pub const __USE_POSIX199506: u32 = 1;
18pub const __USE_XOPEN2K: u32 = 1;
19pub const __USE_XOPEN2K8: u32 = 1;
20pub const _ATFILE_SOURCE: u32 = 1;
21pub const __WORDSIZE: u32 = 64;
22pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
23pub const __SYSCALL_WORDSIZE: u32 = 64;
24pub const __TIMESIZE: u32 = 64;
25pub const __USE_TIME_BITS64: u32 = 1;
26pub const __USE_MISC: u32 = 1;
27pub const __USE_ATFILE: u32 = 1;
28pub const __USE_FORTIFY_LEVEL: u32 = 0;
29pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
30pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
31pub const __GLIBC_USE_C23_STRTOL: u32 = 0;
32pub const _STDC_PREDEF_H: u32 = 1;
33pub const __STDC_IEC_559__: u32 = 1;
34pub const __STDC_IEC_60559_BFP__: u32 = 201404;
35pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
36pub const __STDC_IEC_60559_COMPLEX__: u32 = 201404;
37pub const __STDC_ISO_10646__: u32 = 201706;
38pub const __GNU_LIBRARY__: u32 = 6;
39pub const __GLIBC__: u32 = 2;
40pub const __GLIBC_MINOR__: u32 = 42;
41pub const _SYS_CDEFS_H: u32 = 1;
42pub const __glibc_c99_flexarr_available: u32 = 1;
43pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0;
44pub const __HAVE_GENERIC_SELECTION: u32 = 1;
45pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
46pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
47pub const __GLIBC_USE_IEC_60559_BFP_EXT_C23: u32 = 0;
48pub const __GLIBC_USE_IEC_60559_EXT: u32 = 0;
49pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
50pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C23: u32 = 0;
51pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
52pub const _BITS_TYPES_H: u32 = 1;
53pub const _BITS_TYPESIZES_H: u32 = 1;
54pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
55pub const __INO_T_MATCHES_INO64_T: u32 = 1;
56pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
57pub const __STATFS_MATCHES_STATFS64: u32 = 1;
58pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1;
59pub const __FD_SETSIZE: u32 = 1024;
60pub const _BITS_TIME64_H: u32 = 1;
61pub const _BITS_WCHAR_H: u32 = 1;
62pub const _BITS_STDINT_INTN_H: u32 = 1;
63pub const _BITS_STDINT_UINTN_H: u32 = 1;
64pub const _BITS_STDINT_LEAST_H: u32 = 1;
65pub const INT8_MIN: i32 = -128;
66pub const INT16_MIN: i32 = -32768;
67pub const INT32_MIN: i32 = -2147483648;
68pub const INT8_MAX: u32 = 127;
69pub const INT16_MAX: u32 = 32767;
70pub const INT32_MAX: u32 = 2147483647;
71pub const UINT8_MAX: u32 = 255;
72pub const UINT16_MAX: u32 = 65535;
73pub const UINT32_MAX: u32 = 4294967295;
74pub const INT_LEAST8_MIN: i32 = -128;
75pub const INT_LEAST16_MIN: i32 = -32768;
76pub const INT_LEAST32_MIN: i32 = -2147483648;
77pub const INT_LEAST8_MAX: u32 = 127;
78pub const INT_LEAST16_MAX: u32 = 32767;
79pub const INT_LEAST32_MAX: u32 = 2147483647;
80pub const UINT_LEAST8_MAX: u32 = 255;
81pub const UINT_LEAST16_MAX: u32 = 65535;
82pub const UINT_LEAST32_MAX: u32 = 4294967295;
83pub const INT_FAST8_MIN: i32 = -128;
84pub const INT_FAST16_MIN: i64 = -9223372036854775808;
85pub const INT_FAST32_MIN: i64 = -9223372036854775808;
86pub const INT_FAST8_MAX: u32 = 127;
87pub const INT_FAST16_MAX: u64 = 9223372036854775807;
88pub const INT_FAST32_MAX: u64 = 9223372036854775807;
89pub const UINT_FAST8_MAX: u32 = 255;
90pub const UINT_FAST16_MAX: i32 = -1;
91pub const UINT_FAST32_MAX: i32 = -1;
92pub const INTPTR_MIN: i64 = -9223372036854775808;
93pub const INTPTR_MAX: u64 = 9223372036854775807;
94pub const UINTPTR_MAX: i32 = -1;
95pub const PTRDIFF_MIN: i64 = -9223372036854775808;
96pub const PTRDIFF_MAX: u64 = 9223372036854775807;
97pub const SIG_ATOMIC_MIN: i32 = -2147483648;
98pub const SIG_ATOMIC_MAX: u32 = 2147483647;
99pub const SIZE_MAX: i32 = -1;
100pub const WINT_MIN: u32 = 0;
101pub const WINT_MAX: u32 = 4294967295;
102pub const __bool_true_false_are_defined: u32 = 1;
103pub const true_: u32 = 1;
104pub const false_: u32 = 0;
105pub const VIRGL_MAJOR_VERSION: u32 = 1;
106pub const VIRGL_MINOR_VERSION: u32 = 3;
107pub const VIRGL_MICRO_VERSION: u32 = 0;
108pub const VIRGL_RENDERER_CALLBACKS_VERSION: u32 = 4;
109pub const VIRGL_RENDERER_USE_EGL: u32 = 1;
110pub const VIRGL_RENDERER_THREAD_SYNC: u32 = 2;
111pub const VIRGL_RENDERER_USE_GLX: u32 = 4;
112pub const VIRGL_RENDERER_USE_SURFACELESS: u32 = 8;
113pub const VIRGL_RENDERER_USE_GLES: u32 = 16;
114pub const VIRGL_RENDERER_USE_EXTERNAL_BLOB: u32 = 32;
115pub const VIRGL_RENDERER_VENUS: u32 = 64;
116pub const VIRGL_RENDERER_NO_VIRGL: u32 = 128;
117pub const VIRGL_RENDERER_ASYNC_FENCE_CB: u32 = 256;
118pub const VIRGL_RENDERER_RENDER_SERVER: u32 = 512;
119pub const VIRGL_RENDERER_DRM: u32 = 1024;
120pub const VIRGL_RENDERER_USE_VIDEO: u32 = 2048;
121pub const VIRGL_RENDERER_D3D11_SHARE_TEXTURE: u32 = 4096;
122pub const VIRGL_RENDERER_COMPAT_PROFILE: u32 = 8192;
123pub const VIRGL_RENDERER_USE_GUEST_VRAM: u32 = 16384;
124pub const VIRGL_RES_BIND_DEPTH_STENCIL: u32 = 1;
125pub const VIRGL_RES_BIND_RENDER_TARGET: u32 = 2;
126pub const VIRGL_RES_BIND_SAMPLER_VIEW: u32 = 8;
127pub const VIRGL_RES_BIND_VERTEX_BUFFER: u32 = 16;
128pub const VIRGL_RES_BIND_INDEX_BUFFER: u32 = 32;
129pub const VIRGL_RES_BIND_CONSTANT_BUFFER: u32 = 64;
130pub const VIRGL_RES_BIND_STREAM_OUTPUT: u32 = 2048;
131pub const VIRGL_RES_BIND_CURSOR: u32 = 65536;
132pub const VIRGL_RES_BIND_CUSTOM: u32 = 131072;
133pub const VIRGL_RES_BIND_SCANOUT: u32 = 262144;
134pub const VIRGL_RES_BIND_SHARED: u32 = 1048576;
135pub const VIRGL_RENDERER_RESOURCE_INFO_EXT_VERSION: u32 = 0;
136pub const VIRGL_RENDERER_CONTEXT_FLAG_CAPSET_ID_MASK: u32 = 255;
137pub const VIRGL_RENDERER_BLOB_MEM_GUEST: u32 = 1;
138pub const VIRGL_RENDERER_BLOB_MEM_HOST3D: u32 = 2;
139pub const VIRGL_RENDERER_BLOB_MEM_HOST3D_GUEST: u32 = 3;
140pub const VIRGL_RENDERER_BLOB_MEM_GUEST_VRAM: u32 = 4;
141pub const VIRGL_RENDERER_BLOB_FLAG_USE_MAPPABLE: u32 = 1;
142pub const VIRGL_RENDERER_BLOB_FLAG_USE_SHAREABLE: u32 = 2;
143pub const VIRGL_RENDERER_BLOB_FLAG_USE_CROSS_DEVICE: u32 = 4;
144pub const VIRGL_RENDERER_MAP_CACHE_MASK: u32 = 15;
145pub const VIRGL_RENDERER_MAP_CACHE_NONE: u32 = 0;
146pub const VIRGL_RENDERER_MAP_CACHE_CACHED: u32 = 1;
147pub const VIRGL_RENDERER_MAP_CACHE_UNCACHED: u32 = 2;
148pub const VIRGL_RENDERER_MAP_CACHE_WC: u32 = 3;
149pub const VIRGL_RENDERER_BLOB_FD_TYPE_DMABUF: u32 = 1;
150pub const VIRGL_RENDERER_BLOB_FD_TYPE_OPAQUE: u32 = 2;
151pub const VIRGL_RENDERER_BLOB_FD_TYPE_SHM: u32 = 3;
152pub const VIRGL_RENDERER_FENCE_FLAG_MERGEABLE: u32 = 1;
153pub type __u_char = ::std::os::raw::c_uchar;
154pub type __u_short = ::std::os::raw::c_ushort;
155pub type __u_int = ::std::os::raw::c_uint;
156pub type __u_long = ::std::os::raw::c_ulong;
157pub type __int8_t = ::std::os::raw::c_schar;
158pub type __uint8_t = ::std::os::raw::c_uchar;
159pub type __int16_t = ::std::os::raw::c_short;
160pub type __uint16_t = ::std::os::raw::c_ushort;
161pub type __int32_t = ::std::os::raw::c_int;
162pub type __uint32_t = ::std::os::raw::c_uint;
163pub type __int64_t = ::std::os::raw::c_long;
164pub type __uint64_t = ::std::os::raw::c_ulong;
165pub type __int_least8_t = __int8_t;
166pub type __uint_least8_t = __uint8_t;
167pub type __int_least16_t = __int16_t;
168pub type __uint_least16_t = __uint16_t;
169pub type __int_least32_t = __int32_t;
170pub type __uint_least32_t = __uint32_t;
171pub type __int_least64_t = __int64_t;
172pub type __uint_least64_t = __uint64_t;
173pub type __quad_t = ::std::os::raw::c_long;
174pub type __u_quad_t = ::std::os::raw::c_ulong;
175pub type __intmax_t = ::std::os::raw::c_long;
176pub type __uintmax_t = ::std::os::raw::c_ulong;
177pub type __dev_t = ::std::os::raw::c_ulong;
178pub type __uid_t = ::std::os::raw::c_uint;
179pub type __gid_t = ::std::os::raw::c_uint;
180pub type __ino_t = ::std::os::raw::c_ulong;
181pub type __ino64_t = ::std::os::raw::c_ulong;
182pub type __mode_t = ::std::os::raw::c_uint;
183pub type __nlink_t = ::std::os::raw::c_ulong;
184pub type __off_t = ::std::os::raw::c_long;
185pub type __off64_t = ::std::os::raw::c_long;
186pub type __pid_t = ::std::os::raw::c_int;
187#[repr(C)]
188#[derive(Debug, Copy, Clone)]
189pub struct __fsid_t {
190    pub __val: [::std::os::raw::c_int; 2usize],
191}
192#[allow(clippy::unnecessary_operation, clippy::identity_op)]
193const _: () = {
194    ["Size of __fsid_t"][::std::mem::size_of::<__fsid_t>() - 8usize];
195    ["Alignment of __fsid_t"][::std::mem::align_of::<__fsid_t>() - 4usize];
196    ["Offset of field: __fsid_t::__val"][::std::mem::offset_of!(__fsid_t, __val) - 0usize];
197};
198pub type __clock_t = ::std::os::raw::c_long;
199pub type __rlim_t = ::std::os::raw::c_ulong;
200pub type __rlim64_t = ::std::os::raw::c_ulong;
201pub type __id_t = ::std::os::raw::c_uint;
202pub type __time_t = ::std::os::raw::c_long;
203pub type __useconds_t = ::std::os::raw::c_uint;
204pub type __suseconds_t = ::std::os::raw::c_long;
205pub type __suseconds64_t = ::std::os::raw::c_long;
206pub type __daddr_t = ::std::os::raw::c_int;
207pub type __key_t = ::std::os::raw::c_int;
208pub type __clockid_t = ::std::os::raw::c_int;
209pub type __timer_t = *mut ::std::os::raw::c_void;
210pub type __blksize_t = ::std::os::raw::c_long;
211pub type __blkcnt_t = ::std::os::raw::c_long;
212pub type __blkcnt64_t = ::std::os::raw::c_long;
213pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
214pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
215pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
216pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
217pub type __fsword_t = ::std::os::raw::c_long;
218pub type __ssize_t = ::std::os::raw::c_long;
219pub type __syscall_slong_t = ::std::os::raw::c_long;
220pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
221pub type __loff_t = __off64_t;
222pub type __caddr_t = *mut ::std::os::raw::c_char;
223pub type __intptr_t = ::std::os::raw::c_long;
224pub type __socklen_t = ::std::os::raw::c_uint;
225pub type __sig_atomic_t = ::std::os::raw::c_int;
226pub type int_least8_t = __int_least8_t;
227pub type int_least16_t = __int_least16_t;
228pub type int_least32_t = __int_least32_t;
229pub type int_least64_t = __int_least64_t;
230pub type uint_least8_t = __uint_least8_t;
231pub type uint_least16_t = __uint_least16_t;
232pub type uint_least32_t = __uint_least32_t;
233pub type uint_least64_t = __uint_least64_t;
234pub type int_fast8_t = ::std::os::raw::c_schar;
235pub type int_fast16_t = ::std::os::raw::c_long;
236pub type int_fast32_t = ::std::os::raw::c_long;
237pub type int_fast64_t = ::std::os::raw::c_long;
238pub type uint_fast8_t = ::std::os::raw::c_uchar;
239pub type uint_fast16_t = ::std::os::raw::c_ulong;
240pub type uint_fast32_t = ::std::os::raw::c_ulong;
241pub type uint_fast64_t = ::std::os::raw::c_ulong;
242pub type intmax_t = __intmax_t;
243pub type uintmax_t = __uintmax_t;
244pub type __gnuc_va_list = __builtin_va_list;
245pub type va_list = __builtin_va_list;
246#[repr(C)]
247#[derive(Debug, Copy, Clone)]
248pub struct virgl_box {
249    _unused: [u8; 0],
250}
251#[repr(C)]
252#[derive(Debug, Copy, Clone)]
253pub struct iovec {
254    _unused: [u8; 0],
255}
256pub type virgl_renderer_gl_context = *mut ::std::os::raw::c_void;
257#[repr(C)]
258#[derive(Debug, Copy, Clone)]
259pub struct virgl_renderer_gl_ctx_param {
260    pub version: ::std::os::raw::c_int,
261    pub shared: bool,
262    pub major_ver: ::std::os::raw::c_int,
263    pub minor_ver: ::std::os::raw::c_int,
264    pub compat_ctx: ::std::os::raw::c_int,
265}
266#[allow(clippy::unnecessary_operation, clippy::identity_op)]
267const _: () = {
268    ["Size of virgl_renderer_gl_ctx_param"]
269        [::std::mem::size_of::<virgl_renderer_gl_ctx_param>() - 20usize];
270    ["Alignment of virgl_renderer_gl_ctx_param"]
271        [::std::mem::align_of::<virgl_renderer_gl_ctx_param>() - 4usize];
272    ["Offset of field: virgl_renderer_gl_ctx_param::version"]
273        [::std::mem::offset_of!(virgl_renderer_gl_ctx_param, version) - 0usize];
274    ["Offset of field: virgl_renderer_gl_ctx_param::shared"]
275        [::std::mem::offset_of!(virgl_renderer_gl_ctx_param, shared) - 4usize];
276    ["Offset of field: virgl_renderer_gl_ctx_param::major_ver"]
277        [::std::mem::offset_of!(virgl_renderer_gl_ctx_param, major_ver) - 8usize];
278    ["Offset of field: virgl_renderer_gl_ctx_param::minor_ver"]
279        [::std::mem::offset_of!(virgl_renderer_gl_ctx_param, minor_ver) - 12usize];
280    ["Offset of field: virgl_renderer_gl_ctx_param::compat_ctx"]
281        [::std::mem::offset_of!(virgl_renderer_gl_ctx_param, compat_ctx) - 16usize];
282};
283#[repr(C)]
284#[derive(Debug, Copy, Clone)]
285pub struct virgl_renderer_callbacks {
286    pub version: ::std::os::raw::c_int,
287    pub write_fence: ::std::option::Option<
288        unsafe extern "C" fn(cookie: *mut ::std::os::raw::c_void, fence: u32),
289    >,
290    pub create_gl_context: ::std::option::Option<
291        unsafe extern "C" fn(
292            cookie: *mut ::std::os::raw::c_void,
293            scanout_idx: ::std::os::raw::c_int,
294            param: *mut virgl_renderer_gl_ctx_param,
295        ) -> virgl_renderer_gl_context,
296    >,
297    pub destroy_gl_context: ::std::option::Option<
298        unsafe extern "C" fn(cookie: *mut ::std::os::raw::c_void, ctx: virgl_renderer_gl_context),
299    >,
300    pub make_current: ::std::option::Option<
301        unsafe extern "C" fn(
302            cookie: *mut ::std::os::raw::c_void,
303            scanout_idx: ::std::os::raw::c_int,
304            ctx: virgl_renderer_gl_context,
305        ) -> ::std::os::raw::c_int,
306    >,
307    pub get_drm_fd: ::std::option::Option<
308        unsafe extern "C" fn(cookie: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
309    >,
310    pub write_context_fence: ::std::option::Option<
311        unsafe extern "C" fn(
312            cookie: *mut ::std::os::raw::c_void,
313            ctx_id: u32,
314            ring_idx: u32,
315            fence_id: u64,
316        ),
317    >,
318    pub get_server_fd: ::std::option::Option<
319        unsafe extern "C" fn(
320            cookie: *mut ::std::os::raw::c_void,
321            version: u32,
322        ) -> ::std::os::raw::c_int,
323    >,
324    pub get_egl_display: ::std::option::Option<
325        unsafe extern "C" fn(cookie: *mut ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void,
326    >,
327}
328#[allow(clippy::unnecessary_operation, clippy::identity_op)]
329const _: () = {
330    ["Size of virgl_renderer_callbacks"]
331        [::std::mem::size_of::<virgl_renderer_callbacks>() - 72usize];
332    ["Alignment of virgl_renderer_callbacks"]
333        [::std::mem::align_of::<virgl_renderer_callbacks>() - 8usize];
334    ["Offset of field: virgl_renderer_callbacks::version"]
335        [::std::mem::offset_of!(virgl_renderer_callbacks, version) - 0usize];
336    ["Offset of field: virgl_renderer_callbacks::write_fence"]
337        [::std::mem::offset_of!(virgl_renderer_callbacks, write_fence) - 8usize];
338    ["Offset of field: virgl_renderer_callbacks::create_gl_context"]
339        [::std::mem::offset_of!(virgl_renderer_callbacks, create_gl_context) - 16usize];
340    ["Offset of field: virgl_renderer_callbacks::destroy_gl_context"]
341        [::std::mem::offset_of!(virgl_renderer_callbacks, destroy_gl_context) - 24usize];
342    ["Offset of field: virgl_renderer_callbacks::make_current"]
343        [::std::mem::offset_of!(virgl_renderer_callbacks, make_current) - 32usize];
344    ["Offset of field: virgl_renderer_callbacks::get_drm_fd"]
345        [::std::mem::offset_of!(virgl_renderer_callbacks, get_drm_fd) - 40usize];
346    ["Offset of field: virgl_renderer_callbacks::write_context_fence"]
347        [::std::mem::offset_of!(virgl_renderer_callbacks, write_context_fence) - 48usize];
348    ["Offset of field: virgl_renderer_callbacks::get_server_fd"]
349        [::std::mem::offset_of!(virgl_renderer_callbacks, get_server_fd) - 56usize];
350    ["Offset of field: virgl_renderer_callbacks::get_egl_display"]
351        [::std::mem::offset_of!(virgl_renderer_callbacks, get_egl_display) - 64usize];
352};
353unsafe extern "C" {
354    pub fn virgl_renderer_init(
355        cookie: *mut ::std::os::raw::c_void,
356        flags: ::std::os::raw::c_int,
357        cb: *mut virgl_renderer_callbacks,
358    ) -> ::std::os::raw::c_int;
359}
360unsafe extern "C" {
361    pub fn virgl_renderer_poll();
362}
363unsafe extern "C" {
364    pub fn virgl_renderer_get_cursor_data(
365        resource_id: u32,
366        width: *mut u32,
367        height: *mut u32,
368    ) -> *mut ::std::os::raw::c_void;
369}
370unsafe extern "C" {
371    pub fn virgl_renderer_get_rect(
372        resource_id: ::std::os::raw::c_int,
373        iov: *mut iovec,
374        num_iovs: ::std::os::raw::c_uint,
375        offset: u32,
376        x: ::std::os::raw::c_int,
377        y: ::std::os::raw::c_int,
378        width: ::std::os::raw::c_int,
379        height: ::std::os::raw::c_int,
380    );
381}
382unsafe extern "C" {
383    pub fn virgl_renderer_get_fd_for_texture(
384        tex_id: u32,
385        fd: *mut ::std::os::raw::c_int,
386    ) -> ::std::os::raw::c_int;
387}
388unsafe extern "C" {
389    pub fn virgl_renderer_get_fd_for_texture2(
390        tex_id: u32,
391        fd: *mut ::std::os::raw::c_int,
392        stride: *mut ::std::os::raw::c_int,
393        offset: *mut ::std::os::raw::c_int,
394    ) -> ::std::os::raw::c_int;
395}
396pub const virgl_renderer_structure_type_v0_VIRGL_RENDERER_STRUCTURE_TYPE_NONE:
397    virgl_renderer_structure_type_v0 = 0;
398pub const virgl_renderer_structure_type_v0_VIRGL_RENDERER_STRUCTURE_TYPE_EXPORT_QUERY:
399    virgl_renderer_structure_type_v0 = 1;
400pub const virgl_renderer_structure_type_v0_VIRGL_RENDERER_STRUCTURE_TYPE_SUPPORTED_STRUCTURES:
401    virgl_renderer_structure_type_v0 = 2;
402pub type virgl_renderer_structure_type_v0 = ::std::os::raw::c_uint;
403#[repr(C)]
404#[derive(Debug, Copy, Clone)]
405pub struct virgl_renderer_resource_create_args {
406    pub handle: u32,
407    pub target: u32,
408    pub format: u32,
409    pub bind: u32,
410    pub width: u32,
411    pub height: u32,
412    pub depth: u32,
413    pub array_size: u32,
414    pub last_level: u32,
415    pub nr_samples: u32,
416    pub flags: u32,
417}
418#[allow(clippy::unnecessary_operation, clippy::identity_op)]
419const _: () = {
420    ["Size of virgl_renderer_resource_create_args"]
421        [::std::mem::size_of::<virgl_renderer_resource_create_args>() - 44usize];
422    ["Alignment of virgl_renderer_resource_create_args"]
423        [::std::mem::align_of::<virgl_renderer_resource_create_args>() - 4usize];
424    ["Offset of field: virgl_renderer_resource_create_args::handle"]
425        [::std::mem::offset_of!(virgl_renderer_resource_create_args, handle) - 0usize];
426    ["Offset of field: virgl_renderer_resource_create_args::target"]
427        [::std::mem::offset_of!(virgl_renderer_resource_create_args, target) - 4usize];
428    ["Offset of field: virgl_renderer_resource_create_args::format"]
429        [::std::mem::offset_of!(virgl_renderer_resource_create_args, format) - 8usize];
430    ["Offset of field: virgl_renderer_resource_create_args::bind"]
431        [::std::mem::offset_of!(virgl_renderer_resource_create_args, bind) - 12usize];
432    ["Offset of field: virgl_renderer_resource_create_args::width"]
433        [::std::mem::offset_of!(virgl_renderer_resource_create_args, width) - 16usize];
434    ["Offset of field: virgl_renderer_resource_create_args::height"]
435        [::std::mem::offset_of!(virgl_renderer_resource_create_args, height) - 20usize];
436    ["Offset of field: virgl_renderer_resource_create_args::depth"]
437        [::std::mem::offset_of!(virgl_renderer_resource_create_args, depth) - 24usize];
438    ["Offset of field: virgl_renderer_resource_create_args::array_size"]
439        [::std::mem::offset_of!(virgl_renderer_resource_create_args, array_size) - 28usize];
440    ["Offset of field: virgl_renderer_resource_create_args::last_level"]
441        [::std::mem::offset_of!(virgl_renderer_resource_create_args, last_level) - 32usize];
442    ["Offset of field: virgl_renderer_resource_create_args::nr_samples"]
443        [::std::mem::offset_of!(virgl_renderer_resource_create_args, nr_samples) - 36usize];
444    ["Offset of field: virgl_renderer_resource_create_args::flags"]
445        [::std::mem::offset_of!(virgl_renderer_resource_create_args, flags) - 40usize];
446};
447#[repr(C)]
448#[derive(Debug, Copy, Clone)]
449pub struct virgl_renderer_hdr {
450    pub stype: u32,
451    pub stype_version: u32,
452    pub size: u32,
453}
454#[allow(clippy::unnecessary_operation, clippy::identity_op)]
455const _: () = {
456    ["Size of virgl_renderer_hdr"][::std::mem::size_of::<virgl_renderer_hdr>() - 12usize];
457    ["Alignment of virgl_renderer_hdr"][::std::mem::align_of::<virgl_renderer_hdr>() - 4usize];
458    ["Offset of field: virgl_renderer_hdr::stype"]
459        [::std::mem::offset_of!(virgl_renderer_hdr, stype) - 0usize];
460    ["Offset of field: virgl_renderer_hdr::stype_version"]
461        [::std::mem::offset_of!(virgl_renderer_hdr, stype_version) - 4usize];
462    ["Offset of field: virgl_renderer_hdr::size"]
463        [::std::mem::offset_of!(virgl_renderer_hdr, size) - 8usize];
464};
465#[repr(C)]
466#[derive(Debug, Copy, Clone)]
467pub struct virgl_renderer_export_query {
468    pub hdr: virgl_renderer_hdr,
469    pub in_resource_id: u32,
470    pub out_num_fds: u32,
471    pub in_export_fds: u32,
472    pub out_fourcc: u32,
473    pub pad: u32,
474    pub out_fds: [i32; 4usize],
475    pub out_strides: [u32; 4usize],
476    pub out_offsets: [u32; 4usize],
477    pub out_modifier: u64,
478}
479#[allow(clippy::unnecessary_operation, clippy::identity_op)]
480const _: () = {
481    ["Size of virgl_renderer_export_query"]
482        [::std::mem::size_of::<virgl_renderer_export_query>() - 88usize];
483    ["Alignment of virgl_renderer_export_query"]
484        [::std::mem::align_of::<virgl_renderer_export_query>() - 8usize];
485    ["Offset of field: virgl_renderer_export_query::hdr"]
486        [::std::mem::offset_of!(virgl_renderer_export_query, hdr) - 0usize];
487    ["Offset of field: virgl_renderer_export_query::in_resource_id"]
488        [::std::mem::offset_of!(virgl_renderer_export_query, in_resource_id) - 12usize];
489    ["Offset of field: virgl_renderer_export_query::out_num_fds"]
490        [::std::mem::offset_of!(virgl_renderer_export_query, out_num_fds) - 16usize];
491    ["Offset of field: virgl_renderer_export_query::in_export_fds"]
492        [::std::mem::offset_of!(virgl_renderer_export_query, in_export_fds) - 20usize];
493    ["Offset of field: virgl_renderer_export_query::out_fourcc"]
494        [::std::mem::offset_of!(virgl_renderer_export_query, out_fourcc) - 24usize];
495    ["Offset of field: virgl_renderer_export_query::pad"]
496        [::std::mem::offset_of!(virgl_renderer_export_query, pad) - 28usize];
497    ["Offset of field: virgl_renderer_export_query::out_fds"]
498        [::std::mem::offset_of!(virgl_renderer_export_query, out_fds) - 32usize];
499    ["Offset of field: virgl_renderer_export_query::out_strides"]
500        [::std::mem::offset_of!(virgl_renderer_export_query, out_strides) - 48usize];
501    ["Offset of field: virgl_renderer_export_query::out_offsets"]
502        [::std::mem::offset_of!(virgl_renderer_export_query, out_offsets) - 64usize];
503    ["Offset of field: virgl_renderer_export_query::out_modifier"]
504        [::std::mem::offset_of!(virgl_renderer_export_query, out_modifier) - 80usize];
505};
506#[repr(C)]
507#[derive(Debug, Copy, Clone)]
508pub struct virgl_renderer_supported_structures {
509    pub hdr: virgl_renderer_hdr,
510    pub in_stype_version: u32,
511    pub out_supported_structures_mask: u32,
512}
513#[allow(clippy::unnecessary_operation, clippy::identity_op)]
514const _: () = {
515    ["Size of virgl_renderer_supported_structures"]
516        [::std::mem::size_of::<virgl_renderer_supported_structures>() - 20usize];
517    ["Alignment of virgl_renderer_supported_structures"]
518        [::std::mem::align_of::<virgl_renderer_supported_structures>() - 4usize];
519    ["Offset of field: virgl_renderer_supported_structures::hdr"]
520        [::std::mem::offset_of!(virgl_renderer_supported_structures, hdr) - 0usize];
521    ["Offset of field: virgl_renderer_supported_structures::in_stype_version"]
522        [::std::mem::offset_of!(virgl_renderer_supported_structures, in_stype_version) - 12usize];
523    ["Offset of field: virgl_renderer_supported_structures::out_supported_structures_mask"][::std::mem::offset_of!(
524        virgl_renderer_supported_structures,
525        out_supported_structures_mask
526    )
527        - 16usize];
528};
529pub type virgl_debug_callback_type = ::std::option::Option<
530    unsafe extern "C" fn(fmt: *const ::std::os::raw::c_char, ap: *mut __va_list_tag),
531>;
532pub const virgl_log_level_flags_VIRGL_LOG_LEVEL_DEBUG: virgl_log_level_flags = 0;
533pub const virgl_log_level_flags_VIRGL_LOG_LEVEL_INFO: virgl_log_level_flags = 1;
534pub const virgl_log_level_flags_VIRGL_LOG_LEVEL_WARNING: virgl_log_level_flags = 2;
535pub const virgl_log_level_flags_VIRGL_LOG_LEVEL_ERROR: virgl_log_level_flags = 3;
536pub const virgl_log_level_flags_VIRGL_LOG_LEVEL_SILENT: virgl_log_level_flags = 4;
537pub type virgl_log_level_flags = ::std::os::raw::c_uint;
538pub type virgl_free_data_callback_type =
539    ::std::option::Option<unsafe extern "C" fn(user_data: *mut ::std::os::raw::c_void)>;
540pub type virgl_log_callback_type = ::std::option::Option<
541    unsafe extern "C" fn(
542        log_level: virgl_log_level_flags,
543        message: *const ::std::os::raw::c_char,
544        user_data: *mut ::std::os::raw::c_void,
545    ),
546>;
547unsafe extern "C" {
548    pub fn virgl_renderer_resource_create(
549        args: *mut virgl_renderer_resource_create_args,
550        iov: *mut iovec,
551        num_iovs: u32,
552    ) -> ::std::os::raw::c_int;
553}
554unsafe extern "C" {
555    pub fn virgl_renderer_resource_import_eglimage(
556        args: *mut virgl_renderer_resource_create_args,
557        image: *mut ::std::os::raw::c_void,
558    ) -> ::std::os::raw::c_int;
559}
560unsafe extern "C" {
561    pub fn virgl_renderer_resource_unref(res_handle: u32);
562}
563unsafe extern "C" {
564    pub fn virgl_renderer_resource_set_priv(res_handle: u32, priv_: *mut ::std::os::raw::c_void);
565}
566unsafe extern "C" {
567    pub fn virgl_renderer_resource_get_priv(res_handle: u32) -> *mut ::std::os::raw::c_void;
568}
569unsafe extern "C" {
570    pub fn virgl_renderer_context_create(
571        handle: u32,
572        nlen: u32,
573        name: *const ::std::os::raw::c_char,
574    ) -> ::std::os::raw::c_int;
575}
576unsafe extern "C" {
577    pub fn virgl_renderer_context_destroy(handle: u32);
578}
579unsafe extern "C" {
580    pub fn virgl_renderer_submit_cmd(
581        buffer: *mut ::std::os::raw::c_void,
582        ctx_id: ::std::os::raw::c_int,
583        ndw: ::std::os::raw::c_int,
584    ) -> ::std::os::raw::c_int;
585}
586unsafe extern "C" {
587    pub fn virgl_renderer_transfer_read_iov(
588        handle: u32,
589        ctx_id: u32,
590        level: u32,
591        stride: u32,
592        layer_stride: u32,
593        box_: *mut virgl_box,
594        offset: u64,
595        iov: *mut iovec,
596        iovec_cnt: ::std::os::raw::c_int,
597    ) -> ::std::os::raw::c_int;
598}
599unsafe extern "C" {
600    pub fn virgl_renderer_transfer_write_iov(
601        handle: u32,
602        ctx_id: u32,
603        level: ::std::os::raw::c_int,
604        stride: u32,
605        layer_stride: u32,
606        box_: *mut virgl_box,
607        offset: u64,
608        iovec: *mut iovec,
609        iovec_cnt: ::std::os::raw::c_uint,
610    ) -> ::std::os::raw::c_int;
611}
612unsafe extern "C" {
613    pub fn virgl_renderer_get_cap_set(set: u32, max_ver: *mut u32, max_size: *mut u32);
614}
615unsafe extern "C" {
616    pub fn virgl_renderer_fill_caps(set: u32, version: u32, caps: *mut ::std::os::raw::c_void);
617}
618unsafe extern "C" {
619    pub fn virgl_renderer_resource_attach_iov(
620        res_handle: ::std::os::raw::c_int,
621        iov: *mut iovec,
622        num_iovs: ::std::os::raw::c_int,
623    ) -> ::std::os::raw::c_int;
624}
625unsafe extern "C" {
626    pub fn virgl_renderer_resource_detach_iov(
627        res_handle: ::std::os::raw::c_int,
628        iov: *mut *mut iovec,
629        num_iovs: *mut ::std::os::raw::c_int,
630    );
631}
632unsafe extern "C" {
633    pub fn virgl_renderer_create_fence(
634        client_fence_id: ::std::os::raw::c_int,
635        ctx_id: u32,
636    ) -> ::std::os::raw::c_int;
637}
638unsafe extern "C" {
639    pub fn virgl_renderer_force_ctx_0();
640}
641unsafe extern "C" {
642    pub fn virgl_renderer_ctx_attach_resource(
643        ctx_id: ::std::os::raw::c_int,
644        res_handle: ::std::os::raw::c_int,
645    );
646}
647unsafe extern "C" {
648    pub fn virgl_renderer_ctx_detach_resource(
649        ctx_id: ::std::os::raw::c_int,
650        res_handle: ::std::os::raw::c_int,
651    );
652}
653unsafe extern "C" {
654    pub fn virgl_set_debug_callback(cb: virgl_debug_callback_type) -> virgl_debug_callback_type;
655}
656unsafe extern "C" {
657    pub fn virgl_set_log_callback(
658        cb: virgl_log_callback_type,
659        user_data: *mut ::std::os::raw::c_void,
660        free_user_data_cb: virgl_free_data_callback_type,
661    );
662}
663#[repr(C)]
664#[derive(Debug, Copy, Clone)]
665pub struct virgl_renderer_resource_info {
666    pub handle: u32,
667    pub virgl_format: u32,
668    pub width: u32,
669    pub height: u32,
670    pub depth: u32,
671    pub flags: u32,
672    pub tex_id: u32,
673    pub stride: u32,
674    pub drm_fourcc: ::std::os::raw::c_int,
675    pub fd: ::std::os::raw::c_int,
676}
677#[allow(clippy::unnecessary_operation, clippy::identity_op)]
678const _: () = {
679    ["Size of virgl_renderer_resource_info"]
680        [::std::mem::size_of::<virgl_renderer_resource_info>() - 40usize];
681    ["Alignment of virgl_renderer_resource_info"]
682        [::std::mem::align_of::<virgl_renderer_resource_info>() - 4usize];
683    ["Offset of field: virgl_renderer_resource_info::handle"]
684        [::std::mem::offset_of!(virgl_renderer_resource_info, handle) - 0usize];
685    ["Offset of field: virgl_renderer_resource_info::virgl_format"]
686        [::std::mem::offset_of!(virgl_renderer_resource_info, virgl_format) - 4usize];
687    ["Offset of field: virgl_renderer_resource_info::width"]
688        [::std::mem::offset_of!(virgl_renderer_resource_info, width) - 8usize];
689    ["Offset of field: virgl_renderer_resource_info::height"]
690        [::std::mem::offset_of!(virgl_renderer_resource_info, height) - 12usize];
691    ["Offset of field: virgl_renderer_resource_info::depth"]
692        [::std::mem::offset_of!(virgl_renderer_resource_info, depth) - 16usize];
693    ["Offset of field: virgl_renderer_resource_info::flags"]
694        [::std::mem::offset_of!(virgl_renderer_resource_info, flags) - 20usize];
695    ["Offset of field: virgl_renderer_resource_info::tex_id"]
696        [::std::mem::offset_of!(virgl_renderer_resource_info, tex_id) - 24usize];
697    ["Offset of field: virgl_renderer_resource_info::stride"]
698        [::std::mem::offset_of!(virgl_renderer_resource_info, stride) - 28usize];
699    ["Offset of field: virgl_renderer_resource_info::drm_fourcc"]
700        [::std::mem::offset_of!(virgl_renderer_resource_info, drm_fourcc) - 32usize];
701    ["Offset of field: virgl_renderer_resource_info::fd"]
702        [::std::mem::offset_of!(virgl_renderer_resource_info, fd) - 36usize];
703};
704#[repr(C)]
705#[derive(Debug, Copy, Clone)]
706pub struct virgl_renderer_resource_info_ext {
707    pub version: ::std::os::raw::c_int,
708    pub base: virgl_renderer_resource_info,
709    pub has_dmabuf_export: bool,
710    pub planes: ::std::os::raw::c_int,
711    pub modifiers: u64,
712    pub d3d_tex2d: *mut ::std::os::raw::c_void,
713}
714#[allow(clippy::unnecessary_operation, clippy::identity_op)]
715const _: () = {
716    ["Size of virgl_renderer_resource_info_ext"]
717        [::std::mem::size_of::<virgl_renderer_resource_info_ext>() - 72usize];
718    ["Alignment of virgl_renderer_resource_info_ext"]
719        [::std::mem::align_of::<virgl_renderer_resource_info_ext>() - 8usize];
720    ["Offset of field: virgl_renderer_resource_info_ext::version"]
721        [::std::mem::offset_of!(virgl_renderer_resource_info_ext, version) - 0usize];
722    ["Offset of field: virgl_renderer_resource_info_ext::base"]
723        [::std::mem::offset_of!(virgl_renderer_resource_info_ext, base) - 4usize];
724    ["Offset of field: virgl_renderer_resource_info_ext::has_dmabuf_export"]
725        [::std::mem::offset_of!(virgl_renderer_resource_info_ext, has_dmabuf_export) - 44usize];
726    ["Offset of field: virgl_renderer_resource_info_ext::planes"]
727        [::std::mem::offset_of!(virgl_renderer_resource_info_ext, planes) - 48usize];
728    ["Offset of field: virgl_renderer_resource_info_ext::modifiers"]
729        [::std::mem::offset_of!(virgl_renderer_resource_info_ext, modifiers) - 56usize];
730    ["Offset of field: virgl_renderer_resource_info_ext::d3d_tex2d"]
731        [::std::mem::offset_of!(virgl_renderer_resource_info_ext, d3d_tex2d) - 64usize];
732};
733unsafe extern "C" {
734    pub fn virgl_renderer_resource_get_info(
735        res_handle: ::std::os::raw::c_int,
736        info: *mut virgl_renderer_resource_info,
737    ) -> ::std::os::raw::c_int;
738}
739unsafe extern "C" {
740    pub fn virgl_renderer_resource_get_info_ext(
741        res_handle: ::std::os::raw::c_int,
742        info: *mut virgl_renderer_resource_info_ext,
743    ) -> ::std::os::raw::c_int;
744}
745unsafe extern "C" {
746    pub fn virgl_renderer_cleanup(cookie: *mut ::std::os::raw::c_void);
747}
748unsafe extern "C" {
749    pub fn virgl_renderer_reset();
750}
751unsafe extern "C" {
752    pub fn virgl_renderer_get_poll_fd() -> ::std::os::raw::c_int;
753}
754unsafe extern "C" {
755    pub fn virgl_renderer_execute(
756        execute_args: *mut ::std::os::raw::c_void,
757        execute_size: u32,
758    ) -> ::std::os::raw::c_int;
759}
760unsafe extern "C" {
761    pub fn virgl_renderer_context_create_with_flags(
762        ctx_id: u32,
763        ctx_flags: u32,
764        nlen: u32,
765        name: *const ::std::os::raw::c_char,
766    ) -> ::std::os::raw::c_int;
767}
768#[repr(C)]
769#[derive(Debug, Copy, Clone)]
770pub struct virgl_renderer_resource_create_blob_args {
771    pub res_handle: u32,
772    pub ctx_id: u32,
773    pub blob_mem: u32,
774    pub blob_flags: u32,
775    pub blob_id: u64,
776    pub size: u64,
777    pub iovecs: *const iovec,
778    pub num_iovs: u32,
779}
780#[allow(clippy::unnecessary_operation, clippy::identity_op)]
781const _: () = {
782    ["Size of virgl_renderer_resource_create_blob_args"]
783        [::std::mem::size_of::<virgl_renderer_resource_create_blob_args>() - 48usize];
784    ["Alignment of virgl_renderer_resource_create_blob_args"]
785        [::std::mem::align_of::<virgl_renderer_resource_create_blob_args>() - 8usize];
786    ["Offset of field: virgl_renderer_resource_create_blob_args::res_handle"]
787        [::std::mem::offset_of!(virgl_renderer_resource_create_blob_args, res_handle) - 0usize];
788    ["Offset of field: virgl_renderer_resource_create_blob_args::ctx_id"]
789        [::std::mem::offset_of!(virgl_renderer_resource_create_blob_args, ctx_id) - 4usize];
790    ["Offset of field: virgl_renderer_resource_create_blob_args::blob_mem"]
791        [::std::mem::offset_of!(virgl_renderer_resource_create_blob_args, blob_mem) - 8usize];
792    ["Offset of field: virgl_renderer_resource_create_blob_args::blob_flags"]
793        [::std::mem::offset_of!(virgl_renderer_resource_create_blob_args, blob_flags) - 12usize];
794    ["Offset of field: virgl_renderer_resource_create_blob_args::blob_id"]
795        [::std::mem::offset_of!(virgl_renderer_resource_create_blob_args, blob_id) - 16usize];
796    ["Offset of field: virgl_renderer_resource_create_blob_args::size"]
797        [::std::mem::offset_of!(virgl_renderer_resource_create_blob_args, size) - 24usize];
798    ["Offset of field: virgl_renderer_resource_create_blob_args::iovecs"]
799        [::std::mem::offset_of!(virgl_renderer_resource_create_blob_args, iovecs) - 32usize];
800    ["Offset of field: virgl_renderer_resource_create_blob_args::num_iovs"]
801        [::std::mem::offset_of!(virgl_renderer_resource_create_blob_args, num_iovs) - 40usize];
802};
803unsafe extern "C" {
804    pub fn virgl_renderer_resource_create_blob(
805        args: *const virgl_renderer_resource_create_blob_args,
806    ) -> ::std::os::raw::c_int;
807}
808unsafe extern "C" {
809    pub fn virgl_renderer_resource_map(
810        res_handle: u32,
811        map: *mut *mut ::std::os::raw::c_void,
812        out_size: *mut u64,
813    ) -> ::std::os::raw::c_int;
814}
815unsafe extern "C" {
816    pub fn virgl_renderer_resource_unmap(res_handle: u32) -> ::std::os::raw::c_int;
817}
818unsafe extern "C" {
819    pub fn virgl_renderer_resource_get_map_info(
820        res_handle: u32,
821        map_info: *mut u32,
822    ) -> ::std::os::raw::c_int;
823}
824unsafe extern "C" {
825    pub fn virgl_renderer_resource_export_blob(
826        res_id: u32,
827        fd_type: *mut u32,
828        fd: *mut ::std::os::raw::c_int,
829    ) -> ::std::os::raw::c_int;
830}
831#[repr(C)]
832#[derive(Debug, Copy, Clone)]
833pub struct virgl_renderer_resource_import_blob_args {
834    pub res_handle: u32,
835    pub blob_mem: u32,
836    pub fd_type: u32,
837    pub fd: ::std::os::raw::c_int,
838    pub size: u64,
839}
840#[allow(clippy::unnecessary_operation, clippy::identity_op)]
841const _: () = {
842    ["Size of virgl_renderer_resource_import_blob_args"]
843        [::std::mem::size_of::<virgl_renderer_resource_import_blob_args>() - 24usize];
844    ["Alignment of virgl_renderer_resource_import_blob_args"]
845        [::std::mem::align_of::<virgl_renderer_resource_import_blob_args>() - 8usize];
846    ["Offset of field: virgl_renderer_resource_import_blob_args::res_handle"]
847        [::std::mem::offset_of!(virgl_renderer_resource_import_blob_args, res_handle) - 0usize];
848    ["Offset of field: virgl_renderer_resource_import_blob_args::blob_mem"]
849        [::std::mem::offset_of!(virgl_renderer_resource_import_blob_args, blob_mem) - 4usize];
850    ["Offset of field: virgl_renderer_resource_import_blob_args::fd_type"]
851        [::std::mem::offset_of!(virgl_renderer_resource_import_blob_args, fd_type) - 8usize];
852    ["Offset of field: virgl_renderer_resource_import_blob_args::fd"]
853        [::std::mem::offset_of!(virgl_renderer_resource_import_blob_args, fd) - 12usize];
854    ["Offset of field: virgl_renderer_resource_import_blob_args::size"]
855        [::std::mem::offset_of!(virgl_renderer_resource_import_blob_args, size) - 16usize];
856};
857unsafe extern "C" {
858    pub fn virgl_renderer_resource_import_blob(
859        args: *const virgl_renderer_resource_import_blob_args,
860    ) -> ::std::os::raw::c_int;
861}
862unsafe extern "C" {
863    pub fn virgl_renderer_context_create_fence(
864        ctx_id: u32,
865        flags: u32,
866        ring_idx: u32,
867        fence_id: u64,
868    ) -> ::std::os::raw::c_int;
869}
870unsafe extern "C" {
871    pub fn virgl_renderer_context_poll(ctx_id: u32);
872}
873unsafe extern "C" {
874    pub fn virgl_renderer_context_get_poll_fd(ctx_id: u32) -> ::std::os::raw::c_int;
875}
876unsafe extern "C" {
877    pub fn virgl_renderer_resource_map_fixed(
878        res_handle: u32,
879        addr: *mut ::std::os::raw::c_void,
880    ) -> ::std::os::raw::c_int;
881}
882unsafe extern "C" {
883    pub fn virgl_renderer_export_fence(
884        client_fence_id: u64,
885        fd: *mut ::std::os::raw::c_int,
886    ) -> ::std::os::raw::c_int;
887}
888unsafe extern "C" {
889    pub fn virgl_renderer_export_signalled_fence() -> ::std::os::raw::c_int;
890}
891unsafe extern "C" {
892    pub fn virgl_renderer_submit_cmd2(
893        buffer: *mut ::std::os::raw::c_void,
894        ctx_id: ::std::os::raw::c_int,
895        ndw: ::std::os::raw::c_int,
896        in_fence_ids: *mut u64,
897        num_in_fences: u32,
898    ) -> ::std::os::raw::c_int;
899}
900unsafe extern "C" {
901    pub fn virgl_renderer_attach_fence(
902        ctx_id: ::std::os::raw::c_int,
903        fence_fd: ::std::os::raw::c_int,
904    ) -> ::std::os::raw::c_int;
905}
906unsafe extern "C" {
907    pub fn virgl_renderer_get_fence_fd(fence_id: u64) -> ::std::os::raw::c_int;
908}
909unsafe extern "C" {
910    pub fn virgl_renderer_get_dev_fd(ctx_id: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
911}
912pub type __builtin_va_list = [__va_list_tag; 1usize];
913#[repr(C)]
914#[derive(Debug, Copy, Clone)]
915pub struct __va_list_tag {
916    pub gp_offset: ::std::os::raw::c_uint,
917    pub fp_offset: ::std::os::raw::c_uint,
918    pub overflow_arg_area: *mut ::std::os::raw::c_void,
919    pub reg_save_area: *mut ::std::os::raw::c_void,
920}
921#[allow(clippy::unnecessary_operation, clippy::identity_op)]
922const _: () = {
923    ["Size of __va_list_tag"][::std::mem::size_of::<__va_list_tag>() - 24usize];
924    ["Alignment of __va_list_tag"][::std::mem::align_of::<__va_list_tag>() - 8usize];
925    ["Offset of field: __va_list_tag::gp_offset"]
926        [::std::mem::offset_of!(__va_list_tag, gp_offset) - 0usize];
927    ["Offset of field: __va_list_tag::fp_offset"]
928        [::std::mem::offset_of!(__va_list_tag, fp_offset) - 4usize];
929    ["Offset of field: __va_list_tag::overflow_arg_area"]
930        [::std::mem::offset_of!(__va_list_tag, overflow_arg_area) - 8usize];
931    ["Offset of field: __va_list_tag::reg_save_area"]
932        [::std::mem::offset_of!(__va_list_tag, reg_save_area) - 16usize];
933};