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.
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/piglit