mesa-drm/nouveau
Ben Skeggs f6b1b5b7c9 nouveau: add interfaces to query information about supported classes
This will expose functionality supported by newer kernel interfaces.

Current userspace uses the chipset to determine which classes are likely
exposed, which generally works pretty well, but isn't as flexible as it
could be.

Unfortunately, the G98:GF100 video code in Mesa is still relying on the
kernel exposing incorrect vdec classes on some chipsets.  The ABI16
kernel interfaces have a workaround for this in place, but that will no
longer be available once libdrm supports NVIF.

To prevent a regression when NVIF support is added, if there's no kernel
support for NVIF, libdrm will magic up a class list containing correct
vdec classes anyway instead of failing with -ENODEV.

v2.
- add description of abi16/vdec workaround
- add description of sclass/mclass
- leave client-provided pointer unmodified on abi16_sclass() failure

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Tested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-12-22 13:22:14 +10:00
..
nvif nouveau: import and install a selection of nvif headers from the kernel 2015-12-22 13:21:05 +10:00
abi16.c nouveau: add interfaces to query information about supported classes 2015-12-22 13:22:14 +10:00
Android.mk android: remove LOCAL_COPY_HEADERS* variables 2015-03-20 17:02:56 +00:00
bufctx.c drm: remove drm_public macro 2015-04-28 11:19:15 +01:00
libdrm_nouveau.pc.in nouveau: import and install a selection of nvif headers from the kernel 2015-12-22 13:21:05 +10:00
Makefile.am nouveau: import and install a selection of nvif headers from the kernel 2015-12-22 13:21:05 +10:00
Makefile.sources libdrm, freedreno, intel, nouveau, radeon: add Makefile.sources 2014-09-01 16:06:01 +01:00
nouveau-symbol-check nouveau: add interfaces to query information about supported classes 2015-12-22 13:22:14 +10:00
nouveau.c nouveau: add interfaces to query information about supported classes 2015-12-22 13:22:14 +10:00
nouveau.h nouveau: add interfaces to query information about supported classes 2015-12-22 13:22:14 +10:00
private.h nouveau: add interfaces to query information about supported classes 2015-12-22 13:22:14 +10:00
pushbuf.c nouveau: add asserts to make sure krefs are there 2015-06-21 19:26:42 -04:00