67e911977f
Introduces two new methods to retrieve a human readable representation of a format modifier: drmGetFormatModifierName() - returns a format modifier as a string, from a token modifier drmGetFormatModifierVendor() - returns the vendor as a string, from a token modifier and the fourcc_mod_get_vendor macro that returns the vendor. New format modifiers added in drm_fourcc.h uapi kernel header should be sync'ed up with libdrm and should include a human readable representation for that format modifier, in order to display it correctly as a string. That happens with the help of a python script that reads up drm_fourcc header file and outputs a static table comprised of token modifiers alongside a vendor table (Suggested-by Simon Ser <contact@emersion.fr>). The reason for doing it in libdrm is to have a unified place instead of each user of libdrm having a way to keep track of the format modifiers. With this patch, modetest has also been modified to make use of it. Signed-off-by: Marius Vlad <marius.vlad@collabora.com> |
||
---|---|---|
.gitlab-ci | ||
amdgpu | ||
android | ||
data | ||
etnaviv | ||
exynos | ||
freedreno | ||
include/drm | ||
intel | ||
libkms | ||
man | ||
nouveau | ||
omap | ||
radeon | ||
tegra | ||
tests | ||
vc4 | ||
.editorconfig | ||
.gitignore | ||
.gitlab-ci.yml | ||
Android.common.mk | ||
Android.mk | ||
CONTRIBUTING.rst | ||
CleanSpec.mk | ||
Makefile.sources | ||
README.rst | ||
RELEASING | ||
core-symbols.txt | ||
gen_table_fourcc.py | ||
libdrm.pc.in | ||
libdrm_lists.h | ||
libdrm_macros.h | ||
libsync.h | ||
meson.build | ||
meson_options.txt | ||
symbols-check.py | ||
util_double_list.h | ||
util_math.h | ||
xf86atomic.h | ||
xf86drm.c | ||
xf86drm.h | ||
xf86drmHash.c | ||
xf86drmHash.h | ||
xf86drmMode.c | ||
xf86drmMode.h | ||
xf86drmRandom.c | ||
xf86drmRandom.h | ||
xf86drmSL.c |
README.rst
libdrm - userspace library for drm ---------------------------------- This is libdrm, a userspace library for accessing the DRM, direct rendering manager, on Linux, BSD and other operating systems that support the ioctl interface. The library provides wrapper functions for the ioctls to avoid exposing the kernel interface directly, and for chipsets with drm memory manager, support for tracking relocations and buffers. New functionality in the kernel DRM drivers typically requires a new libdrm, but a new libdrm will always work with an older kernel. libdrm is a low-level library, typically used by graphics drivers such as the Mesa drivers, the X drivers, libva and similar projects. Compiling --------- To set up meson: meson builddir/ By default this will install into /usr/local, you can change your prefix with --prefix=/usr (or `meson configure builddir/ -Dprefix=/usr` after the initial meson setup). Then use ninja to build and install: ninja -C builddir/ install If you are installing into a system location you will need to run install separately, and as root.