LGTM, will push latter. thanks.
On Mon, Jun 09, 2014 at 08:39:33AM +0800, Guo Yejun wrote: > to share data between libva and ocl (at drm level), it is acceptable > to create cl image from libva with offset (to drm object). Correct > the bo offset whose value will finally go to ss1.base_addr. > > Signed-off-by: Guo Yejun <[email protected]> > --- > src/cl_driver.h | 2 +- > src/cl_mem.c | 2 +- > src/intel/intel_driver.c | 4 +++- > 3 files changed, 5 insertions(+), 3 deletions(-) > > diff --git a/src/cl_driver.h b/src/cl_driver.h > index 3e01c92..68b323c 100644 > --- a/src/cl_driver.h > +++ b/src/cl_driver.h > @@ -242,7 +242,7 @@ extern cl_buffer_release_from_texture_cb > *cl_buffer_release_from_texture; > typedef cl_buffer (cl_buffer_get_buffer_from_libva_cb)(cl_context ctx, > unsigned int bo_name, size_t *sz); > extern cl_buffer_get_buffer_from_libva_cb *cl_buffer_get_buffer_from_libva; > > -typedef cl_buffer (cl_buffer_get_image_from_libva_cb)(cl_context ctx, > unsigned int bo_name, struct _cl_mem_image *image); > +typedef cl_buffer (cl_buffer_get_image_from_libva_cb)(cl_context ctx, > unsigned int bo_name, struct _cl_mem_image *image, unsigned int offset); > extern cl_buffer_get_image_from_libva_cb *cl_buffer_get_image_from_libva; > > /* Unref a buffer and destroy it if no more ref */ > diff --git a/src/cl_mem.c b/src/cl_mem.c > index 6369ba9..2f03935 100644 > --- a/src/cl_mem.c > +++ b/src/cl_mem.c > @@ -1365,7 +1365,7 @@ LOCAL cl_mem cl_mem_new_libva_image(cl_context ctx, > > image = cl_mem_image(mem); > > - mem->bo = cl_buffer_get_image_from_libva(ctx, bo_name, image); > + mem->bo = cl_buffer_get_image_from_libva(ctx, bo_name, image, offset); > > image->w = width; > image->h = height; > diff --git a/src/intel/intel_driver.c b/src/intel/intel_driver.c > index 989193a..d797937 100644 > --- a/src/intel/intel_driver.c > +++ b/src/intel/intel_driver.c > @@ -632,13 +632,15 @@ cl_buffer intel_share_buffer_from_libva(cl_context ctx, > > cl_buffer intel_share_image_from_libva(cl_context ctx, > unsigned int bo_name, > - struct _cl_mem_image *image) > + struct _cl_mem_image *image, > + unsigned int offset) > { > drm_intel_bo *intel_bo; > uint32_t intel_tiling, intel_swizzle_mode; > > intel_bo = intel_driver_share_buffer((intel_driver_t *)ctx->drv, "shared > from libva", bo_name); > > + intel_bo->offset += offset; > drm_intel_bo_get_tiling(intel_bo, &intel_tiling, &intel_swizzle_mode); > image->tiling = get_cl_tiling(intel_tiling); > > -- > 1.8.3.2 > > _______________________________________________ > Beignet mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/beignet _______________________________________________ Beignet mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/beignet
