[Mesa-dev] [RFC] [PATCH 0/3] Introduce a new EGL/DRI extension for resource sharing with Open CL.
Brian Paul
brianp at vmware.com
Mon Jul 15 07:15:07 PDT 2013
On 07/14/2013 11:46 PM, Zhigang Gong wrote:
> Hi Kristian,
>
> The OpenCL spec has one extension to support interoperation between OpenGL and OpenCL.
> The key requirement for this extension is to export an OpenGL resource
> (texture/buffer object/render buffer)'s internal attributes to the OpenCL's driver side.
>
> IMHO, to support that cl extension we may need to add a new extension to the EGL/DRI layer
> which let the OpenCL driver could use this interface to query the low level attributes of
> the resource from the mesa dri driver side. Thus I propose this extension as below:
>
> EGLAPI EGLBoolean EGLAPIENTRY eglAcquireResourceMESA(EGLDisplay dpy, EGLContext ctx, const EGLenum target, const EGLint *attrib_list, void * user_data);
> EGLAPI EGLBoolean EGLAPIENTRY eglReleaseResourceMESA(EGLDisplay dpy, EGLContext ctx, const EGLenum target, const EGLint *attrib_list);
>
> The first API is to acquire the specified resource and get the low level attribute back
> in the driver specified user_data structure. The OpenCL side could use this structure to
> create a correct buffer object in OpenCL domain. The eglAcquireResourceMESA will also
> implicitly increase the resoruce's reference counter.
>
> The second API is to be called when the resource is no longer be shared with Open CL
> domain. It will decrease the resource's reference counter.
>
> The following patchset is to implement this extension, and I also implemented the OpenCL side
> on Beignet's runtime library. The texture sharing part works fine.
>
> Any comments are welcome and if this new extension is not the right way to solve the
> original problem, please feel free to point it out and kindly guide which is the right
> way to implement the cl-gl interoperations. Thanks.
Any new OpenGL extension should have a specification. You can find the
OpenGL extension template at http://www.opengl.org/registry/doc/template.txt
I can hardly guess what the two new functions do without documentation
of their parameters and behaviour.
-Brian
More information about the mesa-dev
mailing list