[Mesa-dev] What is DRI_IMAGE and do I want it?

Ilia Mirkin imirkin at alum.mit.edu
Wed Feb 12 21:33:45 PST 2014


Hello list,

A number of piglit tests fail with the nouveau dri driver (for
pre-nv30 cards), e.g.

http://people.freedesktop.org/~imirkin/nv10-comparison/nv18-imirkin/spec/EGL_EXT_client_extensions/conformance%20test%203.html

libEGL fatal: DRI2: did not find extension DRI_IMAGE version 1

I noticed that the nouveau driver extensions are specified as

static const __DRIextension *nouveau_driver_extensions[] = {
&driCoreExtension.base,
&driDRI2Extension.base,
&nouveau_vtable.base,
NULL
};

without &driImageDriverExtension.base in there (which is only used by
i915/i965, although I assume st/dri implements it in its own way),
which is most likely the cause of that failure. I looked at the
functions pointed at by the structure, and they all seem to be
available with the nouveau driver (but there could be something subtle
I'm missing). So... should I just drop in
&driImageDriverExtension.base into the list? What is it for? Is there
a downside to including it?

As a side-note, what _does_ appear to be missing is
Allocate/ReleaseBuffer, seemingly needed by the DRI2 stuff. Perhaps
some of the failures are due to that :)

Thanks,

  -ilia


More information about the mesa-dev mailing list