1pub 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};