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

Emil Velikov emil.l.velikov at gmail.com
Thu Feb 13 07:15:10 PST 2014


On 13/02/14 05:33, Ilia Mirkin wrote:
> 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?
> 
Extension names are messy and there is a bunch of DRI_IMAGE* out there.
- driImageDriverExtension is DRI_IMAGE_DRIVER.

The main user of DRI_IMAGE is egl, with is DRI3 using v7 for it's
createImageFromFds(read prime).

Seems relatively easy (v1 at least) but not in a way of "use the
dri_util implementation", as there is none. Feels free to pursue if
you're planning on adding EGL and/or DRI3 support for pre nv30 cards.

-Emil
> 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
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 



More information about the mesa-dev mailing list