drm_fb_xrgb8888_to_xrgb1555(9)
β¨ drm_fb_xrgb8888_to_xrgb1555 β¨
okay so bestie, welcome to the Kernel API Manual (section 9, we stay fancy), where today's main character is a little function called drm_fb_xrgb8888_to_xrgb1555 and honestly? she serves. π
πΈ NAME πΈ
drm_fb_xrgb8888_to_xrgb1555 β Convert XRGB8888 to XRGB1555 clip buffer π
π¦ SYNOPSIS π¦
void drm_fb_xrgb8888_to_xrgb1555 (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 );
like, that's the whole signature, no cap. six params, zero drama (ok maybe a little drama). π
π ARGUMENTS π
dstβ Array of XRGB1555 destination buffers. it's an array, bestie, not a single buffer, don't come for me π«Άdst_pitchβ Array of numbers of bytes between the start of two consecutive scanlines withindst. can beNULLif scanlines are stored next to each other (they're snug like that, it's giving cozy π§).srcβ Array of XRGB8888 source buffer. the glow-up starting point β¨fbβ DRM framebuffer. the moment. the icon. π₯clipβ Clip rectangle area to copy. this is the region we're actually touching.stateβ Transform and conversion state. she holds the vibes (and the conversion settings, lowkey both) π
π DESCRIPTION π
So here's the tea: this function copies parts of a framebuffer to display memory and converts the color format during the process. one function, two jobs, main character energy fr fr. π
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. so like, index 0 goes with index 0, index 1 with index 1 β everybody matched up, we love a coordinated group chat π.
heads up bestie: this function does not apply clipping on dst β the destination is at the top-left corner. no shifting, no sliding, she's already where she needs to be π
Drivers can use this function for XRGB1555 devices that don't support XRGB8888 natively. like, if your hardware can't speak fluent XRGB8888, this is the translator. iconic behavior honestly.
π SEE ALSO π
Kernel file ./drivers/gpu/drm/drm_format_helper.c β the whole friend group lives here π«Ά
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_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_xrgb2101010(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)
all of them. every single one. the whole conversion cinematic universe πβ
and that's the page bestie!! π this came straight out of ./drivers/gpu/drm, dated October 2026, and it goes by drm_fb_xrgb8888_to_xrgb1555(9) β remember her name, she's gonna be on the test πβ¨π¦
π¦ 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