[Piglit] [PATCH 1/1] cl: Add support for OCL 2.0
Aaron Watry
awatry at gmail.com
Sun Jul 30 22:07:46 UTC 2017
On Sun, Jul 30, 2017, 10:31 AM Jan Vesely <jan.vesely at rutgers.edu> wrote:
> On Thu, 2017-07-20 at 22:59 -0500, Aaron Watry wrote:
> > Hey Jan,
> >
> > I've skimmed my way through this, and it's looking ok so far. I'll
> > try to do a deeper dive over the changes needed for the 2.0 spec in
> > the near future (I've been stuck in 1.1/1.2-land for too long).
> >
> > For now, you can have an:
> > Acked-by: Aaron Watry <awatry at gmail.com>
>
> thanks for taking a look.
>
> >
> > I'll see if I can find some time tomorrow, or possibly this weekend to
> > do a more detailed review.
>
> I plan to push this together with the sampler test fix early next week.
> Let me know if you want me to postpone, the patch is not on critical
> path.
>
Nah, don't feel like you need to postpone this. I'm not familiar enough
with the 2.0 spec yet, so any additional review I gave for this would still
be based on a limited understanding.
>
> regards,
> Jan
>
> >
> > --Aaron
> >
> > On Wed, Jul 19, 2017 at 5:51 PM, Jan Vesely <jan.vesely at rutgers.edu>
> wrote:
> > > v2: Fix warning in cl-api-get-mem-object-info
> > > v3: Filter permissible queue properties combinations
> > > Use and test clCreateCommandQueueWithProperties on OCL 2.0
> > >
> > > Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>
> > > ---
> > >
> > > I see few regressions with this patch on beignet(SKL) in generated
> clamp/mad_sat long16 tests. Forcing the clc version to 1.2 in those test
> fixes the regression so I believe it's beignet bug.
> > > No regressions on clover Turks and beignet(IVB).
> > >
> > > Jan
> > >
> > > tests/cl/api/create-command-queue.c | 37 +++++++++++++--
> > > tests/cl/api/get-mem-object-info.c | 8 ++++
> > > tests/util/piglit-util-cl-enum.c | 95
> +++++++++++++++++++++++++++----------
> > > tests/util/piglit-util-cl-enum.h | 4 ++
> > > tests/util/piglit-util-cl.h | 4 +-
> > > 5 files changed, 119 insertions(+), 29 deletions(-)
> > >
> > > diff --git a/tests/cl/api/create-command-queue.c
> b/tests/cl/api/create-command-queue.c
> > > index 0ffd1377c..3ada5af90 100644
> > > --- a/tests/cl/api/create-command-queue.c
> > > +++ b/tests/cl/api/create-command-queue.c
> > > @@ -52,7 +52,7 @@ get_mixed_command_queue_properties(int mask,
> > > const cl_command_queue_properties
> properties[]) {
> > > int i = 0;
> > > cl_command_queue_properties mixed_properties = 0;
> > > -
> > > +
> > > while(mask > 0) {
> > > if(mask%2 == 1) {
> > > mixed_properties |= properties[i];
> > > @@ -64,6 +64,21 @@ get_mixed_command_queue_properties(int mask,
> > > return mixed_properties;
> > > }
> > >
> > > +static bool
> > > +properties_forbidden(const cl_command_queue_properties properties,
> > > + const struct piglit_cl_api_test_env* env)
> > > +{
> > > + int num_command_queue_properties_mutexes =
> > > +
> PIGLIT_CL_ENUM_NUM(cl_command_queue_properties_mutexes, env->version);
> > > + const cl_command_queue_properties*
> command_queue_properties_mutexes =
> > > +
> PIGLIT_CL_ENUM_ARRAY(cl_command_queue_properties_mutexes);
> > > + int i = 0;
> > > + for (; i < num_command_queue_properties_mutexes; ++i)
> > > + if (properties == command_queue_properties_mutexes[i])
> > > + return true;
> > > + return false;
> > > +}
> > > +
> > > enum piglit_result
> > > piglit_cl_test(const int argc,
> > > const char** argv,
> > > @@ -79,7 +94,8 @@ piglit_cl_test(const int argc,
> > > cl_command_queue command_queue;
> > > cl_uint num_devices;
> > > cl_device_id* devices;
> > > - cl_command_queue_properties mixed_command_queue_properties;
> > > + cl_command_queue_properties mixed_command_queue_properties[4] =
> > > + {CL_QUEUE_PROPERTIES, 0, 0, 0};
> > >
> > > cl_context_properties context_properties[] = {
> > > CL_CONTEXT_PLATFORM,
> (cl_context_properties)env->platform_id,
> > > @@ -116,12 +132,25 @@ piglit_cl_test(const int argc,
> > > * There are 2^(num_command_queue_properties)-1 possible
> options.
> > > */
> > > for(mask = 0; mask < (1 << num_command_queue_properties);
> mask++) {
> > > - mixed_command_queue_properties =
> > > + mixed_command_queue_properties[1] =
> > > get_mixed_command_queue_properties(mask,
> command_queue_properties);
> > > - command_queue = clCreateCommandQueue(cl_ctx,
> > > + if
> (properties_forbidden(mixed_command_queue_properties[1], env))
> > > + continue;
> > > +#if defined CL_VERSION_2_0
> > > + if (env->version >= 20) {
> > > + command_queue =
> clCreateCommandQueueWithProperties(
> > > + cl_ctx,
> > > env->device_id,
> > >
> mixed_command_queue_properties,
> > > &errNo);
> > > + } else
> > > +#endif //CL_VERSION_2_0
> > > + {
> > > + command_queue = clCreateCommandQueue(cl_ctx,
> > > + env->device_id,
> > > +
> mixed_command_queue_properties[1],
> > > + &errNo);
> > > + }
> > > if(errNo != CL_SUCCESS && errNo !=
> CL_INVALID_QUEUE_PROPERTIES) {
> > > piglit_cl_check_error(errNo, CL_SUCCESS);
> > > fprintf(stderr,
> > > diff --git a/tests/cl/api/get-mem-object-info.c
> b/tests/cl/api/get-mem-object-info.c
> > > index 2db3b6ae6..5dcb4752d 100644
> > > --- a/tests/cl/api/get-mem-object-info.c
> > > +++ b/tests/cl/api/get-mem-object-info.c
> > > @@ -170,6 +170,14 @@ test(int n,
> > > }
> > > break;
> > > #endif
> > > +#if defined(CL_VERSION_2_0)
> > > + case CL_MEM_USES_SVM_POINTER:
> > > + if (env->version >= 20) {
> > > + CHECK_SIZE(cl_bool)
> > > + CHECK_VALUE(cl_bool, CL_FALSE)
> > > + }
> > > + break;
> > > +#endif
> > > default:
> > > fprintf(stderr, "Warn: untested parameter
> %s\n",
> > > piglit_cl_get_enum_name(param_name));
> > > diff --git a/tests/util/piglit-util-cl-enum.c
> b/tests/util/piglit-util-cl-enum.c
> > > index 95da9d3cb..10ec01f0e 100644
> > > --- a/tests/util/piglit-util-cl-enum.c
> > > +++ b/tests/util/piglit-util-cl-enum.c
> > > @@ -182,7 +182,11 @@ piglit_cl_get_enum_name(cl_uint param)
> > > CASE(CL_DEVICE_AVAILABLE) // 0x1027
> > > CASE(CL_DEVICE_COMPILER_AVAILABLE) // 0x1028
> > > CASE(CL_DEVICE_EXECUTION_CAPABILITIES) // 0x1029
> > > +#ifdef CL_VERSION_2_0
> > > + CASE(CL_DEVICE_QUEUE_ON_HOST_PROPERTIES) // 0x102A
> > > +#else //CL_VERSION_2_0
> > > CASE(CL_DEVICE_QUEUE_PROPERTIES) // 0x102A
> > > +#endif //CL_VERSION_2_0
> > > CASE(CL_DEVICE_NAME) // 0x102B
> > > CASE(CL_DEVICE_VENDOR) // 0x102C
> > > CASE(CL_DRIVER_VERSION) // 0x102D
> > > @@ -256,6 +260,8 @@ piglit_cl_get_enum_name(cl_uint param)
> > > /*
> > > CASE(CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE) // (1 << 0)
> > > CASE(CL_QUEUE_PROFILING_ENABLE) // (1 << 1)
> > > + CASE(CL_QUEUE_ON_DEVICE) // (1 << 2)
> > > + CASE(CL_QUEUE_ON_DEVICE_DEFAULT) // (1 << 3)
> > > */
> > >
> > > /* cl_context_info */
> > > @@ -295,6 +301,9 @@ piglit_cl_get_enum_name(cl_uint param)
> > > CASE(CL_QUEUE_DEVICE) // 0x1091
> > > CASE(CL_QUEUE_REFERENCE_COUNT) // 0x1092
> > > CASE(CL_QUEUE_PROPERTIES) // 0x1093
> > > +#ifdef CL_VERSION_2_0
> > > + CASE(CL_QUEUE_SIZE) // 0x1094
> > > +#endif //CL_VERSION_2_0
> > >
> > > /* cl_mem_flags - bitfield */
> > > /*
> > > @@ -373,6 +382,9 @@ piglit_cl_get_enum_name(cl_uint param)
> > > CASE(CL_MEM_ASSOCIATED_MEMOBJECT) // 0x1107
> > > CASE(CL_MEM_OFFSET) // 0x1108
> > > #endif //CL_VERSION_1_1
> > > +#ifdef CL_VERSION_2_0
> > > + CASE(CL_MEM_USES_SVM_POINTER) // 0x1109
> > > +#endif //CL_VERSION_2_0
> > >
> > > /* cl_image_info */
> > > CASE(CL_IMAGE_FORMAT) // 0x1110
> > > @@ -436,6 +448,9 @@ piglit_cl_get_enum_name(cl_uint param)
> > > #ifdef CL_VERSION_1_2
> > > CASE(CL_PROGRAM_BINARY_TYPE) // 0x1184
> > > #endif //CL_VERSION_1_2
> > > +#ifdef CL_VERSION_2_0
> > > + CASE(CL_PROGRAM_BUILD_GLOBAL_VARIABLE_TOTAL_SIZE) // 0x1185
> > > +#endif //CL_VERSION_2_0
> > >
> > > /* cl_program_binary_type */
> > > /*
> > > @@ -655,14 +670,15 @@ const char* piglit_cl_get_error_name(cl_int
> error) {
> > > }
> > >
> > >
> > > -#define PIGLIT_CL_DEFINE_ENUM(type, name, count10, count11, count12)
> \
> > > +#define PIGLIT_CL_DEFINE_ENUM(type, name, count10, count11, count12,
> count20) \
> > > const unsigned int piglit_##name##_num_1_0 = count10;
> \
> > > const unsigned int piglit_##name##_num_1_1 = count11;
> \
> > > const unsigned int piglit_##name##_num_1_2 = count12;
> \
> > > + const unsigned int piglit_##name##_num_2_0 = count20;
> \
> > > const type _piglit_##name[]
> > >
> > > -#define PIGLIT_CL_DEFINE_ENUM_2(name, count10, count11, count12)
> \
> > > - PIGLIT_CL_DEFINE_ENUM(name, name, count10, count11, count12)
> > > +#define PIGLIT_CL_DEFINE_ENUM_2(name, count10, count11, count12,
> count20) \
> > > + PIGLIT_CL_DEFINE_ENUM(name, name, count10, count11, count12,
> count20)
> > >
> > > #define PIGLIT_CL_DEFINE_ENUM_PTR(type, name)
> \
> > > const type* piglit_##name = _piglit_##name;
> > > @@ -671,7 +687,7 @@ const char* piglit_cl_get_error_name(cl_int error)
> {
> > > PIGLIT_CL_DEFINE_ENUM_PTR(name, name)
> > >
> > >
> > > -PIGLIT_CL_DEFINE_ENUM_2(cl_mem_flags, 6, 6, 9) = {
> > > +PIGLIT_CL_DEFINE_ENUM_2(cl_mem_flags, 6, 6, 9, 9) = {
> > > CL_MEM_READ_WRITE,
> > > CL_MEM_READ_ONLY,
> > > CL_MEM_WRITE_ONLY,
> > > @@ -686,7 +702,7 @@ PIGLIT_CL_DEFINE_ENUM_2(cl_mem_flags, 6, 6, 9) = {
> > > };
> > > PIGLIT_CL_DEFINE_ENUM_PTR_2(cl_mem_flags);
> > >
> > > -PIGLIT_CL_DEFINE_ENUM_2(cl_device_type, 5, 5, 6) = {
> > > +PIGLIT_CL_DEFINE_ENUM_2(cl_device_type, 5, 5, 6, 6) = {
> > > CL_DEVICE_TYPE_CPU,
> > > CL_DEVICE_TYPE_GPU,
> > > CL_DEVICE_TYPE_ACCELERATOR,
> > > @@ -698,7 +714,7 @@ PIGLIT_CL_DEFINE_ENUM_2(cl_device_type, 5, 5, 6) =
> {
> > > };
> > > PIGLIT_CL_DEFINE_ENUM_PTR_2(cl_device_type);
> > >
> > > -PIGLIT_CL_DEFINE_ENUM_2(cl_program_info, 7, 7, 9) = {
> > > +PIGLIT_CL_DEFINE_ENUM_2(cl_program_info, 7, 7, 9, 9) = {
> > > CL_PROGRAM_REFERENCE_COUNT,
> > > CL_PROGRAM_CONTEXT,
> > > CL_PROGRAM_NUM_DEVICES,
> > > @@ -713,17 +729,20 @@ PIGLIT_CL_DEFINE_ENUM_2(cl_program_info, 7, 7,
> 9) = {
> > > };
> > > PIGLIT_CL_DEFINE_ENUM_PTR_2(cl_program_info);
> > >
> > > -PIGLIT_CL_DEFINE_ENUM_2(cl_program_build_info, 3, 3, 4) = {
> > > +PIGLIT_CL_DEFINE_ENUM_2(cl_program_build_info, 3, 3, 4, 5) = {
> > > CL_PROGRAM_BUILD_STATUS,
> > > CL_PROGRAM_BUILD_OPTIONS,
> > > CL_PROGRAM_BUILD_LOG,
> > > #ifdef CL_VERSION_1_2
> > > CL_PROGRAM_BINARY_TYPE,
> > > #endif //CL_VERSION_1_2
> > > +#ifdef CL_VERSION_2_0
> > > + CL_PROGRAM_BUILD_GLOBAL_VARIABLE_TOTAL_SIZE,
> > > +#endif //CL_VERSION_2_0
> > > };
> > > PIGLIT_CL_DEFINE_ENUM_PTR_2(cl_program_build_info);
> > >
> > > -PIGLIT_CL_DEFINE_ENUM_2(cl_mem_info, 7, 9, 9) = {
> > > +PIGLIT_CL_DEFINE_ENUM_2(cl_mem_info, 7, 9, 9, 10) = {
> > > CL_MEM_TYPE,
> > > CL_MEM_FLAGS,
> > > CL_MEM_SIZE,
> > > @@ -735,10 +754,13 @@ PIGLIT_CL_DEFINE_ENUM_2(cl_mem_info, 7, 9, 9) = {
> > > CL_MEM_ASSOCIATED_MEMOBJECT,
> > > CL_MEM_OFFSET,
> > > #endif //CL_VERSION_1_1
> > > +#ifdef CL_VERSION_2_0
> > > + CL_MEM_USES_SVM_POINTER,
> > > +#endif //CL_VERSION_2_0
> > > };
> > > PIGLIT_CL_DEFINE_ENUM_PTR_2(cl_mem_info);
> > >
> > > -PIGLIT_CL_DEFINE_ENUM_2(cl_kernel_info, 5, 5, 6) = {
> > > +PIGLIT_CL_DEFINE_ENUM_2(cl_kernel_info, 5, 5, 6, 6) = {
> > > CL_KERNEL_FUNCTION_NAME,
> > > CL_KERNEL_NUM_ARGS,
> > > CL_KERNEL_REFERENCE_COUNT,
> > > @@ -751,7 +773,7 @@ PIGLIT_CL_DEFINE_ENUM_2(cl_kernel_info, 5, 5, 6) =
> {
> > > PIGLIT_CL_DEFINE_ENUM_PTR_2(cl_kernel_info);
> > >
> > > #ifdef CL_VERSION_1_2
> > > -PIGLIT_CL_DEFINE_ENUM_2(cl_kernel_arg_info, 0, 0, 5) = {
> > > +PIGLIT_CL_DEFINE_ENUM_2(cl_kernel_arg_info, 0, 0, 5, 5) = {
> > > CL_KERNEL_ARG_ADDRESS_QUALIFIER,
> > > CL_KERNEL_ARG_ACCESS_QUALIFIER,
> > > CL_KERNEL_ARG_TYPE_NAME,
> > > @@ -761,7 +783,7 @@ PIGLIT_CL_DEFINE_ENUM_2(cl_kernel_arg_info, 0, 0,
> 5) = {
> > > PIGLIT_CL_DEFINE_ENUM_PTR_2(cl_kernel_arg_info);
> > > #endif //CL_VERSION_1_2
> > >
> > > -PIGLIT_CL_DEFINE_ENUM_2(cl_kernel_work_group_info, 3, 5, 6) = {
> > > +PIGLIT_CL_DEFINE_ENUM_2(cl_kernel_work_group_info, 3, 5, 6, 6) = {
> > > CL_KERNEL_WORK_GROUP_SIZE,
> > > CL_KERNEL_COMPILE_WORK_GROUP_SIZE,
> > > CL_KERNEL_LOCAL_MEM_SIZE,
> > > @@ -775,7 +797,7 @@ PIGLIT_CL_DEFINE_ENUM_2(cl_kernel_work_group_info,
> 3, 5, 6) = {
> > > };
> > > PIGLIT_CL_DEFINE_ENUM_PTR_2(cl_kernel_work_group_info);
> > >
> > > -PIGLIT_CL_DEFINE_ENUM_2(cl_event_info, 4, 5, 5) = {
> > > +PIGLIT_CL_DEFINE_ENUM_2(cl_event_info, 4, 5, 5, 5) = {
> > > CL_EVENT_COMMAND_QUEUE,
> > > CL_EVENT_COMMAND_TYPE,
> > > CL_EVENT_REFERENCE_COUNT,
> > > @@ -786,7 +808,7 @@ PIGLIT_CL_DEFINE_ENUM_2(cl_event_info, 4, 5, 5) = {
> > > };
> > > PIGLIT_CL_DEFINE_ENUM_PTR_2(cl_event_info);
> > >
> > > -PIGLIT_CL_DEFINE_ENUM_2(cl_image_info, 7, 7, 11) = {
> > > +PIGLIT_CL_DEFINE_ENUM_2(cl_image_info, 7, 7, 11, 11) = {
> > > CL_IMAGE_FORMAT,
> > > CL_IMAGE_ELEMENT_SIZE,
> > > CL_IMAGE_ROW_PITCH,
> > > @@ -796,22 +818,25 @@ PIGLIT_CL_DEFINE_ENUM_2(cl_image_info, 7, 7, 11)
> = {
> > > CL_IMAGE_DEPTH,
> > > #ifdef CL_VERSION_1_2
> > > CL_IMAGE_ARRAY_SIZE,
> > > - CL_IMAGE_BUFFER,
> > > - CL_IMAGE_NUM_MIP_LEVELS, // 10
> > > CL_IMAGE_NUM_SAMPLES,
> > > + CL_IMAGE_NUM_MIP_LEVELS, // 10
> > > + CL_IMAGE_BUFFER, // Deprecated in 2.0
> > > #endif //CL_VERSION_1_2
> > > };
> > > PIGLIT_CL_DEFINE_ENUM_PTR_2(cl_image_info);
> > >
> > > -PIGLIT_CL_DEFINE_ENUM_2(cl_command_queue_info, 4, 4, 4) = {
> > > +PIGLIT_CL_DEFINE_ENUM_2(cl_command_queue_info, 4, 4, 4, 5) = {
> > > CL_QUEUE_CONTEXT,
> > > CL_QUEUE_DEVICE,
> > > CL_QUEUE_REFERENCE_COUNT,
> > > CL_QUEUE_PROPERTIES,
> > > +#ifdef CL_VERSION_2_0
> > > + CL_QUEUE_SIZE,
> > > +#endif //CL_VERSION_2_0
> > > };
> > > PIGLIT_CL_DEFINE_ENUM_PTR_2(cl_command_queue_info);
> > >
> > > -PIGLIT_CL_DEFINE_ENUM_2(cl_context_info, 3, 4, 4) = {
> > > +PIGLIT_CL_DEFINE_ENUM_2(cl_context_info, 3, 4, 4, 4) = {
> > > CL_CONTEXT_REFERENCE_COUNT,
> > > CL_CONTEXT_DEVICES,
> > > CL_CONTEXT_PROPERTIES,
> > > @@ -821,7 +846,7 @@ PIGLIT_CL_DEFINE_ENUM_2(cl_context_info, 3, 4, 4)
> = {
> > > };
> > > PIGLIT_CL_DEFINE_ENUM_PTR_2(cl_context_info);
> > >
> > > -PIGLIT_CL_DEFINE_ENUM_2(cl_platform_info, 5, 5, 5) = {
> > > +PIGLIT_CL_DEFINE_ENUM_2(cl_platform_info, 5, 5, 5, 5) = {
> > > CL_PLATFORM_PROFILE,
> > > CL_PLATFORM_VERSION,
> > > CL_PLATFORM_NAME,
> > > @@ -830,7 +855,7 @@ PIGLIT_CL_DEFINE_ENUM_2(cl_platform_info, 5, 5, 5)
> = {
> > > };
> > > PIGLIT_CL_DEFINE_ENUM_PTR_2(cl_platform_info);
> > >
> > > -PIGLIT_CL_DEFINE_ENUM_2(cl_device_info, 50, 60, 73) = {
> > > +PIGLIT_CL_DEFINE_ENUM_2(cl_device_info, 50, 60, 73, 74) = {
> > > CL_DEVICE_TYPE,
> > > CL_DEVICE_VENDOR_ID,
> > > CL_DEVICE_MAX_COMPUTE_UNITS,
> > > @@ -873,7 +898,7 @@ PIGLIT_CL_DEFINE_ENUM_2(cl_device_info, 50, 60,
> 73) = {
> > > CL_DEVICE_AVAILABLE, // 40
> > > CL_DEVICE_COMPILER_AVAILABLE,
> > > CL_DEVICE_EXECUTION_CAPABILITIES,
> > > - CL_DEVICE_QUEUE_PROPERTIES,
> > > + CL_DEVICE_QUEUE_PROPERTIES, // Deprecated in 2.0
> > > CL_DEVICE_NAME,
> > > CL_DEVICE_VENDOR, // 45
> > > CL_DRIVER_VERSION,
> > > @@ -883,7 +908,7 @@ PIGLIT_CL_DEFINE_ENUM_2(cl_device_info, 50, 60,
> 73) = {
> > > CL_DEVICE_PLATFORM, // 50
> > > #if defined(CL_VERSION_1_1)
> > > CL_DEVICE_PREFERRED_VECTOR_WIDTH_HALF,
> > > - CL_DEVICE_HOST_UNIFIED_MEMORY,
> > > + CL_DEVICE_HOST_UNIFIED_MEMORY, // Deprecated in 2.0
> > > CL_DEVICE_NATIVE_VECTOR_WIDTH_CHAR,
> > > CL_DEVICE_NATIVE_VECTOR_WIDTH_SHORT,
> > > CL_DEVICE_NATIVE_VECTOR_WIDTH_INT, // 55
> > > @@ -908,17 +933,24 @@ PIGLIT_CL_DEFINE_ENUM_2(cl_device_info, 50, 60,
> 73) = {
> > > CL_DEVICE_PREFERRED_INTEROP_USER_SYNC,
> > > CL_DEVICE_PRINTF_BUFFER_SIZE, // 73
> > > #endif //CL_VERSION_1_2
> > > +#if defined(CL_VERSION_2_0)
> > > + CL_DEVICE_QUEUE_ON_HOST_PROPERTIES,
> > > +#endif //CL_VERSION_2_0
> > > };
> > > PIGLIT_CL_DEFINE_ENUM_PTR_2(cl_device_info);
> > >
> > > -PIGLIT_CL_DEFINE_ENUM_2(cl_command_queue_properties, 2, 2, 2) = {
> > > +PIGLIT_CL_DEFINE_ENUM_2(cl_command_queue_properties, 2, 2, 2, 4) = {
> > > CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE,
> > > - CL_QUEUE_PROFILING_ENABLE
> > > + CL_QUEUE_PROFILING_ENABLE,
> > > +#if defined(CL_VERSION_2_0)
> > > + CL_QUEUE_ON_DEVICE,
> > > + CL_QUEUE_ON_DEVICE_DEFAULT,
> > > +#endif //CL_VERSION_2_0
> > > };
> > > PIGLIT_CL_DEFINE_ENUM_PTR_2(cl_command_queue_properties);
> > >
> > >
> > > -PIGLIT_CL_DEFINE_ENUM(cl_mem_flags, cl_mem_flags_mutexes, 5, 5, 8) = {
> > > +PIGLIT_CL_DEFINE_ENUM(cl_mem_flags, cl_mem_flags_mutexes, 5, 5, 8, 8)
> = {
> > > CL_MEM_READ_WRITE | CL_MEM_READ_ONLY,
> > > CL_MEM_READ_WRITE | CL_MEM_WRITE_ONLY,
> > > CL_MEM_READ_ONLY | CL_MEM_WRITE_ONLY,
> > > @@ -932,6 +964,21 @@ PIGLIT_CL_DEFINE_ENUM(cl_mem_flags,
> cl_mem_flags_mutexes, 5, 5, 8) = {
> > > };
> > > PIGLIT_CL_DEFINE_ENUM_PTR(cl_mem_flags, cl_mem_flags_mutexes);
> > >
> > > +PIGLIT_CL_DEFINE_ENUM(cl_command_queue_properties,
> cl_command_queue_properties_mutexes, 0, 0, 0, 8) = {
> > > +#if defined(CL_VERSION_2_0)
> > > + // CL_QUEUE_ON_DEVICE requires
> CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE
> > > + CL_QUEUE_ON_DEVICE,
> > > + CL_QUEUE_ON_DEVICE | CL_QUEUE_PROFILING_ENABLE,
> > > + // CL_QUEUE_ON_DEVICE_DEFAULT requires CL_QUEUE_ON_DEVICE
> > > + CL_QUEUE_ON_DEVICE_DEFAULT,
> > > + CL_QUEUE_ON_DEVICE_DEFAULT | CL_QUEUE_ON_DEVICE,
> > > + CL_QUEUE_ON_DEVICE_DEFAULT | CL_QUEUE_PROFILING_ENABLE,
> > > + CL_QUEUE_ON_DEVICE_DEFAULT |
> CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE,
> > > + CL_QUEUE_ON_DEVICE_DEFAULT | CL_QUEUE_PROFILING_ENABLE |
> CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE,
> > > + CL_QUEUE_ON_DEVICE_DEFAULT | CL_QUEUE_ON_DEVICE |
> CL_QUEUE_PROFILING_ENABLE,
> > > +#endif //CL_VERSION_2_0
> > > +};
> > > +PIGLIT_CL_DEFINE_ENUM_PTR(cl_command_queue_properties,
> cl_command_queue_properties_mutexes);
> > >
> > >
> > > #undef PIGLIT_CL_DEFINE_ENUM
> > > diff --git a/tests/util/piglit-util-cl-enum.h
> b/tests/util/piglit-util-cl-enum.h
> > > index 179153158..20e20f871 100644
> > > --- a/tests/util/piglit-util-cl-enum.h
> > > +++ b/tests/util/piglit-util-cl-enum.h
> > > @@ -64,6 +64,8 @@ const char* piglit_cl_get_error_name(cl_int error);
> > > piglit_##name##_num_1_1 : \
> > > version == 12 ? \
> > > piglit_##name##_num_1_2 : \
> > > + version == 20 ? \
> > > + piglit_##name##_num_2_0 : \
> > > 0
> > >
> > > #define PIGLIT_CL_ENUM_ARRAY(name) \
> > > @@ -74,6 +76,7 @@ const char* piglit_cl_get_error_name(cl_int error);
> > > extern const unsigned int piglit_##name##_num_1_0; \
> > > extern const unsigned int piglit_##name##_num_1_1; \
> > > extern const unsigned int piglit_##name##_num_1_2; \
> > > + extern const unsigned int piglit_##name##_num_2_0; \
> > > extern const type* piglit_##name;
> > >
> > > #define PIGLIT_CL_DEFINE_ENUM_PROTOTYPE_2(name) \
> > > @@ -99,6 +102,7 @@ PIGLIT_CL_DEFINE_ENUM_PROTOTYPE_2(cl_device_info);
> > > PIGLIT_CL_DEFINE_ENUM_PROTOTYPE_2(cl_command_queue_properties);
> > >
> > > PIGLIT_CL_DEFINE_ENUM_PROTOTYPE(cl_mem_flags, cl_mem_flags_mutexes);
> > > +PIGLIT_CL_DEFINE_ENUM_PROTOTYPE(cl_command_queue_properties,
> cl_command_queue_properties_mutexes);
> > >
> > > #undef PIGLIT_CL_DEFINE_ENUM_PROTOTYPE
> > > #undef PIGLIT_CL_DEFINE_ENUM_PROTOTYPE_2
> > > diff --git a/tests/util/piglit-util-cl.h b/tests/util/piglit-util-cl.h
> > > index bd9f5a895..ebe1a1e36 100644
> > > --- a/tests/util/piglit-util-cl.h
> > > +++ b/tests/util/piglit-util-cl.h
> > > @@ -31,7 +31,9 @@
> > >
> > > /* Define with which version of OpenCL Piglit was compiled */
> > >
> > > -#if defined(CL_VERSION_1_2)
> > > +#if defined(CL_VERSION_2_0)
> > > +# define PIGLIT_CL_VERSION 20
> > > +#elif defined(CL_VERSION_1_2)
> > > # define PIGLIT_CL_VERSION 12
> > > #elif defined(CL_VERSION_1_1)
> > > # define PIGLIT_CL_VERSION 11
> > > --
> > > 2.13.3
> > >
> > > _______________________________________________
> > > Piglit mailing list
> > > Piglit at lists.freedesktop.org
> > > https://lists.freedesktop.org/mailman/listinfo/piglit
>
> --
> Jan Vesely <jan.vesely at rutgers.edu>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/piglit/attachments/20170730/7c968843/attachment-0001.html>
More information about the Piglit
mailing list