x11rb_async/protocol/
glx.rs

1// This file contains generated code. Do not edit directly.
2// To regenerate this, run 'make'.
3
4//! Bindings to the `Glx` X11 extension.
5
6#![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
32/// Get the major opcode of this extension
33async 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}
1438/// Extension trait defining the requests of this extension.
1439pub 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 {}