Expand description
DrmFourcc
is an enum representing every pixel format supported by DRM
(as of kernel version 5.10.0).
A fourcc is four bytes of ascii representing some data format. This enum contains every fourcc representing a pixel format supported by DRM, the Linux Direct Rendering Manager. The names of pixel formats generally provide clues as to how they work, for more information you may find this guide helpful.
To get the bytes of the fourcc representing the format, cast to u32
.
assert_eq!(DrmFourcc::Xrgb8888 as u32, 875713112);
To get the string form of the fourcc, use ToString::to_string
.
assert_eq!(DrmFourcc::Xrgb8888.to_string(), "XR24");
We also provide a type for representing a fourcc/modifier pair
let format = DrmFormat {
code: DrmFourcc::Xrgb8888,
modifier: DrmModifier::Linear,
};
The enums are autogenerated from the canonical list in the Linux source code.
§Features
serde
- Derive Serialize/Deserialize where it makes sensebuild_bindings
- Re-generate autogenerated code. Useful if you need varients added in a more recent kernel version.
Structs§
- Wraps some u32 that isn’t a DRM fourcc we recognize
- Wraps some u64 that isn’t a DRM modifier we recognize
- Wraps some u8 that isn’t a DRM vendor we recognize