On Mon, 2016-03-28 at 21:17 -0400, Jan Vesely wrote:
> Provide our own image_desc structure since it's too tangled to
> remove.
> Tests that require OCL 1.2 result in WARN:
> Piglit was compiled with lower OpenCL version (1.1) than version_min:
> 12.
> OCL 1.1 image tests pass on Intel CPU OCL when compiled in 1.1
> environment.

gentle ping.

> 
> Signed-off-by: Jan Vesely <jano.ves...@gmail.com>
> ---
> 
> Looks like the first one did not make it to the ML.
> 
>  tests/cl/program/program-tester.c |  2 +-
>  tests/util/piglit-util-cl.c       | 34 ++++++++++++++++++++---------
> -----
>  tests/util/piglit-util-cl.h       | 20 +++++++++++++++++++-
>  3 files changed, 40 insertions(+), 16 deletions(-)
> 
> diff --git a/tests/cl/program/program-tester.c
> b/tests/cl/program/program-tester.c
> index 3e0ed43..0a3b011 100644
> --- a/tests/cl/program/program-tester.c
> +++ b/tests/cl/program/program-tester.c
> @@ -345,7 +345,7 @@ struct test_arg {
>       uint64_t ulp;
>  
>       /* image data */
> -     cl_image_desc   image_desc;
> +     piglit_image_desc   image_desc;
>       cl_image_format image_format;
>  
>       /* sampler data */
> diff --git a/tests/util/piglit-util-cl.c b/tests/util/piglit-util-
> cl.c
> index 9bf45a2..efa289c 100644
> --- a/tests/util/piglit-util-cl.c
> +++ b/tests/util/piglit-util-cl.c
> @@ -1006,14 +1006,18 @@ piglit_cl_read_whole_buffer(cl_command_queue
> command_queue, cl_mem buffer,
>  
>  cl_mem
>  piglit_cl_create_image(piglit_cl_context context, cl_mem_flags
> flags,
> -                       const cl_image_format *format, const
> cl_image_desc *desc)
> +                       const cl_image_format *format,
> +                       const piglit_image_desc *desc)
>  {
>       cl_int errNo;
>       cl_mem image = NULL;
>  
> +#ifdef CL_VERSION_1_2
>       if (piglit_cl_get_platform_version(context->platform_id) >=
> 12) {
>               image = clCreateImage(context->cl_ctx, flags,
> format, desc, NULL, &errNo);
> -     } else if (desc->image_type == CL_MEM_OBJECT_IMAGE2D) {
> +     } else
> +#endif
> +     if (desc->image_type == CL_MEM_OBJECT_IMAGE2D) {
>               image = clCreateImage2D(context->cl_ctx, flags,
> format,
>                                       desc->image_width, desc-
> >image_height, 0,
>                                       NULL, &errNo);
> @@ -1068,36 +1072,38 @@ piglit_get_image_region(cl_mem image, size_t
> *region)
>       free(p);
>  
>       switch (*type) {
> +#ifdef CL_VERSION_1_2
> +             case CL_MEM_OBJECT_IMAGE1D_ARRAY:
> +                     p = piglit_cl_get_image_info(image,
> CL_IMAGE_ARRAY_SIZE);
> +                     region[1] = *p;
> +                     free(p);
> +                     region[2] = 1;
> +                     break;
>               case CL_MEM_OBJECT_IMAGE1D:
>               case CL_MEM_OBJECT_IMAGE1D_BUFFER:
>                       region[1] = 1;
>                       region[2] = 1;
>                       break;
> -             case CL_MEM_OBJECT_IMAGE2D:
> -                     p = piglit_cl_get_image_info(image,
> CL_IMAGE_HEIGHT);
> -                     region[1] = *p;
> -                     free(p);
> -                     region[2] = 1;
> -                     break;
> -             case CL_MEM_OBJECT_IMAGE3D:
> +             case CL_MEM_OBJECT_IMAGE2D_ARRAY:
>                       p = piglit_cl_get_image_info(image,
> CL_IMAGE_HEIGHT);
>                       region[1] = *p;
>                       free(p);
> -                     p = piglit_cl_get_image_info(image,
> CL_IMAGE_DEPTH);
> +                     p = piglit_cl_get_image_info(image,
> CL_IMAGE_ARRAY_SIZE);
>                       region[2] = *p;
>                       free(p);
>                       break;
> -             case CL_MEM_OBJECT_IMAGE1D_ARRAY:
> -                     p = piglit_cl_get_image_info(image,
> CL_IMAGE_ARRAY_SIZE);
> +#endif
> +             case CL_MEM_OBJECT_IMAGE2D:
> +                     p = piglit_cl_get_image_info(image,
> CL_IMAGE_HEIGHT);
>                       region[1] = *p;
>                       free(p);
>                       region[2] = 1;
>                       break;
> -             case CL_MEM_OBJECT_IMAGE2D_ARRAY:
> +             case CL_MEM_OBJECT_IMAGE3D:
>                       p = piglit_cl_get_image_info(image,
> CL_IMAGE_HEIGHT);
>                       region[1] = *p;
>                       free(p);
> -                     p = piglit_cl_get_image_info(image,
> CL_IMAGE_ARRAY_SIZE);
> +                     p = piglit_cl_get_image_info(image,
> CL_IMAGE_DEPTH);
>                       region[2] = *p;
>                       free(p);
>                       break;
> diff --git a/tests/util/piglit-util-cl.h b/tests/util/piglit-util-
> cl.h
> index 8526a9a..0330740 100644
> --- a/tests/util/piglit-util-cl.h
> +++ b/tests/util/piglit-util-cl.h
> @@ -527,6 +527,24 @@ bool
>  piglit_cl_read_whole_buffer(cl_command_queue command_queue,
>                              cl_mem buffer,
>                              void *ptr);
> +#ifdef CL_VERSION_1_2
> +typedef cl_image_desc piglit_image_desc;
> +#else
> +/** Taken from OpenCL 1.2 specs 5.3.1.2 */
> +typedef struct {
> +     cl_mem_object_type image_type;
> +     size_t             image_width;
> +     size_t             image_height;
> +     size_t             image_depth;
> +     size_t             image_array_size;
> +     size_t             image_row_pitch;
> +     size_t             image_slice_pitch;
> +     cl_uint            num_mip_levels;
> +     cl_uint            num_samples;
> +     cl_mem             buffer;
> +} piglit_image_desc;
> +#endif
> +
>  
>  /**
>   * \brief Create an image.
> @@ -541,7 +559,7 @@ cl_mem
>  piglit_cl_create_image(piglit_cl_context context,
>                         cl_mem_flags flags,
>                         const cl_image_format *format,
> -                       const cl_image_desc *desc);
> +                       const piglit_image_desc *desc);
>  
>  /**
>   * \brief Blocking write to an image.

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to