drm_fb_xrgb8..._xrgb2101010(9)
π NAME π
Bestie, welcome to the Kernel API Manual glow-up for drm_fb_xrgb8..._xrgb2101010(9). The main-character function here is drm_fb_xrgb8888_to_xrgb2101010 β its whole thing is Convert XRGB8888 to XRGB2101010 clip buffer. That's the name card, and it ate. π
β¨ SYNOPSIS β¨
Here's the exact signature, no cap β character for character:
void drm_fb_xrgb8888_to_xrgb2101010 (struct iosys_map *dst , const
unsigned int *dst_pitch , const struct iosys_map *src , const struct
drm_framebuffer *fb , const struct drm_rect *clip , struct
drm_format_conv_state *state );
π ARGUMENTS π
dstβ Array of XRGB2101010 destination buffers. This is where the converted pixels are headed, bestie.dst_pitchβ Array of numbers of bytes between the start of two consecutive scanlines withindst; can beNULLif scanlines are stored next to each other. So yes, it's optional in that specific case, iykyk.srcβ Array of XRGB8888 source buffers. The original pixels, pre-glow-up.fbβ DRM framebuffer. The whole framebuffer situation.clipβ Clip rectangle area to copy. This is the little region we're working with.stateβ Transform and conversion state. Keep it close, bestie.
π DESCRIPTION π
Okay so this function copies parts of a framebuffer to display memory and converts the color format during the process. Destination and framebuffer formats must match β that's the rule, not a suggestion. π
The parameters dst, dst_pitch and src refer to arrays. Each array must have at least as many entries as there are planes in fb's format. Each entry stores the value for the format's respective color plane at the same index.
This function does not apply clipping on dst β i.e. the destination is at the top-left corner. No sneaky offset magic happening on the destination side.
Drivers can use this function for XRGB2101010 devices that don't support XRGB8888 natively. It's giving "adapter era," and honestly, iconic. π¦
π SEE ALSO π
- Kernel file
./drivers/gpu/drm/drm_format_helper.c drm_format_conv_state_init(9)drm_format_conv_state_copy(9)drm_format_conv_state_reserve(9)drm_format_conv_state_release(9)drm_fb_clip_offset(9)drm_fb_memcpy(9)drm_fb_swab(9)drm_fb_xrgb8888_to_rgb332(9)drm_fb_xrgb8888_to_rgb565(9)drm_fb_xrgb8888_to_rgb565be(9)drm_fb_xrgb8888_to_xrgb1555(9)drm_fb_xrgb8888_to_argb1555(9)drm_fb_xrgb8888_to_rgba5551(9)drm_fb_xrgb8888_to_rgb888(9)drm_fb_xrgb8888_to_bgr888(9)drm_fb_xrgb8888_to_argb8888(9)drm_fb_xrgb8888_to_abgr8888(9)drm_fb_xrgb8888_to_xbgr8888(9)drm_fb_xrgb8888_to_bgrx8888(9)drm_fb_xrgb8888_to_argb2101010(9)drm_fb_xrgb8888_to_gray8(9)drm_fb_argb8888_to_argb4444(9)drm_fb_xrgb8888_to_mono(9)drm_fb_xrgb8888_to_gray2(9)
That's the tea, bestie. Source: ./drivers/gpu/drm Β· date/version: October 2026 Β· manual page: drm_fb_xrgb8..._xrgb2101010(9). Go convert those buffers and slay π
β¨π«Ά
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms