xcb_glx_get_tex_enviv(3)

πŸ“¦
version 1.17.0 Β· 4 versions
, in alpine 3.22, alpine 3.23, alpine 3.24, arch rolling, centos-stream 10, debian trixie, fedora 43, fedora 44, nixpkgs unstable, opensuse-leap 16.0, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’… xcb_glx_get_tex_enviv β€” bestie, we're pulling texenv values from GLX πŸ’…

okay so this page lives in the XCB Requests section of the libxcb manual (that's the libxcb 1.17.0 girlies, X Version 11 energy ✨). It's giving "GLX, but make it a request you can actually fire off from C" and I'm obsessed.


✨ NAME ✨

xcb_glx_get_tex_enviv β€” ngl the original leaves this blank, so here's the vibe: it's the XCB request that asks the X11 server for GLX texture environment values. Periodt.


πŸ¦‹ SYNOPSIS πŸ¦‹

#include <xcb/glx.h>

Request function 🌸

xcb_glx_get_tex_enviv_cookie_t
       xcb_glx_get_tex_enviv(xcb_connection_t *conn,
       xcb_glx_context_tag_t context_tag, uint32_t target,
       uint32_t pname);

Reply datastructure πŸŽ€

typedef struct xcb_glx_get_tex_enviv_reply_t {
    uint8_t  response_type;
    uint8_t  pad0;
    uint16_t sequence;
    uint32_t length;
    uint8_t  pad1[4];
    uint32_t n;
    int32_t  datum;
    uint8_t  pad2[12];
} xcb_glx_get_tex_enviv_reply_t;

Reply function πŸ’–

xcb_glx_get_tex_enviv_reply_t
       *xcb_glx_get_tex_enviv_reply(xcb_connection_t *conn,
       xcb_glx_get_tex_enviv_cookie_t cookie, xcb_generic_error_t **e);

Reply accessors πŸ‘‘

int32_t *xcb_glx_get_tex_enviv_data(const
       xcb_glx_get_tex_enviv_request_t *reply);

int xcb_glx_get_tex_enviv_data_length(const
       xcb_glx_get_tex_enviv_reply_t *reply);

xcb_generic_iterator_t xcb_glx_get_tex_enviv_data_end(const
       xcb_glx_get_tex_enviv_reply_t *reply);
not me squinting at that first accessor β€” yes, it literally takes an xcb_glx_get_tex_enviv_request_t *reply, that's what the original says, I'm just the messenger bestie πŸ™ˆ

🌈 REQUEST ARGUMENTS 🌈

  • conn β€” The XCB connection to X11. Your lil phone line to the server, fr fr.
  • context_tag β€” TODO: NOT YET DOCUMENTED. (the original really said "we'll get to it" πŸ’€)
  • target β€” TODO: NOT YET DOCUMENTED.
  • pname β€” TODO: NOT YET DOCUMENTED.

⭐ REPLY FIELDS ⭐

  • response_type β€” The type of this reply, in this case XCB_GLX_GET_TEX_ENVIV. This field is also present in the xcb_generic_reply_t and can be used to tell replies apart from each other. Basically the reply's lil name tag so you know which one walked in 🫢
  • sequence β€” The sequence number of the last request processed by the X11 server.
  • length β€” The length of the reply, in words (a word is 4 bytes). Yes bestie, four bytes = one word, write that down.
  • n β€” TODO: NOT YET DOCUMENTED.
  • datum β€” TODO: NOT YET DOCUMENTED.

πŸ’œ DESCRIPTION πŸ’œ

so... the original page leaves this section empty. no description, no lore, nothing. it's giving mystery, it's giving "figure it out", and honestly? iconic. 😭


πŸ“ RETURN VALUE πŸ“

Returns an xcb_glx_get_tex_enviv_cookie_t. Errors have to be handled when calling the reply function xcb_glx_get_tex_enviv_reply.

If you want to handle errors in the event loop instead, use xcb_glx_get_tex_enviv_unchecked. See xcb-requests(3) for details. (that's the "check the receipt later" route, lowkey valid ✨)


🧚 ERRORS 🧚

This request does never generate any errors. Clean. Flawless. No drama, no notes. πŸ’…


πŸ’€ SEE ALSO πŸ’€

the original section is empty here too β€” nothing to see, nothing to follow. we love a minimalist queen. πŸ™ˆ


🌸 AUTHOR 🌸

Generated from glx.xml. Contact xcb@lists.freedesktop.org for corrections and improvements. (so if something's off, that's the group chat to slide into 🫢)


okay bestie that's the whole page!! sign-off time: this was X Version 11, libxcb 1.17.0, and it's the xcb_glx_get_tex_enviv(3) moment. go forth and query those tex envs, you absolute main character πŸ‘‘βœ¨πŸŽ€