[Beignet] [PATCH 0/2] Refine cl_khr_gl_sharing.
Lu, Guanqun
guanqun.lu at intel.com
Thu Aug 29 00:46:27 PDT 2013
i like the change in cl_mem so that the difference between a buffer and an image is more clear. it makes my implementation between cross sharing much more easier. +1 for this patch.
I've tried your first patch it's totally OK.
> -----Original Message-----
> From: beignet-bounces+guanqun.lu=intel.com at lists.freedesktop.org
> [mailto:beignet-bounces+guanqun.lu=intel.com at lists.freedesktop.org] On
> Behalf Of Zhigang Gong
> Sent: Thursday, August 29, 2013 2:38 PM
> To: Zhigang Gong
> Cc: beignet at lists.freedesktop.org
> Subject: Re: [Beignet] [PATCH 0/2] Refine cl_khr_gl_sharing.
>
> Ping for comments. Thanks.
>
> On Mon, Aug 26, 2013 at 10:45:46PM +0800, Zhigang Gong wrote:
> > The previous implementation is using the existing egl extension to
> > convert a texture to a egl image and then hack the gbm to get the
> > image's attributes including the layout and the drm buffer object name
> > then create a corresponding cl image.
> >
> > The restrications of that solution is:
> > 1. It doens't support buffer object/render buffer.
> > 2. It doesn't support non-zero mipmap level.
> >
> > To overcome the above restrications, we need to introduce a new EGL
> > extension to export low level attribute of texture/buffer object/
> > render buffer to cl driver layer from the mesa dri driver layer.
> >
> > Unfortunately, the mesa community doesn't accept the new extension.
> > I have to implement it in beignet. Thus we still have to do some level
> > of hack here. Major including to access some _EGLXXX internal data
> > structure and some mesa internal data structure. So we need the mesa's
> > source code when you want to build beignet with cl_khr_gl_sharing support.
> >
> > You could put the mesa source code package to ~/mesa or at the same
> > directory of the beignet source dir, or you can use MESA_SOURCE_DIR to
> > specify the directory of the mesa source code.
> >
> > If beignet can't find the mesa source code directory,
> > cl_khr_gl_sharing will be disabled.
> >
> > This patchset implement the texture sharing and the framework for the
> > buffer object/render buffer sharing.
> >
> > Zhigang Gong (2):
> > CL: Refactor cl_mem's implementation.
> > CL: Enalbe gl sharing with new egl extension.
> >
> > CMake/FindEGL.cmake | 14 ++
> > src/CMakeLists.txt | 19 +-
> > src/cl_api.c | 44 ++--
> > src/cl_command_queue.c | 16 +-
> > src/cl_context.h | 3 +
> > src/cl_driver.h | 66 +++---
> > src/cl_driver_defs.c | 10 +-
> > src/cl_driver_type.h | 24 +++
> > src/cl_enqueue.c | 19 +-
> > src/cl_extensions.c | 22 +-
> > src/cl_extensions.h | 25 ---
> > src/cl_kernel.c | 4 +-
> > src/cl_khr_icd.h | 4 +
> > src/cl_mem.c | 165 +++++++++------
> > src/cl_mem.h | 111 ++++++++--
> > src/cl_mem_gl.c | 194 +++---------------
> > src/cl_utils.h | 10 +-
> > src/intel/intel_dri_resource_sharing.c | 208 +++++++++++++++++++
> > src/intel/intel_dri_resource_sharing.h | 39 ++++
> > src/intel/intel_dri_resource_sharing_int.h | 143 +++++++++++++
> > src/intel/intel_driver.c | 224 +++++++++++++++-----
> > src/intel/intel_driver.h | 6 -
> > src/x11/dricommon.h | 5 -
> > src/x11/gbm_deps/backend.h | 36 ----
> > src/x11/gbm_deps/common.h | 42 ----
> > src/x11/gbm_deps/common_drm.h | 48 -----
> > src/x11/gbm_deps/gbm.h | 292
> --------------------------
> > src/x11/gbm_deps/gbm_driint.h | 108 ----------
> > src/x11/gbm_deps/gbmint.h | 116 -----------
> > src/x11/gbm_dri2_x11_platform.c | 126 ------------
> > src/x11/mesa_egl_extension.c | 307
> ++++++++++++++++++++++++++++
> > src/x11/mesa_egl_extension.h | 20 ++
> > src/x11/mesa_egl_res_share.c | 135 ++++++++++++
> > src/x11/mesa_egl_res_share.h | 44 ++++
> > utests/CMakeLists.txt | 4 +-
> > utests/utest_helper.cpp | 25 ++-
> > 36 files changed, 1459 insertions(+), 1219 deletions(-) create mode
> > 100644 src/cl_driver_type.h create mode 100644
> > src/intel/intel_dri_resource_sharing.c
> > create mode 100644 src/intel/intel_dri_resource_sharing.h
> > create mode 100644 src/intel/intel_dri_resource_sharing_int.h
> > delete mode 100644 src/x11/gbm_deps/backend.h delete mode 100644
> > src/x11/gbm_deps/common.h delete mode 100644
> > src/x11/gbm_deps/common_drm.h delete mode 100644
> > src/x11/gbm_deps/gbm.h delete mode 100644
> > src/x11/gbm_deps/gbm_driint.h delete mode 100644
> > src/x11/gbm_deps/gbmint.h delete mode 100644
> > src/x11/gbm_dri2_x11_platform.c create mode 100644
> > src/x11/mesa_egl_extension.c create mode 100644
> > src/x11/mesa_egl_extension.h create mode 100644
> > src/x11/mesa_egl_res_share.c create mode 100644
> > src/x11/mesa_egl_res_share.h
> >
> > --
> > 1.7.9.5
> >
> > _______________________________________________
> > Beignet mailing list
> > Beignet at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/beignet
> _______________________________________________
> Beignet mailing list
> Beignet at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/beignet
More information about the Beignet
mailing list