diff options
author | Zhigang Gong <zhigang.gong@intel.com> | 2015-03-31 17:06:29 +0800 |
---|---|---|
committer | Zhigang Gong <zhigang.gong@intel.com> | 2015-04-13 16:16:10 +0800 |
commit | 522e28dda1f8d89759bd3ceddfdcf97ac23d003b (patch) | |
tree | 0c6d0ae9aba59de2070d042363ea9a80ed840b70 | |
parent | 186b42c15ab2d7e908df73131dde8b4058f59177 (diff) | |
download | beignet-522e28dda1f8d89759bd3ceddfdcf97ac23d003b.tar.gz |
GBE: refine error handling for private libva buffer sharing extension.
Signed-off-by: Zhigang Gong <zhigang.gong@intel.com>
Reviewed-by: "Yang, Rong R" <rong.r.yang@intel.com>
-rw-r--r-- | src/cl_mem.c | 4 | ||||
-rw-r--r-- | src/intel/intel_driver.c | 7 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/cl_mem.c b/src/cl_mem.c index 57d27dd9..31eb4c18 100644 --- a/src/cl_mem.c +++ b/src/cl_mem.c @@ -1974,6 +1974,10 @@ LOCAL cl_mem cl_mem_new_libva_buffer(cl_context ctx, size_t sz = 0; mem->bo = cl_buffer_get_buffer_from_libva(ctx, bo_name, &sz); + if (mem->bo == NULL) { + err = CL_MEM_OBJECT_ALLOCATION_FAILURE; + goto error; + } mem->size = sz; exit: diff --git a/src/intel/intel_driver.c b/src/intel/intel_driver.c index ea71cfe4..5ed9e131 100644 --- a/src/intel/intel_driver.c +++ b/src/intel/intel_driver.c @@ -369,6 +369,10 @@ intel_driver_share_buffer(intel_driver_t *driver, const char *sname, uint32_t na dri_bo *bo = intel_bo_gem_create_from_name(driver->bufmgr, sname, name); + if (bo == NULL) { + fprintf(stderr, "intel_bo_gem_create_from_name create \"%s\" bo from name %d failed: %s\n", sname, name, strerror(errno)); + return NULL; + } return bo; } @@ -668,6 +672,9 @@ cl_buffer intel_share_buffer_from_libva(cl_context ctx, intel_bo = intel_driver_share_buffer((intel_driver_t *)ctx->drv, "shared from libva", bo_name); + if (intel_bo == NULL) + return NULL; + if (sz) *sz = intel_bo->size; |