[Beignet] [PATCH 1/2] Enlarge the global mem size.
Zhigang Gong
zhigang.gong at linux.intel.com
Tue Nov 26 23:20:54 PST 2013
LGTM, will push latter, thanks.
On Wed, Nov 27, 2013 at 02:06:50PM +0800, Yang Rong wrote:
> When create image, due to alignment, will casue size large than max alloc size.
> Enlarge the global memory size and using it to check size when alloc.
>
> Signed-off-by: Yang Rong <rong.r.yang at intel.com>
> ---
> src/cl_gt_device.h | 2 +-
> src/cl_mem.c | 10 +++-------
> 2 files changed, 4 insertions(+), 8 deletions(-)
>
> diff --git a/src/cl_gt_device.h b/src/cl_gt_device.h
> index e8fa362..d53588f 100644
> --- a/src/cl_gt_device.h
> +++ b/src/cl_gt_device.h
> @@ -51,7 +51,7 @@
> .min_data_type_align_size = sizeof(cl_long) * 16,
> .single_fp_config = 0, /* XXX */
> .global_mem_cache_type = CL_READ_WRITE_CACHE,
> -.global_mem_size = 128 * 1024 * 1024,
> +.global_mem_size = 256 * 1024 * 1024,
> .max_constant_buffer_size = 512 << 10,
> .max_constant_args = 8,
> .error_correction_support = CL_FALSE,
> diff --git a/src/cl_mem.c b/src/cl_mem.c
> index 8c9f8a8..1380176 100644
> --- a/src/cl_mem.c
> +++ b/src/cl_mem.c
> @@ -59,12 +59,7 @@ cl_get_mem_object_type(cl_mem mem)
> case CL_MEM_GL_IMAGE_TYPE:
> {
> struct _cl_mem_image *image = cl_mem_image(mem);
> - if (image->depth == 1)
> - return CL_MEM_OBJECT_IMAGE1D;
> - else if (image->depth == 2)
> - return CL_MEM_OBJECT_IMAGE2D;
> - else if (image->depth == 3)
> - return CL_MEM_OBJECT_IMAGE3D;
> + return image->image_type;
> }
> default:
> return CL_MEM_OBJECT_BUFFER;
> @@ -209,8 +204,9 @@ cl_mem_allocate(enum cl_mem_type type,
>
> assert(ctx);
>
> + /* Due to alignment, the image size may exceed alloc max size, check global mem instead */
> if ((err = cl_get_device_info(ctx->device,
> - CL_DEVICE_MAX_MEM_ALLOC_SIZE,
> + CL_DEVICE_GLOBAL_MEM_SIZE,
> sizeof(max_mem_size),
> &max_mem_size,
> NULL)) != CL_SUCCESS) {
> --
> 1.8.1.2
>
> _______________________________________________
> Beignet mailing list
> Beignet at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/beignet
More information about the Beignet
mailing list