1#![allow(clippy::too_many_arguments)]
7
8#[allow(unused_imports)]
9use std::borrow::Cow;
10#[allow(unused_imports)]
11use std::convert::TryInto;
12#[allow(unused_imports)]
13use crate::utils::RawFdContainer;
14#[allow(unused_imports)]
15use crate::x11_utils::{Request, RequestHeader, Serialize, TryParse, TryParseFd};
16use std::io::IoSlice;
17use crate::connection::RequestConnection;
18#[allow(unused_imports)]
19use crate::connection::Connection as X11Connection;
20#[allow(unused_imports)]
21use crate::cookie::{Cookie, CookieWithFds, VoidCookie};
22use crate::errors::ConnectionError;
23#[allow(unused_imports)]
24use crate::errors::ReplyOrIdError;
25use std::future::Future;
26use std::pin::Pin;
27#[allow(unused_imports)]
28use super::xproto;
29
30pub use x11rb_protocol::protocol::glx::*;
31
32async fn major_opcode<Conn: RequestConnection + ?Sized>(conn: &Conn) -> Result<u8, ConnectionError> {
34 let info = conn.extension_information(X11_EXTENSION_NAME).await?;
35 let info = info.ok_or(ConnectionError::UnsupportedExtension)?;
36 Ok(info.major_opcode)
37}
38
39pub async fn render<'c, 'input, Conn>(conn: &'c Conn, context_tag: ContextTag, data: &'input [u8]) -> Result<VoidCookie<'c, Conn>, ConnectionError>
40where
41 Conn: RequestConnection + ?Sized,
42{
43 let request0 = RenderRequest {
44 context_tag,
45 data: Cow::Borrowed(data),
46 };
47 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
48 let slices = [IoSlice::new(&bytes[0]), IoSlice::new(&bytes[1]), IoSlice::new(&bytes[2])];
49 assert_eq!(slices.len(), bytes.len());
50 conn.send_request_without_reply(&slices, fds).await
51}
52pub async fn render_large<'c, 'input, Conn>(conn: &'c Conn, context_tag: ContextTag, request_num: u16, request_total: u16, data: &'input [u8]) -> Result<VoidCookie<'c, Conn>, ConnectionError>
53where
54 Conn: RequestConnection + ?Sized,
55{
56 let request0 = RenderLargeRequest {
57 context_tag,
58 request_num,
59 request_total,
60 data: Cow::Borrowed(data),
61 };
62 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
63 let slices = [IoSlice::new(&bytes[0]), IoSlice::new(&bytes[1]), IoSlice::new(&bytes[2])];
64 assert_eq!(slices.len(), bytes.len());
65 conn.send_request_without_reply(&slices, fds).await
66}
67pub async fn create_context<Conn>(conn: &Conn, context: Context, visual: xproto::Visualid, screen: u32, share_list: Context, is_direct: bool) -> Result<VoidCookie<'_, Conn>, ConnectionError>
68where
69 Conn: RequestConnection + ?Sized,
70{
71 let request0 = CreateContextRequest {
72 context,
73 visual,
74 screen,
75 share_list,
76 is_direct,
77 };
78 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
79 let slices = [IoSlice::new(&bytes[0])];
80 assert_eq!(slices.len(), bytes.len());
81 conn.send_request_without_reply(&slices, fds).await
82}
83pub async fn destroy_context<Conn>(conn: &Conn, context: Context) -> Result<VoidCookie<'_, Conn>, ConnectionError>
84where
85 Conn: RequestConnection + ?Sized,
86{
87 let request0 = DestroyContextRequest {
88 context,
89 };
90 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
91 let slices = [IoSlice::new(&bytes[0])];
92 assert_eq!(slices.len(), bytes.len());
93 conn.send_request_without_reply(&slices, fds).await
94}
95pub async fn make_current<Conn>(conn: &Conn, drawable: Drawable, context: Context, old_context_tag: ContextTag) -> Result<Cookie<'_, Conn, MakeCurrentReply>, ConnectionError>
96where
97 Conn: RequestConnection + ?Sized,
98{
99 let request0 = MakeCurrentRequest {
100 drawable,
101 context,
102 old_context_tag,
103 };
104 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
105 let slices = [IoSlice::new(&bytes[0])];
106 assert_eq!(slices.len(), bytes.len());
107 conn.send_request_with_reply(&slices, fds).await
108}
109pub async fn is_direct<Conn>(conn: &Conn, context: Context) -> Result<Cookie<'_, Conn, IsDirectReply>, ConnectionError>
110where
111 Conn: RequestConnection + ?Sized,
112{
113 let request0 = IsDirectRequest {
114 context,
115 };
116 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
117 let slices = [IoSlice::new(&bytes[0])];
118 assert_eq!(slices.len(), bytes.len());
119 conn.send_request_with_reply(&slices, fds).await
120}
121pub async fn query_version<Conn>(conn: &Conn, major_version: u32, minor_version: u32) -> Result<Cookie<'_, Conn, QueryVersionReply>, ConnectionError>
122where
123 Conn: RequestConnection + ?Sized,
124{
125 let request0 = QueryVersionRequest {
126 major_version,
127 minor_version,
128 };
129 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
130 let slices = [IoSlice::new(&bytes[0])];
131 assert_eq!(slices.len(), bytes.len());
132 conn.send_request_with_reply(&slices, fds).await
133}
134pub async fn wait_gl<Conn>(conn: &Conn, context_tag: ContextTag) -> Result<VoidCookie<'_, Conn>, ConnectionError>
135where
136 Conn: RequestConnection + ?Sized,
137{
138 let request0 = WaitGLRequest {
139 context_tag,
140 };
141 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
142 let slices = [IoSlice::new(&bytes[0])];
143 assert_eq!(slices.len(), bytes.len());
144 conn.send_request_without_reply(&slices, fds).await
145}
146pub async fn wait_x<Conn>(conn: &Conn, context_tag: ContextTag) -> Result<VoidCookie<'_, Conn>, ConnectionError>
147where
148 Conn: RequestConnection + ?Sized,
149{
150 let request0 = WaitXRequest {
151 context_tag,
152 };
153 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
154 let slices = [IoSlice::new(&bytes[0])];
155 assert_eq!(slices.len(), bytes.len());
156 conn.send_request_without_reply(&slices, fds).await
157}
158pub async fn copy_context<Conn>(conn: &Conn, src: Context, dest: Context, mask: u32, src_context_tag: ContextTag) -> Result<VoidCookie<'_, Conn>, ConnectionError>
159where
160 Conn: RequestConnection + ?Sized,
161{
162 let request0 = CopyContextRequest {
163 src,
164 dest,
165 mask,
166 src_context_tag,
167 };
168 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
169 let slices = [IoSlice::new(&bytes[0])];
170 assert_eq!(slices.len(), bytes.len());
171 conn.send_request_without_reply(&slices, fds).await
172}
173pub async fn swap_buffers<Conn>(conn: &Conn, context_tag: ContextTag, drawable: Drawable) -> Result<VoidCookie<'_, Conn>, ConnectionError>
174where
175 Conn: RequestConnection + ?Sized,
176{
177 let request0 = SwapBuffersRequest {
178 context_tag,
179 drawable,
180 };
181 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
182 let slices = [IoSlice::new(&bytes[0])];
183 assert_eq!(slices.len(), bytes.len());
184 conn.send_request_without_reply(&slices, fds).await
185}
186pub async fn use_x_font<Conn>(conn: &Conn, context_tag: ContextTag, font: xproto::Font, first: u32, count: u32, list_base: u32) -> Result<VoidCookie<'_, Conn>, ConnectionError>
187where
188 Conn: RequestConnection + ?Sized,
189{
190 let request0 = UseXFontRequest {
191 context_tag,
192 font,
193 first,
194 count,
195 list_base,
196 };
197 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
198 let slices = [IoSlice::new(&bytes[0])];
199 assert_eq!(slices.len(), bytes.len());
200 conn.send_request_without_reply(&slices, fds).await
201}
202pub async fn create_glx_pixmap<Conn>(conn: &Conn, screen: u32, visual: xproto::Visualid, pixmap: xproto::Pixmap, glx_pixmap: Pixmap) -> Result<VoidCookie<'_, Conn>, ConnectionError>
203where
204 Conn: RequestConnection + ?Sized,
205{
206 let request0 = CreateGLXPixmapRequest {
207 screen,
208 visual,
209 pixmap,
210 glx_pixmap,
211 };
212 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
213 let slices = [IoSlice::new(&bytes[0])];
214 assert_eq!(slices.len(), bytes.len());
215 conn.send_request_without_reply(&slices, fds).await
216}
217pub async fn get_visual_configs<Conn>(conn: &Conn, screen: u32) -> Result<Cookie<'_, Conn, GetVisualConfigsReply>, ConnectionError>
218where
219 Conn: RequestConnection + ?Sized,
220{
221 let request0 = GetVisualConfigsRequest {
222 screen,
223 };
224 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
225 let slices = [IoSlice::new(&bytes[0])];
226 assert_eq!(slices.len(), bytes.len());
227 conn.send_request_with_reply(&slices, fds).await
228}
229pub async fn destroy_glx_pixmap<Conn>(conn: &Conn, glx_pixmap: Pixmap) -> Result<VoidCookie<'_, Conn>, ConnectionError>
230where
231 Conn: RequestConnection + ?Sized,
232{
233 let request0 = DestroyGLXPixmapRequest {
234 glx_pixmap,
235 };
236 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
237 let slices = [IoSlice::new(&bytes[0])];
238 assert_eq!(slices.len(), bytes.len());
239 conn.send_request_without_reply(&slices, fds).await
240}
241pub async fn vendor_private<'c, 'input, Conn>(conn: &'c Conn, vendor_code: u32, context_tag: ContextTag, data: &'input [u8]) -> Result<VoidCookie<'c, Conn>, ConnectionError>
242where
243 Conn: RequestConnection + ?Sized,
244{
245 let request0 = VendorPrivateRequest {
246 vendor_code,
247 context_tag,
248 data: Cow::Borrowed(data),
249 };
250 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
251 let slices = [IoSlice::new(&bytes[0]), IoSlice::new(&bytes[1]), IoSlice::new(&bytes[2])];
252 assert_eq!(slices.len(), bytes.len());
253 conn.send_request_without_reply(&slices, fds).await
254}
255pub async fn vendor_private_with_reply<'c, 'input, Conn>(conn: &'c Conn, vendor_code: u32, context_tag: ContextTag, data: &'input [u8]) -> Result<Cookie<'c, Conn, VendorPrivateWithReplyReply>, ConnectionError>
256where
257 Conn: RequestConnection + ?Sized,
258{
259 let request0 = VendorPrivateWithReplyRequest {
260 vendor_code,
261 context_tag,
262 data: Cow::Borrowed(data),
263 };
264 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
265 let slices = [IoSlice::new(&bytes[0]), IoSlice::new(&bytes[1]), IoSlice::new(&bytes[2])];
266 assert_eq!(slices.len(), bytes.len());
267 conn.send_request_with_reply(&slices, fds).await
268}
269pub async fn query_extensions_string<Conn>(conn: &Conn, screen: u32) -> Result<Cookie<'_, Conn, QueryExtensionsStringReply>, ConnectionError>
270where
271 Conn: RequestConnection + ?Sized,
272{
273 let request0 = QueryExtensionsStringRequest {
274 screen,
275 };
276 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
277 let slices = [IoSlice::new(&bytes[0])];
278 assert_eq!(slices.len(), bytes.len());
279 conn.send_request_with_reply(&slices, fds).await
280}
281pub async fn query_server_string<Conn>(conn: &Conn, screen: u32, name: u32) -> Result<Cookie<'_, Conn, QueryServerStringReply>, ConnectionError>
282where
283 Conn: RequestConnection + ?Sized,
284{
285 let request0 = QueryServerStringRequest {
286 screen,
287 name,
288 };
289 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
290 let slices = [IoSlice::new(&bytes[0])];
291 assert_eq!(slices.len(), bytes.len());
292 conn.send_request_with_reply(&slices, fds).await
293}
294pub async fn client_info<'c, 'input, Conn>(conn: &'c Conn, major_version: u32, minor_version: u32, string: &'input [u8]) -> Result<VoidCookie<'c, Conn>, ConnectionError>
295where
296 Conn: RequestConnection + ?Sized,
297{
298 let request0 = ClientInfoRequest {
299 major_version,
300 minor_version,
301 string: Cow::Borrowed(string),
302 };
303 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
304 let slices = [IoSlice::new(&bytes[0]), IoSlice::new(&bytes[1]), IoSlice::new(&bytes[2])];
305 assert_eq!(slices.len(), bytes.len());
306 conn.send_request_without_reply(&slices, fds).await
307}
308pub async fn get_fb_configs<Conn>(conn: &Conn, screen: u32) -> Result<Cookie<'_, Conn, GetFBConfigsReply>, ConnectionError>
309where
310 Conn: RequestConnection + ?Sized,
311{
312 let request0 = GetFBConfigsRequest {
313 screen,
314 };
315 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
316 let slices = [IoSlice::new(&bytes[0])];
317 assert_eq!(slices.len(), bytes.len());
318 conn.send_request_with_reply(&slices, fds).await
319}
320pub async fn create_pixmap<'c, 'input, Conn>(conn: &'c Conn, screen: u32, fbconfig: Fbconfig, pixmap: xproto::Pixmap, glx_pixmap: Pixmap, attribs: &'input [u32]) -> Result<VoidCookie<'c, Conn>, ConnectionError>
321where
322 Conn: RequestConnection + ?Sized,
323{
324 let request0 = CreatePixmapRequest {
325 screen,
326 fbconfig,
327 pixmap,
328 glx_pixmap,
329 attribs: Cow::Borrowed(attribs),
330 };
331 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
332 let slices = [IoSlice::new(&bytes[0]), IoSlice::new(&bytes[1]), IoSlice::new(&bytes[2])];
333 assert_eq!(slices.len(), bytes.len());
334 conn.send_request_without_reply(&slices, fds).await
335}
336pub async fn destroy_pixmap<Conn>(conn: &Conn, glx_pixmap: Pixmap) -> Result<VoidCookie<'_, Conn>, ConnectionError>
337where
338 Conn: RequestConnection + ?Sized,
339{
340 let request0 = DestroyPixmapRequest {
341 glx_pixmap,
342 };
343 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
344 let slices = [IoSlice::new(&bytes[0])];
345 assert_eq!(slices.len(), bytes.len());
346 conn.send_request_without_reply(&slices, fds).await
347}
348pub async fn create_new_context<Conn>(conn: &Conn, context: Context, fbconfig: Fbconfig, screen: u32, render_type: u32, share_list: Context, is_direct: bool) -> Result<VoidCookie<'_, Conn>, ConnectionError>
349where
350 Conn: RequestConnection + ?Sized,
351{
352 let request0 = CreateNewContextRequest {
353 context,
354 fbconfig,
355 screen,
356 render_type,
357 share_list,
358 is_direct,
359 };
360 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
361 let slices = [IoSlice::new(&bytes[0])];
362 assert_eq!(slices.len(), bytes.len());
363 conn.send_request_without_reply(&slices, fds).await
364}
365pub async fn query_context<Conn>(conn: &Conn, context: Context) -> Result<Cookie<'_, Conn, QueryContextReply>, ConnectionError>
366where
367 Conn: RequestConnection + ?Sized,
368{
369 let request0 = QueryContextRequest {
370 context,
371 };
372 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
373 let slices = [IoSlice::new(&bytes[0])];
374 assert_eq!(slices.len(), bytes.len());
375 conn.send_request_with_reply(&slices, fds).await
376}
377pub async fn make_context_current<Conn>(conn: &Conn, old_context_tag: ContextTag, drawable: Drawable, read_drawable: Drawable, context: Context) -> Result<Cookie<'_, Conn, MakeContextCurrentReply>, ConnectionError>
378where
379 Conn: RequestConnection + ?Sized,
380{
381 let request0 = MakeContextCurrentRequest {
382 old_context_tag,
383 drawable,
384 read_drawable,
385 context,
386 };
387 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
388 let slices = [IoSlice::new(&bytes[0])];
389 assert_eq!(slices.len(), bytes.len());
390 conn.send_request_with_reply(&slices, fds).await
391}
392pub async fn create_pbuffer<'c, 'input, Conn>(conn: &'c Conn, screen: u32, fbconfig: Fbconfig, pbuffer: Pbuffer, attribs: &'input [u32]) -> Result<VoidCookie<'c, Conn>, ConnectionError>
393where
394 Conn: RequestConnection + ?Sized,
395{
396 let request0 = CreatePbufferRequest {
397 screen,
398 fbconfig,
399 pbuffer,
400 attribs: Cow::Borrowed(attribs),
401 };
402 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
403 let slices = [IoSlice::new(&bytes[0]), IoSlice::new(&bytes[1]), IoSlice::new(&bytes[2])];
404 assert_eq!(slices.len(), bytes.len());
405 conn.send_request_without_reply(&slices, fds).await
406}
407pub async fn destroy_pbuffer<Conn>(conn: &Conn, pbuffer: Pbuffer) -> Result<VoidCookie<'_, Conn>, ConnectionError>
408where
409 Conn: RequestConnection + ?Sized,
410{
411 let request0 = DestroyPbufferRequest {
412 pbuffer,
413 };
414 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
415 let slices = [IoSlice::new(&bytes[0])];
416 assert_eq!(slices.len(), bytes.len());
417 conn.send_request_without_reply(&slices, fds).await
418}
419pub async fn get_drawable_attributes<Conn>(conn: &Conn, drawable: Drawable) -> Result<Cookie<'_, Conn, GetDrawableAttributesReply>, ConnectionError>
420where
421 Conn: RequestConnection + ?Sized,
422{
423 let request0 = GetDrawableAttributesRequest {
424 drawable,
425 };
426 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
427 let slices = [IoSlice::new(&bytes[0])];
428 assert_eq!(slices.len(), bytes.len());
429 conn.send_request_with_reply(&slices, fds).await
430}
431pub async fn change_drawable_attributes<'c, 'input, Conn>(conn: &'c Conn, drawable: Drawable, attribs: &'input [u32]) -> Result<VoidCookie<'c, Conn>, ConnectionError>
432where
433 Conn: RequestConnection + ?Sized,
434{
435 let request0 = ChangeDrawableAttributesRequest {
436 drawable,
437 attribs: Cow::Borrowed(attribs),
438 };
439 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
440 let slices = [IoSlice::new(&bytes[0]), IoSlice::new(&bytes[1]), IoSlice::new(&bytes[2])];
441 assert_eq!(slices.len(), bytes.len());
442 conn.send_request_without_reply(&slices, fds).await
443}
444pub async fn create_window<'c, 'input, Conn>(conn: &'c Conn, screen: u32, fbconfig: Fbconfig, window: xproto::Window, glx_window: Window, attribs: &'input [u32]) -> Result<VoidCookie<'c, Conn>, ConnectionError>
445where
446 Conn: RequestConnection + ?Sized,
447{
448 let request0 = CreateWindowRequest {
449 screen,
450 fbconfig,
451 window,
452 glx_window,
453 attribs: Cow::Borrowed(attribs),
454 };
455 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
456 let slices = [IoSlice::new(&bytes[0]), IoSlice::new(&bytes[1]), IoSlice::new(&bytes[2])];
457 assert_eq!(slices.len(), bytes.len());
458 conn.send_request_without_reply(&slices, fds).await
459}
460pub async fn delete_window<Conn>(conn: &Conn, glxwindow: Window) -> Result<VoidCookie<'_, Conn>, ConnectionError>
461where
462 Conn: RequestConnection + ?Sized,
463{
464 let request0 = DeleteWindowRequest {
465 glxwindow,
466 };
467 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
468 let slices = [IoSlice::new(&bytes[0])];
469 assert_eq!(slices.len(), bytes.len());
470 conn.send_request_without_reply(&slices, fds).await
471}
472pub async fn set_client_info_arb<'c, 'input, Conn>(conn: &'c Conn, major_version: u32, minor_version: u32, gl_versions: &'input [u32], gl_extension_string: &'input [u8], glx_extension_string: &'input [u8]) -> Result<VoidCookie<'c, Conn>, ConnectionError>
473where
474 Conn: RequestConnection + ?Sized,
475{
476 let request0 = SetClientInfoARBRequest {
477 major_version,
478 minor_version,
479 gl_versions: Cow::Borrowed(gl_versions),
480 gl_extension_string: Cow::Borrowed(gl_extension_string),
481 glx_extension_string: Cow::Borrowed(glx_extension_string),
482 };
483 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
484 let slices = [IoSlice::new(&bytes[0]), IoSlice::new(&bytes[1]), IoSlice::new(&bytes[2]), IoSlice::new(&bytes[3]), IoSlice::new(&bytes[4]), IoSlice::new(&bytes[5])];
485 assert_eq!(slices.len(), bytes.len());
486 conn.send_request_without_reply(&slices, fds).await
487}
488pub async fn create_context_attribs_arb<'c, 'input, Conn>(conn: &'c Conn, context: Context, fbconfig: Fbconfig, screen: u32, share_list: Context, is_direct: bool, attribs: &'input [u32]) -> Result<VoidCookie<'c, Conn>, ConnectionError>
489where
490 Conn: RequestConnection + ?Sized,
491{
492 let request0 = CreateContextAttribsARBRequest {
493 context,
494 fbconfig,
495 screen,
496 share_list,
497 is_direct,
498 attribs: Cow::Borrowed(attribs),
499 };
500 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
501 let slices = [IoSlice::new(&bytes[0]), IoSlice::new(&bytes[1]), IoSlice::new(&bytes[2])];
502 assert_eq!(slices.len(), bytes.len());
503 conn.send_request_without_reply(&slices, fds).await
504}
505pub async fn set_client_info2_arb<'c, 'input, Conn>(conn: &'c Conn, major_version: u32, minor_version: u32, gl_versions: &'input [u32], gl_extension_string: &'input [u8], glx_extension_string: &'input [u8]) -> Result<VoidCookie<'c, Conn>, ConnectionError>
506where
507 Conn: RequestConnection + ?Sized,
508{
509 let request0 = SetClientInfo2ARBRequest {
510 major_version,
511 minor_version,
512 gl_versions: Cow::Borrowed(gl_versions),
513 gl_extension_string: Cow::Borrowed(gl_extension_string),
514 glx_extension_string: Cow::Borrowed(glx_extension_string),
515 };
516 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
517 let slices = [IoSlice::new(&bytes[0]), IoSlice::new(&bytes[1]), IoSlice::new(&bytes[2]), IoSlice::new(&bytes[3]), IoSlice::new(&bytes[4]), IoSlice::new(&bytes[5])];
518 assert_eq!(slices.len(), bytes.len());
519 conn.send_request_without_reply(&slices, fds).await
520}
521pub async fn new_list<Conn>(conn: &Conn, context_tag: ContextTag, list: u32, mode: u32) -> Result<VoidCookie<'_, Conn>, ConnectionError>
522where
523 Conn: RequestConnection + ?Sized,
524{
525 let request0 = NewListRequest {
526 context_tag,
527 list,
528 mode,
529 };
530 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
531 let slices = [IoSlice::new(&bytes[0])];
532 assert_eq!(slices.len(), bytes.len());
533 conn.send_request_without_reply(&slices, fds).await
534}
535pub async fn end_list<Conn>(conn: &Conn, context_tag: ContextTag) -> Result<VoidCookie<'_, Conn>, ConnectionError>
536where
537 Conn: RequestConnection + ?Sized,
538{
539 let request0 = EndListRequest {
540 context_tag,
541 };
542 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
543 let slices = [IoSlice::new(&bytes[0])];
544 assert_eq!(slices.len(), bytes.len());
545 conn.send_request_without_reply(&slices, fds).await
546}
547pub async fn delete_lists<Conn>(conn: &Conn, context_tag: ContextTag, list: u32, range: i32) -> Result<VoidCookie<'_, Conn>, ConnectionError>
548where
549 Conn: RequestConnection + ?Sized,
550{
551 let request0 = DeleteListsRequest {
552 context_tag,
553 list,
554 range,
555 };
556 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
557 let slices = [IoSlice::new(&bytes[0])];
558 assert_eq!(slices.len(), bytes.len());
559 conn.send_request_without_reply(&slices, fds).await
560}
561pub async fn gen_lists<Conn>(conn: &Conn, context_tag: ContextTag, range: i32) -> Result<Cookie<'_, Conn, GenListsReply>, ConnectionError>
562where
563 Conn: RequestConnection + ?Sized,
564{
565 let request0 = GenListsRequest {
566 context_tag,
567 range,
568 };
569 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
570 let slices = [IoSlice::new(&bytes[0])];
571 assert_eq!(slices.len(), bytes.len());
572 conn.send_request_with_reply(&slices, fds).await
573}
574pub async fn feedback_buffer<Conn>(conn: &Conn, context_tag: ContextTag, size: i32, type_: i32) -> Result<VoidCookie<'_, Conn>, ConnectionError>
575where
576 Conn: RequestConnection + ?Sized,
577{
578 let request0 = FeedbackBufferRequest {
579 context_tag,
580 size,
581 type_,
582 };
583 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
584 let slices = [IoSlice::new(&bytes[0])];
585 assert_eq!(slices.len(), bytes.len());
586 conn.send_request_without_reply(&slices, fds).await
587}
588pub async fn select_buffer<Conn>(conn: &Conn, context_tag: ContextTag, size: i32) -> Result<VoidCookie<'_, Conn>, ConnectionError>
589where
590 Conn: RequestConnection + ?Sized,
591{
592 let request0 = SelectBufferRequest {
593 context_tag,
594 size,
595 };
596 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
597 let slices = [IoSlice::new(&bytes[0])];
598 assert_eq!(slices.len(), bytes.len());
599 conn.send_request_without_reply(&slices, fds).await
600}
601pub async fn render_mode<Conn>(conn: &Conn, context_tag: ContextTag, mode: u32) -> Result<Cookie<'_, Conn, RenderModeReply>, ConnectionError>
602where
603 Conn: RequestConnection + ?Sized,
604{
605 let request0 = RenderModeRequest {
606 context_tag,
607 mode,
608 };
609 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
610 let slices = [IoSlice::new(&bytes[0])];
611 assert_eq!(slices.len(), bytes.len());
612 conn.send_request_with_reply(&slices, fds).await
613}
614pub async fn finish<Conn>(conn: &Conn, context_tag: ContextTag) -> Result<Cookie<'_, Conn, FinishReply>, ConnectionError>
615where
616 Conn: RequestConnection + ?Sized,
617{
618 let request0 = FinishRequest {
619 context_tag,
620 };
621 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
622 let slices = [IoSlice::new(&bytes[0])];
623 assert_eq!(slices.len(), bytes.len());
624 conn.send_request_with_reply(&slices, fds).await
625}
626pub async fn pixel_storef<Conn>(conn: &Conn, context_tag: ContextTag, pname: u32, datum: Float32) -> Result<VoidCookie<'_, Conn>, ConnectionError>
627where
628 Conn: RequestConnection + ?Sized,
629{
630 let request0 = PixelStorefRequest {
631 context_tag,
632 pname,
633 datum,
634 };
635 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
636 let slices = [IoSlice::new(&bytes[0])];
637 assert_eq!(slices.len(), bytes.len());
638 conn.send_request_without_reply(&slices, fds).await
639}
640pub async fn pixel_storei<Conn>(conn: &Conn, context_tag: ContextTag, pname: u32, datum: i32) -> Result<VoidCookie<'_, Conn>, ConnectionError>
641where
642 Conn: RequestConnection + ?Sized,
643{
644 let request0 = PixelStoreiRequest {
645 context_tag,
646 pname,
647 datum,
648 };
649 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
650 let slices = [IoSlice::new(&bytes[0])];
651 assert_eq!(slices.len(), bytes.len());
652 conn.send_request_without_reply(&slices, fds).await
653}
654pub async fn read_pixels<Conn>(conn: &Conn, context_tag: ContextTag, x: i32, y: i32, width: i32, height: i32, format: u32, type_: u32, swap_bytes: bool, lsb_first: bool) -> Result<Cookie<'_, Conn, ReadPixelsReply>, ConnectionError>
655where
656 Conn: RequestConnection + ?Sized,
657{
658 let request0 = ReadPixelsRequest {
659 context_tag,
660 x,
661 y,
662 width,
663 height,
664 format,
665 type_,
666 swap_bytes,
667 lsb_first,
668 };
669 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
670 let slices = [IoSlice::new(&bytes[0])];
671 assert_eq!(slices.len(), bytes.len());
672 conn.send_request_with_reply(&slices, fds).await
673}
674pub async fn get_booleanv<Conn>(conn: &Conn, context_tag: ContextTag, pname: i32) -> Result<Cookie<'_, Conn, GetBooleanvReply>, ConnectionError>
675where
676 Conn: RequestConnection + ?Sized,
677{
678 let request0 = GetBooleanvRequest {
679 context_tag,
680 pname,
681 };
682 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
683 let slices = [IoSlice::new(&bytes[0])];
684 assert_eq!(slices.len(), bytes.len());
685 conn.send_request_with_reply(&slices, fds).await
686}
687pub async fn get_clip_plane<Conn>(conn: &Conn, context_tag: ContextTag, plane: i32) -> Result<Cookie<'_, Conn, GetClipPlaneReply>, ConnectionError>
688where
689 Conn: RequestConnection + ?Sized,
690{
691 let request0 = GetClipPlaneRequest {
692 context_tag,
693 plane,
694 };
695 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
696 let slices = [IoSlice::new(&bytes[0])];
697 assert_eq!(slices.len(), bytes.len());
698 conn.send_request_with_reply(&slices, fds).await
699}
700pub async fn get_doublev<Conn>(conn: &Conn, context_tag: ContextTag, pname: u32) -> Result<Cookie<'_, Conn, GetDoublevReply>, ConnectionError>
701where
702 Conn: RequestConnection + ?Sized,
703{
704 let request0 = GetDoublevRequest {
705 context_tag,
706 pname,
707 };
708 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
709 let slices = [IoSlice::new(&bytes[0])];
710 assert_eq!(slices.len(), bytes.len());
711 conn.send_request_with_reply(&slices, fds).await
712}
713pub async fn get_error<Conn>(conn: &Conn, context_tag: ContextTag) -> Result<Cookie<'_, Conn, GetErrorReply>, ConnectionError>
714where
715 Conn: RequestConnection + ?Sized,
716{
717 let request0 = GetErrorRequest {
718 context_tag,
719 };
720 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
721 let slices = [IoSlice::new(&bytes[0])];
722 assert_eq!(slices.len(), bytes.len());
723 conn.send_request_with_reply(&slices, fds).await
724}
725pub async fn get_floatv<Conn>(conn: &Conn, context_tag: ContextTag, pname: u32) -> Result<Cookie<'_, Conn, GetFloatvReply>, ConnectionError>
726where
727 Conn: RequestConnection + ?Sized,
728{
729 let request0 = GetFloatvRequest {
730 context_tag,
731 pname,
732 };
733 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
734 let slices = [IoSlice::new(&bytes[0])];
735 assert_eq!(slices.len(), bytes.len());
736 conn.send_request_with_reply(&slices, fds).await
737}
738pub async fn get_integerv<Conn>(conn: &Conn, context_tag: ContextTag, pname: u32) -> Result<Cookie<'_, Conn, GetIntegervReply>, ConnectionError>
739where
740 Conn: RequestConnection + ?Sized,
741{
742 let request0 = GetIntegervRequest {
743 context_tag,
744 pname,
745 };
746 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
747 let slices = [IoSlice::new(&bytes[0])];
748 assert_eq!(slices.len(), bytes.len());
749 conn.send_request_with_reply(&slices, fds).await
750}
751pub async fn get_lightfv<Conn>(conn: &Conn, context_tag: ContextTag, light: u32, pname: u32) -> Result<Cookie<'_, Conn, GetLightfvReply>, ConnectionError>
752where
753 Conn: RequestConnection + ?Sized,
754{
755 let request0 = GetLightfvRequest {
756 context_tag,
757 light,
758 pname,
759 };
760 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
761 let slices = [IoSlice::new(&bytes[0])];
762 assert_eq!(slices.len(), bytes.len());
763 conn.send_request_with_reply(&slices, fds).await
764}
765pub async fn get_lightiv<Conn>(conn: &Conn, context_tag: ContextTag, light: u32, pname: u32) -> Result<Cookie<'_, Conn, GetLightivReply>, ConnectionError>
766where
767 Conn: RequestConnection + ?Sized,
768{
769 let request0 = GetLightivRequest {
770 context_tag,
771 light,
772 pname,
773 };
774 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
775 let slices = [IoSlice::new(&bytes[0])];
776 assert_eq!(slices.len(), bytes.len());
777 conn.send_request_with_reply(&slices, fds).await
778}
779pub async fn get_mapdv<Conn>(conn: &Conn, context_tag: ContextTag, target: u32, query: u32) -> Result<Cookie<'_, Conn, GetMapdvReply>, ConnectionError>
780where
781 Conn: RequestConnection + ?Sized,
782{
783 let request0 = GetMapdvRequest {
784 context_tag,
785 target,
786 query,
787 };
788 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
789 let slices = [IoSlice::new(&bytes[0])];
790 assert_eq!(slices.len(), bytes.len());
791 conn.send_request_with_reply(&slices, fds).await
792}
793pub async fn get_mapfv<Conn>(conn: &Conn, context_tag: ContextTag, target: u32, query: u32) -> Result<Cookie<'_, Conn, GetMapfvReply>, ConnectionError>
794where
795 Conn: RequestConnection + ?Sized,
796{
797 let request0 = GetMapfvRequest {
798 context_tag,
799 target,
800 query,
801 };
802 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
803 let slices = [IoSlice::new(&bytes[0])];
804 assert_eq!(slices.len(), bytes.len());
805 conn.send_request_with_reply(&slices, fds).await
806}
807pub async fn get_mapiv<Conn>(conn: &Conn, context_tag: ContextTag, target: u32, query: u32) -> Result<Cookie<'_, Conn, GetMapivReply>, ConnectionError>
808where
809 Conn: RequestConnection + ?Sized,
810{
811 let request0 = GetMapivRequest {
812 context_tag,
813 target,
814 query,
815 };
816 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
817 let slices = [IoSlice::new(&bytes[0])];
818 assert_eq!(slices.len(), bytes.len());
819 conn.send_request_with_reply(&slices, fds).await
820}
821pub async fn get_materialfv<Conn>(conn: &Conn, context_tag: ContextTag, face: u32, pname: u32) -> Result<Cookie<'_, Conn, GetMaterialfvReply>, ConnectionError>
822where
823 Conn: RequestConnection + ?Sized,
824{
825 let request0 = GetMaterialfvRequest {
826 context_tag,
827 face,
828 pname,
829 };
830 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
831 let slices = [IoSlice::new(&bytes[0])];
832 assert_eq!(slices.len(), bytes.len());
833 conn.send_request_with_reply(&slices, fds).await
834}
835pub async fn get_materialiv<Conn>(conn: &Conn, context_tag: ContextTag, face: u32, pname: u32) -> Result<Cookie<'_, Conn, GetMaterialivReply>, ConnectionError>
836where
837 Conn: RequestConnection + ?Sized,
838{
839 let request0 = GetMaterialivRequest {
840 context_tag,
841 face,
842 pname,
843 };
844 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
845 let slices = [IoSlice::new(&bytes[0])];
846 assert_eq!(slices.len(), bytes.len());
847 conn.send_request_with_reply(&slices, fds).await
848}
849pub async fn get_pixel_mapfv<Conn>(conn: &Conn, context_tag: ContextTag, map: u32) -> Result<Cookie<'_, Conn, GetPixelMapfvReply>, ConnectionError>
850where
851 Conn: RequestConnection + ?Sized,
852{
853 let request0 = GetPixelMapfvRequest {
854 context_tag,
855 map,
856 };
857 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
858 let slices = [IoSlice::new(&bytes[0])];
859 assert_eq!(slices.len(), bytes.len());
860 conn.send_request_with_reply(&slices, fds).await
861}
862pub async fn get_pixel_mapuiv<Conn>(conn: &Conn, context_tag: ContextTag, map: u32) -> Result<Cookie<'_, Conn, GetPixelMapuivReply>, ConnectionError>
863where
864 Conn: RequestConnection + ?Sized,
865{
866 let request0 = GetPixelMapuivRequest {
867 context_tag,
868 map,
869 };
870 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
871 let slices = [IoSlice::new(&bytes[0])];
872 assert_eq!(slices.len(), bytes.len());
873 conn.send_request_with_reply(&slices, fds).await
874}
875pub async fn get_pixel_mapusv<Conn>(conn: &Conn, context_tag: ContextTag, map: u32) -> Result<Cookie<'_, Conn, GetPixelMapusvReply>, ConnectionError>
876where
877 Conn: RequestConnection + ?Sized,
878{
879 let request0 = GetPixelMapusvRequest {
880 context_tag,
881 map,
882 };
883 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
884 let slices = [IoSlice::new(&bytes[0])];
885 assert_eq!(slices.len(), bytes.len());
886 conn.send_request_with_reply(&slices, fds).await
887}
888pub async fn get_polygon_stipple<Conn>(conn: &Conn, context_tag: ContextTag, lsb_first: bool) -> Result<Cookie<'_, Conn, GetPolygonStippleReply>, ConnectionError>
889where
890 Conn: RequestConnection + ?Sized,
891{
892 let request0 = GetPolygonStippleRequest {
893 context_tag,
894 lsb_first,
895 };
896 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
897 let slices = [IoSlice::new(&bytes[0])];
898 assert_eq!(slices.len(), bytes.len());
899 conn.send_request_with_reply(&slices, fds).await
900}
901pub async fn get_string<Conn>(conn: &Conn, context_tag: ContextTag, name: u32) -> Result<Cookie<'_, Conn, GetStringReply>, ConnectionError>
902where
903 Conn: RequestConnection + ?Sized,
904{
905 let request0 = GetStringRequest {
906 context_tag,
907 name,
908 };
909 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
910 let slices = [IoSlice::new(&bytes[0])];
911 assert_eq!(slices.len(), bytes.len());
912 conn.send_request_with_reply(&slices, fds).await
913}
914pub async fn get_tex_envfv<Conn>(conn: &Conn, context_tag: ContextTag, target: u32, pname: u32) -> Result<Cookie<'_, Conn, GetTexEnvfvReply>, ConnectionError>
915where
916 Conn: RequestConnection + ?Sized,
917{
918 let request0 = GetTexEnvfvRequest {
919 context_tag,
920 target,
921 pname,
922 };
923 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
924 let slices = [IoSlice::new(&bytes[0])];
925 assert_eq!(slices.len(), bytes.len());
926 conn.send_request_with_reply(&slices, fds).await
927}
928pub async fn get_tex_enviv<Conn>(conn: &Conn, context_tag: ContextTag, target: u32, pname: u32) -> Result<Cookie<'_, Conn, GetTexEnvivReply>, ConnectionError>
929where
930 Conn: RequestConnection + ?Sized,
931{
932 let request0 = GetTexEnvivRequest {
933 context_tag,
934 target,
935 pname,
936 };
937 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
938 let slices = [IoSlice::new(&bytes[0])];
939 assert_eq!(slices.len(), bytes.len());
940 conn.send_request_with_reply(&slices, fds).await
941}
942pub async fn get_tex_gendv<Conn>(conn: &Conn, context_tag: ContextTag, coord: u32, pname: u32) -> Result<Cookie<'_, Conn, GetTexGendvReply>, ConnectionError>
943where
944 Conn: RequestConnection + ?Sized,
945{
946 let request0 = GetTexGendvRequest {
947 context_tag,
948 coord,
949 pname,
950 };
951 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
952 let slices = [IoSlice::new(&bytes[0])];
953 assert_eq!(slices.len(), bytes.len());
954 conn.send_request_with_reply(&slices, fds).await
955}
956pub async fn get_tex_genfv<Conn>(conn: &Conn, context_tag: ContextTag, coord: u32, pname: u32) -> Result<Cookie<'_, Conn, GetTexGenfvReply>, ConnectionError>
957where
958 Conn: RequestConnection + ?Sized,
959{
960 let request0 = GetTexGenfvRequest {
961 context_tag,
962 coord,
963 pname,
964 };
965 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
966 let slices = [IoSlice::new(&bytes[0])];
967 assert_eq!(slices.len(), bytes.len());
968 conn.send_request_with_reply(&slices, fds).await
969}
970pub async fn get_tex_geniv<Conn>(conn: &Conn, context_tag: ContextTag, coord: u32, pname: u32) -> Result<Cookie<'_, Conn, GetTexGenivReply>, ConnectionError>
971where
972 Conn: RequestConnection + ?Sized,
973{
974 let request0 = GetTexGenivRequest {
975 context_tag,
976 coord,
977 pname,
978 };
979 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
980 let slices = [IoSlice::new(&bytes[0])];
981 assert_eq!(slices.len(), bytes.len());
982 conn.send_request_with_reply(&slices, fds).await
983}
984pub async fn get_tex_image<Conn>(conn: &Conn, context_tag: ContextTag, target: u32, level: i32, format: u32, type_: u32, swap_bytes: bool) -> Result<Cookie<'_, Conn, GetTexImageReply>, ConnectionError>
985where
986 Conn: RequestConnection + ?Sized,
987{
988 let request0 = GetTexImageRequest {
989 context_tag,
990 target,
991 level,
992 format,
993 type_,
994 swap_bytes,
995 };
996 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
997 let slices = [IoSlice::new(&bytes[0])];
998 assert_eq!(slices.len(), bytes.len());
999 conn.send_request_with_reply(&slices, fds).await
1000}
1001pub async fn get_tex_parameterfv<Conn>(conn: &Conn, context_tag: ContextTag, target: u32, pname: u32) -> Result<Cookie<'_, Conn, GetTexParameterfvReply>, ConnectionError>
1002where
1003 Conn: RequestConnection + ?Sized,
1004{
1005 let request0 = GetTexParameterfvRequest {
1006 context_tag,
1007 target,
1008 pname,
1009 };
1010 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1011 let slices = [IoSlice::new(&bytes[0])];
1012 assert_eq!(slices.len(), bytes.len());
1013 conn.send_request_with_reply(&slices, fds).await
1014}
1015pub async fn get_tex_parameteriv<Conn>(conn: &Conn, context_tag: ContextTag, target: u32, pname: u32) -> Result<Cookie<'_, Conn, GetTexParameterivReply>, ConnectionError>
1016where
1017 Conn: RequestConnection + ?Sized,
1018{
1019 let request0 = GetTexParameterivRequest {
1020 context_tag,
1021 target,
1022 pname,
1023 };
1024 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1025 let slices = [IoSlice::new(&bytes[0])];
1026 assert_eq!(slices.len(), bytes.len());
1027 conn.send_request_with_reply(&slices, fds).await
1028}
1029pub async fn get_tex_level_parameterfv<Conn>(conn: &Conn, context_tag: ContextTag, target: u32, level: i32, pname: u32) -> Result<Cookie<'_, Conn, GetTexLevelParameterfvReply>, ConnectionError>
1030where
1031 Conn: RequestConnection + ?Sized,
1032{
1033 let request0 = GetTexLevelParameterfvRequest {
1034 context_tag,
1035 target,
1036 level,
1037 pname,
1038 };
1039 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1040 let slices = [IoSlice::new(&bytes[0])];
1041 assert_eq!(slices.len(), bytes.len());
1042 conn.send_request_with_reply(&slices, fds).await
1043}
1044pub async fn get_tex_level_parameteriv<Conn>(conn: &Conn, context_tag: ContextTag, target: u32, level: i32, pname: u32) -> Result<Cookie<'_, Conn, GetTexLevelParameterivReply>, ConnectionError>
1045where
1046 Conn: RequestConnection + ?Sized,
1047{
1048 let request0 = GetTexLevelParameterivRequest {
1049 context_tag,
1050 target,
1051 level,
1052 pname,
1053 };
1054 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1055 let slices = [IoSlice::new(&bytes[0])];
1056 assert_eq!(slices.len(), bytes.len());
1057 conn.send_request_with_reply(&slices, fds).await
1058}
1059pub async fn is_enabled<Conn>(conn: &Conn, context_tag: ContextTag, capability: u32) -> Result<Cookie<'_, Conn, IsEnabledReply>, ConnectionError>
1060where
1061 Conn: RequestConnection + ?Sized,
1062{
1063 let request0 = IsEnabledRequest {
1064 context_tag,
1065 capability,
1066 };
1067 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1068 let slices = [IoSlice::new(&bytes[0])];
1069 assert_eq!(slices.len(), bytes.len());
1070 conn.send_request_with_reply(&slices, fds).await
1071}
1072pub async fn is_list<Conn>(conn: &Conn, context_tag: ContextTag, list: u32) -> Result<Cookie<'_, Conn, IsListReply>, ConnectionError>
1073where
1074 Conn: RequestConnection + ?Sized,
1075{
1076 let request0 = IsListRequest {
1077 context_tag,
1078 list,
1079 };
1080 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1081 let slices = [IoSlice::new(&bytes[0])];
1082 assert_eq!(slices.len(), bytes.len());
1083 conn.send_request_with_reply(&slices, fds).await
1084}
1085pub async fn flush<Conn>(conn: &Conn, context_tag: ContextTag) -> Result<VoidCookie<'_, Conn>, ConnectionError>
1086where
1087 Conn: RequestConnection + ?Sized,
1088{
1089 let request0 = FlushRequest {
1090 context_tag,
1091 };
1092 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1093 let slices = [IoSlice::new(&bytes[0])];
1094 assert_eq!(slices.len(), bytes.len());
1095 conn.send_request_without_reply(&slices, fds).await
1096}
1097pub async fn are_textures_resident<'c, 'input, Conn>(conn: &'c Conn, context_tag: ContextTag, textures: &'input [u32]) -> Result<Cookie<'c, Conn, AreTexturesResidentReply>, ConnectionError>
1098where
1099 Conn: RequestConnection + ?Sized,
1100{
1101 let request0 = AreTexturesResidentRequest {
1102 context_tag,
1103 textures: Cow::Borrowed(textures),
1104 };
1105 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1106 let slices = [IoSlice::new(&bytes[0]), IoSlice::new(&bytes[1]), IoSlice::new(&bytes[2])];
1107 assert_eq!(slices.len(), bytes.len());
1108 conn.send_request_with_reply(&slices, fds).await
1109}
1110pub async fn delete_textures<'c, 'input, Conn>(conn: &'c Conn, context_tag: ContextTag, textures: &'input [u32]) -> Result<VoidCookie<'c, Conn>, ConnectionError>
1111where
1112 Conn: RequestConnection + ?Sized,
1113{
1114 let request0 = DeleteTexturesRequest {
1115 context_tag,
1116 textures: Cow::Borrowed(textures),
1117 };
1118 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1119 let slices = [IoSlice::new(&bytes[0]), IoSlice::new(&bytes[1]), IoSlice::new(&bytes[2])];
1120 assert_eq!(slices.len(), bytes.len());
1121 conn.send_request_without_reply(&slices, fds).await
1122}
1123pub async fn gen_textures<Conn>(conn: &Conn, context_tag: ContextTag, n: i32) -> Result<Cookie<'_, Conn, GenTexturesReply>, ConnectionError>
1124where
1125 Conn: RequestConnection + ?Sized,
1126{
1127 let request0 = GenTexturesRequest {
1128 context_tag,
1129 n,
1130 };
1131 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1132 let slices = [IoSlice::new(&bytes[0])];
1133 assert_eq!(slices.len(), bytes.len());
1134 conn.send_request_with_reply(&slices, fds).await
1135}
1136pub async fn is_texture<Conn>(conn: &Conn, context_tag: ContextTag, texture: u32) -> Result<Cookie<'_, Conn, IsTextureReply>, ConnectionError>
1137where
1138 Conn: RequestConnection + ?Sized,
1139{
1140 let request0 = IsTextureRequest {
1141 context_tag,
1142 texture,
1143 };
1144 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1145 let slices = [IoSlice::new(&bytes[0])];
1146 assert_eq!(slices.len(), bytes.len());
1147 conn.send_request_with_reply(&slices, fds).await
1148}
1149pub async fn get_color_table<Conn>(conn: &Conn, context_tag: ContextTag, target: u32, format: u32, type_: u32, swap_bytes: bool) -> Result<Cookie<'_, Conn, GetColorTableReply>, ConnectionError>
1150where
1151 Conn: RequestConnection + ?Sized,
1152{
1153 let request0 = GetColorTableRequest {
1154 context_tag,
1155 target,
1156 format,
1157 type_,
1158 swap_bytes,
1159 };
1160 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1161 let slices = [IoSlice::new(&bytes[0])];
1162 assert_eq!(slices.len(), bytes.len());
1163 conn.send_request_with_reply(&slices, fds).await
1164}
1165pub async fn get_color_table_parameterfv<Conn>(conn: &Conn, context_tag: ContextTag, target: u32, pname: u32) -> Result<Cookie<'_, Conn, GetColorTableParameterfvReply>, ConnectionError>
1166where
1167 Conn: RequestConnection + ?Sized,
1168{
1169 let request0 = GetColorTableParameterfvRequest {
1170 context_tag,
1171 target,
1172 pname,
1173 };
1174 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1175 let slices = [IoSlice::new(&bytes[0])];
1176 assert_eq!(slices.len(), bytes.len());
1177 conn.send_request_with_reply(&slices, fds).await
1178}
1179pub async fn get_color_table_parameteriv<Conn>(conn: &Conn, context_tag: ContextTag, target: u32, pname: u32) -> Result<Cookie<'_, Conn, GetColorTableParameterivReply>, ConnectionError>
1180where
1181 Conn: RequestConnection + ?Sized,
1182{
1183 let request0 = GetColorTableParameterivRequest {
1184 context_tag,
1185 target,
1186 pname,
1187 };
1188 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1189 let slices = [IoSlice::new(&bytes[0])];
1190 assert_eq!(slices.len(), bytes.len());
1191 conn.send_request_with_reply(&slices, fds).await
1192}
1193pub async fn get_convolution_filter<Conn>(conn: &Conn, context_tag: ContextTag, target: u32, format: u32, type_: u32, swap_bytes: bool) -> Result<Cookie<'_, Conn, GetConvolutionFilterReply>, ConnectionError>
1194where
1195 Conn: RequestConnection + ?Sized,
1196{
1197 let request0 = GetConvolutionFilterRequest {
1198 context_tag,
1199 target,
1200 format,
1201 type_,
1202 swap_bytes,
1203 };
1204 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1205 let slices = [IoSlice::new(&bytes[0])];
1206 assert_eq!(slices.len(), bytes.len());
1207 conn.send_request_with_reply(&slices, fds).await
1208}
1209pub async fn get_convolution_parameterfv<Conn>(conn: &Conn, context_tag: ContextTag, target: u32, pname: u32) -> Result<Cookie<'_, Conn, GetConvolutionParameterfvReply>, ConnectionError>
1210where
1211 Conn: RequestConnection + ?Sized,
1212{
1213 let request0 = GetConvolutionParameterfvRequest {
1214 context_tag,
1215 target,
1216 pname,
1217 };
1218 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1219 let slices = [IoSlice::new(&bytes[0])];
1220 assert_eq!(slices.len(), bytes.len());
1221 conn.send_request_with_reply(&slices, fds).await
1222}
1223pub async fn get_convolution_parameteriv<Conn>(conn: &Conn, context_tag: ContextTag, target: u32, pname: u32) -> Result<Cookie<'_, Conn, GetConvolutionParameterivReply>, ConnectionError>
1224where
1225 Conn: RequestConnection + ?Sized,
1226{
1227 let request0 = GetConvolutionParameterivRequest {
1228 context_tag,
1229 target,
1230 pname,
1231 };
1232 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1233 let slices = [IoSlice::new(&bytes[0])];
1234 assert_eq!(slices.len(), bytes.len());
1235 conn.send_request_with_reply(&slices, fds).await
1236}
1237pub async fn get_separable_filter<Conn>(conn: &Conn, context_tag: ContextTag, target: u32, format: u32, type_: u32, swap_bytes: bool) -> Result<Cookie<'_, Conn, GetSeparableFilterReply>, ConnectionError>
1238where
1239 Conn: RequestConnection + ?Sized,
1240{
1241 let request0 = GetSeparableFilterRequest {
1242 context_tag,
1243 target,
1244 format,
1245 type_,
1246 swap_bytes,
1247 };
1248 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1249 let slices = [IoSlice::new(&bytes[0])];
1250 assert_eq!(slices.len(), bytes.len());
1251 conn.send_request_with_reply(&slices, fds).await
1252}
1253pub async fn get_histogram<Conn>(conn: &Conn, context_tag: ContextTag, target: u32, format: u32, type_: u32, swap_bytes: bool, reset: bool) -> Result<Cookie<'_, Conn, GetHistogramReply>, ConnectionError>
1254where
1255 Conn: RequestConnection + ?Sized,
1256{
1257 let request0 = GetHistogramRequest {
1258 context_tag,
1259 target,
1260 format,
1261 type_,
1262 swap_bytes,
1263 reset,
1264 };
1265 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1266 let slices = [IoSlice::new(&bytes[0])];
1267 assert_eq!(slices.len(), bytes.len());
1268 conn.send_request_with_reply(&slices, fds).await
1269}
1270pub async fn get_histogram_parameterfv<Conn>(conn: &Conn, context_tag: ContextTag, target: u32, pname: u32) -> Result<Cookie<'_, Conn, GetHistogramParameterfvReply>, ConnectionError>
1271where
1272 Conn: RequestConnection + ?Sized,
1273{
1274 let request0 = GetHistogramParameterfvRequest {
1275 context_tag,
1276 target,
1277 pname,
1278 };
1279 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1280 let slices = [IoSlice::new(&bytes[0])];
1281 assert_eq!(slices.len(), bytes.len());
1282 conn.send_request_with_reply(&slices, fds).await
1283}
1284pub async fn get_histogram_parameteriv<Conn>(conn: &Conn, context_tag: ContextTag, target: u32, pname: u32) -> Result<Cookie<'_, Conn, GetHistogramParameterivReply>, ConnectionError>
1285where
1286 Conn: RequestConnection + ?Sized,
1287{
1288 let request0 = GetHistogramParameterivRequest {
1289 context_tag,
1290 target,
1291 pname,
1292 };
1293 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1294 let slices = [IoSlice::new(&bytes[0])];
1295 assert_eq!(slices.len(), bytes.len());
1296 conn.send_request_with_reply(&slices, fds).await
1297}
1298pub async fn get_minmax<Conn>(conn: &Conn, context_tag: ContextTag, target: u32, format: u32, type_: u32, swap_bytes: bool, reset: bool) -> Result<Cookie<'_, Conn, GetMinmaxReply>, ConnectionError>
1299where
1300 Conn: RequestConnection + ?Sized,
1301{
1302 let request0 = GetMinmaxRequest {
1303 context_tag,
1304 target,
1305 format,
1306 type_,
1307 swap_bytes,
1308 reset,
1309 };
1310 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1311 let slices = [IoSlice::new(&bytes[0])];
1312 assert_eq!(slices.len(), bytes.len());
1313 conn.send_request_with_reply(&slices, fds).await
1314}
1315pub async fn get_minmax_parameterfv<Conn>(conn: &Conn, context_tag: ContextTag, target: u32, pname: u32) -> Result<Cookie<'_, Conn, GetMinmaxParameterfvReply>, ConnectionError>
1316where
1317 Conn: RequestConnection + ?Sized,
1318{
1319 let request0 = GetMinmaxParameterfvRequest {
1320 context_tag,
1321 target,
1322 pname,
1323 };
1324 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1325 let slices = [IoSlice::new(&bytes[0])];
1326 assert_eq!(slices.len(), bytes.len());
1327 conn.send_request_with_reply(&slices, fds).await
1328}
1329pub async fn get_minmax_parameteriv<Conn>(conn: &Conn, context_tag: ContextTag, target: u32, pname: u32) -> Result<Cookie<'_, Conn, GetMinmaxParameterivReply>, ConnectionError>
1330where
1331 Conn: RequestConnection + ?Sized,
1332{
1333 let request0 = GetMinmaxParameterivRequest {
1334 context_tag,
1335 target,
1336 pname,
1337 };
1338 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1339 let slices = [IoSlice::new(&bytes[0])];
1340 assert_eq!(slices.len(), bytes.len());
1341 conn.send_request_with_reply(&slices, fds).await
1342}
1343pub async fn get_compressed_tex_image_arb<Conn>(conn: &Conn, context_tag: ContextTag, target: u32, level: i32) -> Result<Cookie<'_, Conn, GetCompressedTexImageARBReply>, ConnectionError>
1344where
1345 Conn: RequestConnection + ?Sized,
1346{
1347 let request0 = GetCompressedTexImageARBRequest {
1348 context_tag,
1349 target,
1350 level,
1351 };
1352 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1353 let slices = [IoSlice::new(&bytes[0])];
1354 assert_eq!(slices.len(), bytes.len());
1355 conn.send_request_with_reply(&slices, fds).await
1356}
1357pub async fn delete_queries_arb<'c, 'input, Conn>(conn: &'c Conn, context_tag: ContextTag, ids: &'input [u32]) -> Result<VoidCookie<'c, Conn>, ConnectionError>
1358where
1359 Conn: RequestConnection + ?Sized,
1360{
1361 let request0 = DeleteQueriesARBRequest {
1362 context_tag,
1363 ids: Cow::Borrowed(ids),
1364 };
1365 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1366 let slices = [IoSlice::new(&bytes[0]), IoSlice::new(&bytes[1]), IoSlice::new(&bytes[2])];
1367 assert_eq!(slices.len(), bytes.len());
1368 conn.send_request_without_reply(&slices, fds).await
1369}
1370pub async fn gen_queries_arb<Conn>(conn: &Conn, context_tag: ContextTag, n: i32) -> Result<Cookie<'_, Conn, GenQueriesARBReply>, ConnectionError>
1371where
1372 Conn: RequestConnection + ?Sized,
1373{
1374 let request0 = GenQueriesARBRequest {
1375 context_tag,
1376 n,
1377 };
1378 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1379 let slices = [IoSlice::new(&bytes[0])];
1380 assert_eq!(slices.len(), bytes.len());
1381 conn.send_request_with_reply(&slices, fds).await
1382}
1383pub async fn is_query_arb<Conn>(conn: &Conn, context_tag: ContextTag, id: u32) -> Result<Cookie<'_, Conn, IsQueryARBReply>, ConnectionError>
1384where
1385 Conn: RequestConnection + ?Sized,
1386{
1387 let request0 = IsQueryARBRequest {
1388 context_tag,
1389 id,
1390 };
1391 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1392 let slices = [IoSlice::new(&bytes[0])];
1393 assert_eq!(slices.len(), bytes.len());
1394 conn.send_request_with_reply(&slices, fds).await
1395}
1396pub async fn get_queryiv_arb<Conn>(conn: &Conn, context_tag: ContextTag, target: u32, pname: u32) -> Result<Cookie<'_, Conn, GetQueryivARBReply>, ConnectionError>
1397where
1398 Conn: RequestConnection + ?Sized,
1399{
1400 let request0 = GetQueryivARBRequest {
1401 context_tag,
1402 target,
1403 pname,
1404 };
1405 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1406 let slices = [IoSlice::new(&bytes[0])];
1407 assert_eq!(slices.len(), bytes.len());
1408 conn.send_request_with_reply(&slices, fds).await
1409}
1410pub async fn get_query_objectiv_arb<Conn>(conn: &Conn, context_tag: ContextTag, id: u32, pname: u32) -> Result<Cookie<'_, Conn, GetQueryObjectivARBReply>, ConnectionError>
1411where
1412 Conn: RequestConnection + ?Sized,
1413{
1414 let request0 = GetQueryObjectivARBRequest {
1415 context_tag,
1416 id,
1417 pname,
1418 };
1419 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1420 let slices = [IoSlice::new(&bytes[0])];
1421 assert_eq!(slices.len(), bytes.len());
1422 conn.send_request_with_reply(&slices, fds).await
1423}
1424pub async fn get_query_objectuiv_arb<Conn>(conn: &Conn, context_tag: ContextTag, id: u32, pname: u32) -> Result<Cookie<'_, Conn, GetQueryObjectuivARBReply>, ConnectionError>
1425where
1426 Conn: RequestConnection + ?Sized,
1427{
1428 let request0 = GetQueryObjectuivARBRequest {
1429 context_tag,
1430 id,
1431 pname,
1432 };
1433 let (bytes, fds) = request0.serialize(major_opcode(conn).await?);
1434 let slices = [IoSlice::new(&bytes[0])];
1435 assert_eq!(slices.len(), bytes.len());
1436 conn.send_request_with_reply(&slices, fds).await
1437}
1438pub trait ConnectionExt: RequestConnection {
1440 fn glx_render<'c, 'input, 'future>(&'c self, context_tag: ContextTag, data: &'input [u8]) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'c, Self>, ConnectionError>> + Send + 'future>>
1441 where
1442 'c: 'future,
1443 'input: 'future,
1444 {
1445 Box::pin(render(self, context_tag, data))
1446 }
1447 fn glx_render_large<'c, 'input, 'future>(&'c self, context_tag: ContextTag, request_num: u16, request_total: u16, data: &'input [u8]) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'c, Self>, ConnectionError>> + Send + 'future>>
1448 where
1449 'c: 'future,
1450 'input: 'future,
1451 {
1452 Box::pin(render_large(self, context_tag, request_num, request_total, data))
1453 }
1454 fn glx_create_context(&self, context: Context, visual: xproto::Visualid, screen: u32, share_list: Context, is_direct: bool) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'_, Self>, ConnectionError>> + Send + '_>>
1455 {
1456 Box::pin(create_context(self, context, visual, screen, share_list, is_direct))
1457 }
1458 fn glx_destroy_context(&self, context: Context) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'_, Self>, ConnectionError>> + Send + '_>>
1459 {
1460 Box::pin(destroy_context(self, context))
1461 }
1462 fn glx_make_current(&self, drawable: Drawable, context: Context, old_context_tag: ContextTag) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, MakeCurrentReply>, ConnectionError>> + Send + '_>>
1463 {
1464 Box::pin(make_current(self, drawable, context, old_context_tag))
1465 }
1466 fn glx_is_direct(&self, context: Context) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, IsDirectReply>, ConnectionError>> + Send + '_>>
1467 {
1468 Box::pin(is_direct(self, context))
1469 }
1470 fn glx_query_version(&self, major_version: u32, minor_version: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, QueryVersionReply>, ConnectionError>> + Send + '_>>
1471 {
1472 Box::pin(query_version(self, major_version, minor_version))
1473 }
1474 fn glx_wait_gl(&self, context_tag: ContextTag) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'_, Self>, ConnectionError>> + Send + '_>>
1475 {
1476 Box::pin(wait_gl(self, context_tag))
1477 }
1478 fn glx_wait_x(&self, context_tag: ContextTag) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'_, Self>, ConnectionError>> + Send + '_>>
1479 {
1480 Box::pin(wait_x(self, context_tag))
1481 }
1482 fn glx_copy_context(&self, src: Context, dest: Context, mask: u32, src_context_tag: ContextTag) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'_, Self>, ConnectionError>> + Send + '_>>
1483 {
1484 Box::pin(copy_context(self, src, dest, mask, src_context_tag))
1485 }
1486 fn glx_swap_buffers(&self, context_tag: ContextTag, drawable: Drawable) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'_, Self>, ConnectionError>> + Send + '_>>
1487 {
1488 Box::pin(swap_buffers(self, context_tag, drawable))
1489 }
1490 fn glx_use_x_font(&self, context_tag: ContextTag, font: xproto::Font, first: u32, count: u32, list_base: u32) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'_, Self>, ConnectionError>> + Send + '_>>
1491 {
1492 Box::pin(use_x_font(self, context_tag, font, first, count, list_base))
1493 }
1494 fn glx_create_glx_pixmap(&self, screen: u32, visual: xproto::Visualid, pixmap: xproto::Pixmap, glx_pixmap: Pixmap) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'_, Self>, ConnectionError>> + Send + '_>>
1495 {
1496 Box::pin(create_glx_pixmap(self, screen, visual, pixmap, glx_pixmap))
1497 }
1498 fn glx_get_visual_configs(&self, screen: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetVisualConfigsReply>, ConnectionError>> + Send + '_>>
1499 {
1500 Box::pin(get_visual_configs(self, screen))
1501 }
1502 fn glx_destroy_glx_pixmap(&self, glx_pixmap: Pixmap) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'_, Self>, ConnectionError>> + Send + '_>>
1503 {
1504 Box::pin(destroy_glx_pixmap(self, glx_pixmap))
1505 }
1506 fn glx_vendor_private<'c, 'input, 'future>(&'c self, vendor_code: u32, context_tag: ContextTag, data: &'input [u8]) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'c, Self>, ConnectionError>> + Send + 'future>>
1507 where
1508 'c: 'future,
1509 'input: 'future,
1510 {
1511 Box::pin(vendor_private(self, vendor_code, context_tag, data))
1512 }
1513 fn glx_vendor_private_with_reply<'c, 'input, 'future>(&'c self, vendor_code: u32, context_tag: ContextTag, data: &'input [u8]) -> Pin<Box<dyn Future<Output = Result<Cookie<'c, Self, VendorPrivateWithReplyReply>, ConnectionError>> + Send + 'future>>
1514 where
1515 'c: 'future,
1516 'input: 'future,
1517 {
1518 Box::pin(vendor_private_with_reply(self, vendor_code, context_tag, data))
1519 }
1520 fn glx_query_extensions_string(&self, screen: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, QueryExtensionsStringReply>, ConnectionError>> + Send + '_>>
1521 {
1522 Box::pin(query_extensions_string(self, screen))
1523 }
1524 fn glx_query_server_string(&self, screen: u32, name: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, QueryServerStringReply>, ConnectionError>> + Send + '_>>
1525 {
1526 Box::pin(query_server_string(self, screen, name))
1527 }
1528 fn glx_client_info<'c, 'input, 'future>(&'c self, major_version: u32, minor_version: u32, string: &'input [u8]) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'c, Self>, ConnectionError>> + Send + 'future>>
1529 where
1530 'c: 'future,
1531 'input: 'future,
1532 {
1533 Box::pin(client_info(self, major_version, minor_version, string))
1534 }
1535 fn glx_get_fb_configs(&self, screen: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetFBConfigsReply>, ConnectionError>> + Send + '_>>
1536 {
1537 Box::pin(get_fb_configs(self, screen))
1538 }
1539 fn glx_create_pixmap<'c, 'input, 'future>(&'c self, screen: u32, fbconfig: Fbconfig, pixmap: xproto::Pixmap, glx_pixmap: Pixmap, attribs: &'input [u32]) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'c, Self>, ConnectionError>> + Send + 'future>>
1540 where
1541 'c: 'future,
1542 'input: 'future,
1543 {
1544 Box::pin(create_pixmap(self, screen, fbconfig, pixmap, glx_pixmap, attribs))
1545 }
1546 fn glx_destroy_pixmap(&self, glx_pixmap: Pixmap) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'_, Self>, ConnectionError>> + Send + '_>>
1547 {
1548 Box::pin(destroy_pixmap(self, glx_pixmap))
1549 }
1550 fn glx_create_new_context(&self, context: Context, fbconfig: Fbconfig, screen: u32, render_type: u32, share_list: Context, is_direct: bool) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'_, Self>, ConnectionError>> + Send + '_>>
1551 {
1552 Box::pin(create_new_context(self, context, fbconfig, screen, render_type, share_list, is_direct))
1553 }
1554 fn glx_query_context(&self, context: Context) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, QueryContextReply>, ConnectionError>> + Send + '_>>
1555 {
1556 Box::pin(query_context(self, context))
1557 }
1558 fn glx_make_context_current(&self, old_context_tag: ContextTag, drawable: Drawable, read_drawable: Drawable, context: Context) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, MakeContextCurrentReply>, ConnectionError>> + Send + '_>>
1559 {
1560 Box::pin(make_context_current(self, old_context_tag, drawable, read_drawable, context))
1561 }
1562 fn glx_create_pbuffer<'c, 'input, 'future>(&'c self, screen: u32, fbconfig: Fbconfig, pbuffer: Pbuffer, attribs: &'input [u32]) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'c, Self>, ConnectionError>> + Send + 'future>>
1563 where
1564 'c: 'future,
1565 'input: 'future,
1566 {
1567 Box::pin(create_pbuffer(self, screen, fbconfig, pbuffer, attribs))
1568 }
1569 fn glx_destroy_pbuffer(&self, pbuffer: Pbuffer) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'_, Self>, ConnectionError>> + Send + '_>>
1570 {
1571 Box::pin(destroy_pbuffer(self, pbuffer))
1572 }
1573 fn glx_get_drawable_attributes(&self, drawable: Drawable) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetDrawableAttributesReply>, ConnectionError>> + Send + '_>>
1574 {
1575 Box::pin(get_drawable_attributes(self, drawable))
1576 }
1577 fn glx_change_drawable_attributes<'c, 'input, 'future>(&'c self, drawable: Drawable, attribs: &'input [u32]) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'c, Self>, ConnectionError>> + Send + 'future>>
1578 where
1579 'c: 'future,
1580 'input: 'future,
1581 {
1582 Box::pin(change_drawable_attributes(self, drawable, attribs))
1583 }
1584 fn glx_create_window<'c, 'input, 'future>(&'c self, screen: u32, fbconfig: Fbconfig, window: xproto::Window, glx_window: Window, attribs: &'input [u32]) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'c, Self>, ConnectionError>> + Send + 'future>>
1585 where
1586 'c: 'future,
1587 'input: 'future,
1588 {
1589 Box::pin(create_window(self, screen, fbconfig, window, glx_window, attribs))
1590 }
1591 fn glx_delete_window(&self, glxwindow: Window) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'_, Self>, ConnectionError>> + Send + '_>>
1592 {
1593 Box::pin(delete_window(self, glxwindow))
1594 }
1595 fn glx_set_client_info_arb<'c, 'input, 'future>(&'c self, major_version: u32, minor_version: u32, gl_versions: &'input [u32], gl_extension_string: &'input [u8], glx_extension_string: &'input [u8]) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'c, Self>, ConnectionError>> + Send + 'future>>
1596 where
1597 'c: 'future,
1598 'input: 'future,
1599 {
1600 Box::pin(set_client_info_arb(self, major_version, minor_version, gl_versions, gl_extension_string, glx_extension_string))
1601 }
1602 fn glx_create_context_attribs_arb<'c, 'input, 'future>(&'c self, context: Context, fbconfig: Fbconfig, screen: u32, share_list: Context, is_direct: bool, attribs: &'input [u32]) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'c, Self>, ConnectionError>> + Send + 'future>>
1603 where
1604 'c: 'future,
1605 'input: 'future,
1606 {
1607 Box::pin(create_context_attribs_arb(self, context, fbconfig, screen, share_list, is_direct, attribs))
1608 }
1609 fn glx_set_client_info2_arb<'c, 'input, 'future>(&'c self, major_version: u32, minor_version: u32, gl_versions: &'input [u32], gl_extension_string: &'input [u8], glx_extension_string: &'input [u8]) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'c, Self>, ConnectionError>> + Send + 'future>>
1610 where
1611 'c: 'future,
1612 'input: 'future,
1613 {
1614 Box::pin(set_client_info2_arb(self, major_version, minor_version, gl_versions, gl_extension_string, glx_extension_string))
1615 }
1616 fn glx_new_list(&self, context_tag: ContextTag, list: u32, mode: u32) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'_, Self>, ConnectionError>> + Send + '_>>
1617 {
1618 Box::pin(new_list(self, context_tag, list, mode))
1619 }
1620 fn glx_end_list(&self, context_tag: ContextTag) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'_, Self>, ConnectionError>> + Send + '_>>
1621 {
1622 Box::pin(end_list(self, context_tag))
1623 }
1624 fn glx_delete_lists(&self, context_tag: ContextTag, list: u32, range: i32) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'_, Self>, ConnectionError>> + Send + '_>>
1625 {
1626 Box::pin(delete_lists(self, context_tag, list, range))
1627 }
1628 fn glx_gen_lists(&self, context_tag: ContextTag, range: i32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GenListsReply>, ConnectionError>> + Send + '_>>
1629 {
1630 Box::pin(gen_lists(self, context_tag, range))
1631 }
1632 fn glx_feedback_buffer(&self, context_tag: ContextTag, size: i32, type_: i32) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'_, Self>, ConnectionError>> + Send + '_>>
1633 {
1634 Box::pin(feedback_buffer(self, context_tag, size, type_))
1635 }
1636 fn glx_select_buffer(&self, context_tag: ContextTag, size: i32) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'_, Self>, ConnectionError>> + Send + '_>>
1637 {
1638 Box::pin(select_buffer(self, context_tag, size))
1639 }
1640 fn glx_render_mode(&self, context_tag: ContextTag, mode: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, RenderModeReply>, ConnectionError>> + Send + '_>>
1641 {
1642 Box::pin(render_mode(self, context_tag, mode))
1643 }
1644 fn glx_finish(&self, context_tag: ContextTag) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, FinishReply>, ConnectionError>> + Send + '_>>
1645 {
1646 Box::pin(finish(self, context_tag))
1647 }
1648 fn glx_pixel_storef(&self, context_tag: ContextTag, pname: u32, datum: Float32) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'_, Self>, ConnectionError>> + Send + '_>>
1649 {
1650 Box::pin(pixel_storef(self, context_tag, pname, datum))
1651 }
1652 fn glx_pixel_storei(&self, context_tag: ContextTag, pname: u32, datum: i32) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'_, Self>, ConnectionError>> + Send + '_>>
1653 {
1654 Box::pin(pixel_storei(self, context_tag, pname, datum))
1655 }
1656 fn glx_read_pixels(&self, context_tag: ContextTag, x: i32, y: i32, width: i32, height: i32, format: u32, type_: u32, swap_bytes: bool, lsb_first: bool) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, ReadPixelsReply>, ConnectionError>> + Send + '_>>
1657 {
1658 Box::pin(read_pixels(self, context_tag, x, y, width, height, format, type_, swap_bytes, lsb_first))
1659 }
1660 fn glx_get_booleanv(&self, context_tag: ContextTag, pname: i32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetBooleanvReply>, ConnectionError>> + Send + '_>>
1661 {
1662 Box::pin(get_booleanv(self, context_tag, pname))
1663 }
1664 fn glx_get_clip_plane(&self, context_tag: ContextTag, plane: i32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetClipPlaneReply>, ConnectionError>> + Send + '_>>
1665 {
1666 Box::pin(get_clip_plane(self, context_tag, plane))
1667 }
1668 fn glx_get_doublev(&self, context_tag: ContextTag, pname: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetDoublevReply>, ConnectionError>> + Send + '_>>
1669 {
1670 Box::pin(get_doublev(self, context_tag, pname))
1671 }
1672 fn glx_get_error(&self, context_tag: ContextTag) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetErrorReply>, ConnectionError>> + Send + '_>>
1673 {
1674 Box::pin(get_error(self, context_tag))
1675 }
1676 fn glx_get_floatv(&self, context_tag: ContextTag, pname: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetFloatvReply>, ConnectionError>> + Send + '_>>
1677 {
1678 Box::pin(get_floatv(self, context_tag, pname))
1679 }
1680 fn glx_get_integerv(&self, context_tag: ContextTag, pname: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetIntegervReply>, ConnectionError>> + Send + '_>>
1681 {
1682 Box::pin(get_integerv(self, context_tag, pname))
1683 }
1684 fn glx_get_lightfv(&self, context_tag: ContextTag, light: u32, pname: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetLightfvReply>, ConnectionError>> + Send + '_>>
1685 {
1686 Box::pin(get_lightfv(self, context_tag, light, pname))
1687 }
1688 fn glx_get_lightiv(&self, context_tag: ContextTag, light: u32, pname: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetLightivReply>, ConnectionError>> + Send + '_>>
1689 {
1690 Box::pin(get_lightiv(self, context_tag, light, pname))
1691 }
1692 fn glx_get_mapdv(&self, context_tag: ContextTag, target: u32, query: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetMapdvReply>, ConnectionError>> + Send + '_>>
1693 {
1694 Box::pin(get_mapdv(self, context_tag, target, query))
1695 }
1696 fn glx_get_mapfv(&self, context_tag: ContextTag, target: u32, query: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetMapfvReply>, ConnectionError>> + Send + '_>>
1697 {
1698 Box::pin(get_mapfv(self, context_tag, target, query))
1699 }
1700 fn glx_get_mapiv(&self, context_tag: ContextTag, target: u32, query: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetMapivReply>, ConnectionError>> + Send + '_>>
1701 {
1702 Box::pin(get_mapiv(self, context_tag, target, query))
1703 }
1704 fn glx_get_materialfv(&self, context_tag: ContextTag, face: u32, pname: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetMaterialfvReply>, ConnectionError>> + Send + '_>>
1705 {
1706 Box::pin(get_materialfv(self, context_tag, face, pname))
1707 }
1708 fn glx_get_materialiv(&self, context_tag: ContextTag, face: u32, pname: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetMaterialivReply>, ConnectionError>> + Send + '_>>
1709 {
1710 Box::pin(get_materialiv(self, context_tag, face, pname))
1711 }
1712 fn glx_get_pixel_mapfv(&self, context_tag: ContextTag, map: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetPixelMapfvReply>, ConnectionError>> + Send + '_>>
1713 {
1714 Box::pin(get_pixel_mapfv(self, context_tag, map))
1715 }
1716 fn glx_get_pixel_mapuiv(&self, context_tag: ContextTag, map: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetPixelMapuivReply>, ConnectionError>> + Send + '_>>
1717 {
1718 Box::pin(get_pixel_mapuiv(self, context_tag, map))
1719 }
1720 fn glx_get_pixel_mapusv(&self, context_tag: ContextTag, map: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetPixelMapusvReply>, ConnectionError>> + Send + '_>>
1721 {
1722 Box::pin(get_pixel_mapusv(self, context_tag, map))
1723 }
1724 fn glx_get_polygon_stipple(&self, context_tag: ContextTag, lsb_first: bool) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetPolygonStippleReply>, ConnectionError>> + Send + '_>>
1725 {
1726 Box::pin(get_polygon_stipple(self, context_tag, lsb_first))
1727 }
1728 fn glx_get_string(&self, context_tag: ContextTag, name: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetStringReply>, ConnectionError>> + Send + '_>>
1729 {
1730 Box::pin(get_string(self, context_tag, name))
1731 }
1732 fn glx_get_tex_envfv(&self, context_tag: ContextTag, target: u32, pname: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetTexEnvfvReply>, ConnectionError>> + Send + '_>>
1733 {
1734 Box::pin(get_tex_envfv(self, context_tag, target, pname))
1735 }
1736 fn glx_get_tex_enviv(&self, context_tag: ContextTag, target: u32, pname: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetTexEnvivReply>, ConnectionError>> + Send + '_>>
1737 {
1738 Box::pin(get_tex_enviv(self, context_tag, target, pname))
1739 }
1740 fn glx_get_tex_gendv(&self, context_tag: ContextTag, coord: u32, pname: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetTexGendvReply>, ConnectionError>> + Send + '_>>
1741 {
1742 Box::pin(get_tex_gendv(self, context_tag, coord, pname))
1743 }
1744 fn glx_get_tex_genfv(&self, context_tag: ContextTag, coord: u32, pname: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetTexGenfvReply>, ConnectionError>> + Send + '_>>
1745 {
1746 Box::pin(get_tex_genfv(self, context_tag, coord, pname))
1747 }
1748 fn glx_get_tex_geniv(&self, context_tag: ContextTag, coord: u32, pname: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetTexGenivReply>, ConnectionError>> + Send + '_>>
1749 {
1750 Box::pin(get_tex_geniv(self, context_tag, coord, pname))
1751 }
1752 fn glx_get_tex_image(&self, context_tag: ContextTag, target: u32, level: i32, format: u32, type_: u32, swap_bytes: bool) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetTexImageReply>, ConnectionError>> + Send + '_>>
1753 {
1754 Box::pin(get_tex_image(self, context_tag, target, level, format, type_, swap_bytes))
1755 }
1756 fn glx_get_tex_parameterfv(&self, context_tag: ContextTag, target: u32, pname: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetTexParameterfvReply>, ConnectionError>> + Send + '_>>
1757 {
1758 Box::pin(get_tex_parameterfv(self, context_tag, target, pname))
1759 }
1760 fn glx_get_tex_parameteriv(&self, context_tag: ContextTag, target: u32, pname: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetTexParameterivReply>, ConnectionError>> + Send + '_>>
1761 {
1762 Box::pin(get_tex_parameteriv(self, context_tag, target, pname))
1763 }
1764 fn glx_get_tex_level_parameterfv(&self, context_tag: ContextTag, target: u32, level: i32, pname: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetTexLevelParameterfvReply>, ConnectionError>> + Send + '_>>
1765 {
1766 Box::pin(get_tex_level_parameterfv(self, context_tag, target, level, pname))
1767 }
1768 fn glx_get_tex_level_parameteriv(&self, context_tag: ContextTag, target: u32, level: i32, pname: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetTexLevelParameterivReply>, ConnectionError>> + Send + '_>>
1769 {
1770 Box::pin(get_tex_level_parameteriv(self, context_tag, target, level, pname))
1771 }
1772 fn glx_is_enabled(&self, context_tag: ContextTag, capability: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, IsEnabledReply>, ConnectionError>> + Send + '_>>
1773 {
1774 Box::pin(is_enabled(self, context_tag, capability))
1775 }
1776 fn glx_is_list(&self, context_tag: ContextTag, list: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, IsListReply>, ConnectionError>> + Send + '_>>
1777 {
1778 Box::pin(is_list(self, context_tag, list))
1779 }
1780 fn glx_flush(&self, context_tag: ContextTag) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'_, Self>, ConnectionError>> + Send + '_>>
1781 {
1782 Box::pin(flush(self, context_tag))
1783 }
1784 fn glx_are_textures_resident<'c, 'input, 'future>(&'c self, context_tag: ContextTag, textures: &'input [u32]) -> Pin<Box<dyn Future<Output = Result<Cookie<'c, Self, AreTexturesResidentReply>, ConnectionError>> + Send + 'future>>
1785 where
1786 'c: 'future,
1787 'input: 'future,
1788 {
1789 Box::pin(are_textures_resident(self, context_tag, textures))
1790 }
1791 fn glx_delete_textures<'c, 'input, 'future>(&'c self, context_tag: ContextTag, textures: &'input [u32]) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'c, Self>, ConnectionError>> + Send + 'future>>
1792 where
1793 'c: 'future,
1794 'input: 'future,
1795 {
1796 Box::pin(delete_textures(self, context_tag, textures))
1797 }
1798 fn glx_gen_textures(&self, context_tag: ContextTag, n: i32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GenTexturesReply>, ConnectionError>> + Send + '_>>
1799 {
1800 Box::pin(gen_textures(self, context_tag, n))
1801 }
1802 fn glx_is_texture(&self, context_tag: ContextTag, texture: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, IsTextureReply>, ConnectionError>> + Send + '_>>
1803 {
1804 Box::pin(is_texture(self, context_tag, texture))
1805 }
1806 fn glx_get_color_table(&self, context_tag: ContextTag, target: u32, format: u32, type_: u32, swap_bytes: bool) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetColorTableReply>, ConnectionError>> + Send + '_>>
1807 {
1808 Box::pin(get_color_table(self, context_tag, target, format, type_, swap_bytes))
1809 }
1810 fn glx_get_color_table_parameterfv(&self, context_tag: ContextTag, target: u32, pname: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetColorTableParameterfvReply>, ConnectionError>> + Send + '_>>
1811 {
1812 Box::pin(get_color_table_parameterfv(self, context_tag, target, pname))
1813 }
1814 fn glx_get_color_table_parameteriv(&self, context_tag: ContextTag, target: u32, pname: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetColorTableParameterivReply>, ConnectionError>> + Send + '_>>
1815 {
1816 Box::pin(get_color_table_parameteriv(self, context_tag, target, pname))
1817 }
1818 fn glx_get_convolution_filter(&self, context_tag: ContextTag, target: u32, format: u32, type_: u32, swap_bytes: bool) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetConvolutionFilterReply>, ConnectionError>> + Send + '_>>
1819 {
1820 Box::pin(get_convolution_filter(self, context_tag, target, format, type_, swap_bytes))
1821 }
1822 fn glx_get_convolution_parameterfv(&self, context_tag: ContextTag, target: u32, pname: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetConvolutionParameterfvReply>, ConnectionError>> + Send + '_>>
1823 {
1824 Box::pin(get_convolution_parameterfv(self, context_tag, target, pname))
1825 }
1826 fn glx_get_convolution_parameteriv(&self, context_tag: ContextTag, target: u32, pname: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetConvolutionParameterivReply>, ConnectionError>> + Send + '_>>
1827 {
1828 Box::pin(get_convolution_parameteriv(self, context_tag, target, pname))
1829 }
1830 fn glx_get_separable_filter(&self, context_tag: ContextTag, target: u32, format: u32, type_: u32, swap_bytes: bool) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetSeparableFilterReply>, ConnectionError>> + Send + '_>>
1831 {
1832 Box::pin(get_separable_filter(self, context_tag, target, format, type_, swap_bytes))
1833 }
1834 fn glx_get_histogram(&self, context_tag: ContextTag, target: u32, format: u32, type_: u32, swap_bytes: bool, reset: bool) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetHistogramReply>, ConnectionError>> + Send + '_>>
1835 {
1836 Box::pin(get_histogram(self, context_tag, target, format, type_, swap_bytes, reset))
1837 }
1838 fn glx_get_histogram_parameterfv(&self, context_tag: ContextTag, target: u32, pname: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetHistogramParameterfvReply>, ConnectionError>> + Send + '_>>
1839 {
1840 Box::pin(get_histogram_parameterfv(self, context_tag, target, pname))
1841 }
1842 fn glx_get_histogram_parameteriv(&self, context_tag: ContextTag, target: u32, pname: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetHistogramParameterivReply>, ConnectionError>> + Send + '_>>
1843 {
1844 Box::pin(get_histogram_parameteriv(self, context_tag, target, pname))
1845 }
1846 fn glx_get_minmax(&self, context_tag: ContextTag, target: u32, format: u32, type_: u32, swap_bytes: bool, reset: bool) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetMinmaxReply>, ConnectionError>> + Send + '_>>
1847 {
1848 Box::pin(get_minmax(self, context_tag, target, format, type_, swap_bytes, reset))
1849 }
1850 fn glx_get_minmax_parameterfv(&self, context_tag: ContextTag, target: u32, pname: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetMinmaxParameterfvReply>, ConnectionError>> + Send + '_>>
1851 {
1852 Box::pin(get_minmax_parameterfv(self, context_tag, target, pname))
1853 }
1854 fn glx_get_minmax_parameteriv(&self, context_tag: ContextTag, target: u32, pname: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetMinmaxParameterivReply>, ConnectionError>> + Send + '_>>
1855 {
1856 Box::pin(get_minmax_parameteriv(self, context_tag, target, pname))
1857 }
1858 fn glx_get_compressed_tex_image_arb(&self, context_tag: ContextTag, target: u32, level: i32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetCompressedTexImageARBReply>, ConnectionError>> + Send + '_>>
1859 {
1860 Box::pin(get_compressed_tex_image_arb(self, context_tag, target, level))
1861 }
1862 fn glx_delete_queries_arb<'c, 'input, 'future>(&'c self, context_tag: ContextTag, ids: &'input [u32]) -> Pin<Box<dyn Future<Output = Result<VoidCookie<'c, Self>, ConnectionError>> + Send + 'future>>
1863 where
1864 'c: 'future,
1865 'input: 'future,
1866 {
1867 Box::pin(delete_queries_arb(self, context_tag, ids))
1868 }
1869 fn glx_gen_queries_arb(&self, context_tag: ContextTag, n: i32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GenQueriesARBReply>, ConnectionError>> + Send + '_>>
1870 {
1871 Box::pin(gen_queries_arb(self, context_tag, n))
1872 }
1873 fn glx_is_query_arb(&self, context_tag: ContextTag, id: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, IsQueryARBReply>, ConnectionError>> + Send + '_>>
1874 {
1875 Box::pin(is_query_arb(self, context_tag, id))
1876 }
1877 fn glx_get_queryiv_arb(&self, context_tag: ContextTag, target: u32, pname: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetQueryivARBReply>, ConnectionError>> + Send + '_>>
1878 {
1879 Box::pin(get_queryiv_arb(self, context_tag, target, pname))
1880 }
1881 fn glx_get_query_objectiv_arb(&self, context_tag: ContextTag, id: u32, pname: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetQueryObjectivARBReply>, ConnectionError>> + Send + '_>>
1882 {
1883 Box::pin(get_query_objectiv_arb(self, context_tag, id, pname))
1884 }
1885 fn glx_get_query_objectuiv_arb(&self, context_tag: ContextTag, id: u32, pname: u32) -> Pin<Box<dyn Future<Output = Result<Cookie<'_, Self, GetQueryObjectuivARBReply>, ConnectionError>> + Send + '_>>
1886 {
1887 Box::pin(get_query_objectuiv_arb(self, context_tag, id, pname))
1888 }
1889}
1890
1891impl<C: RequestConnection + ?Sized> ConnectionExt for C {}