diff --git a/test_conformance/basic/test_vector_swizzle.cpp b/test_conformance/basic/test_vector_swizzle.cpp index 5ab3ea4f..884bcf36 100644 --- a/test_conformance/basic/test_vector_swizzle.cpp +++ b/test_conformance/basic/test_vector_swizzle.cpp @@ -610,9 +610,6 @@ static int test_vectype(const char* type_name, cl_device_id device, cl_int error = CL_SUCCESS; int result = TEST_PASS; - clProgramWrapper program; - clKernelWrapper kernel; - std::string buildOptions{ "-DTYPE=" }; buildOptions += type_name; buildOptions += std::to_string(N); @@ -628,37 +625,52 @@ static int test_vectype(const char* type_name, cl_device_id device, makeReference(reference); // XYZW swizzles: - - const char* xyzw_source = TestInfo::kernel_source_xyzw; - error = create_single_kernel_helper( - context, &program, &kernel, 1, &xyzw_source, "test_vector_swizzle_xyzw", - buildOptions.c_str()); - test_error(error, "Unable to create xyzw test kernel"); - - result |= test_vectype_case(value, reference, context, kernel, queue); - - // sN swizzles: - const char* sN_source = TestInfo::kernel_source_sN; - error = create_single_kernel_helper(context, &program, &kernel, 1, - &sN_source, "test_vector_swizzle_sN", - buildOptions.c_str()); - test_error(error, "Unable to create sN test kernel"); - - result |= test_vectype_case(value, reference, context, kernel, queue); - - // RGBA swizzles for OpenCL 3.0 and newer: - const Version device_version = get_device_cl_version(device); - if (device_version >= Version(3, 0)) { - const char* rgba_source = TestInfo::kernel_source_rgba; + clProgramWrapper program; + clKernelWrapper kernel; + + const char* xyzw_source = TestInfo::kernel_source_xyzw; error = create_single_kernel_helper( - context, &program, &kernel, 1, &rgba_source, - "test_vector_swizzle_rgba", buildOptions.c_str()); - test_error(error, "Unable to create rgba test kernel"); + context, &program, &kernel, 1, &xyzw_source, + "test_vector_swizzle_xyzw", buildOptions.c_str()); + test_error(error, "Unable to create xyzw test kernel"); result |= test_vectype_case(value, reference, context, kernel, queue); } + // sN swizzles: + { + clProgramWrapper program; + clKernelWrapper kernel; + + const char* sN_source = TestInfo::kernel_source_sN; + error = create_single_kernel_helper( + context, &program, &kernel, 1, &sN_source, "test_vector_swizzle_sN", + buildOptions.c_str()); + test_error(error, "Unable to create sN test kernel"); + + result |= test_vectype_case(value, reference, context, kernel, queue); + } + + // RGBA swizzles for OpenCL 3.0 and newer: + { + clProgramWrapper program; + clKernelWrapper kernel; + + const Version device_version = get_device_cl_version(device); + if (device_version >= Version(3, 0)) + { + const char* rgba_source = TestInfo::kernel_source_rgba; + error = create_single_kernel_helper( + context, &program, &kernel, 1, &rgba_source, + "test_vector_swizzle_rgba", buildOptions.c_str()); + test_error(error, "Unable to create rgba test kernel"); + + result |= + test_vectype_case(value, reference, context, kernel, queue); + } + } + return result; } diff --git a/test_conformance/buffers/test_buffer_fill.cpp b/test_conformance/buffers/test_buffer_fill.cpp index 9c9c7d17..92079794 100644 --- a/test_conformance/buffers/test_buffer_fill.cpp +++ b/test_conformance/buffers/test_buffer_fill.cpp @@ -703,8 +703,6 @@ int test_buffer_fill( cl_device_id deviceID, cl_context context, cl_command_queu int test_buffer_fill_struct( cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements ) { TestStruct pattern; - clProgramWrapper program; - clKernelWrapper kernel; size_t ptrSize = sizeof( TestStruct ); size_t global_work_size[3]; int n, err; @@ -720,6 +718,8 @@ int test_buffer_fill_struct( cl_device_id deviceID, cl_context context, cl_comma for (src_flag_id = 0; src_flag_id < NUM_FLAGS; src_flag_id++) { + clProgramWrapper program; + clKernelWrapper kernel; log_info("Testing with cl_mem_flags: %s\n", flag_set_names[src_flag_id]); diff --git a/test_conformance/buffers/test_buffer_read.cpp b/test_conformance/buffers/test_buffer_read.cpp index 39cf3297..49a57f92 100644 --- a/test_conformance/buffers/test_buffer_read.cpp +++ b/test_conformance/buffers/test_buffer_read.cpp @@ -763,7 +763,6 @@ int test_buffer_read_async( cl_device_id deviceID, cl_context context, cl_comman { clProgramWrapper program[5]; clKernelWrapper kernel[5]; - clEventWrapper event; void *outptr[5]; void *inptr[5]; size_t global_work_size[3]; @@ -805,6 +804,7 @@ int test_buffer_read_async( cl_device_id deviceID, cl_context context, cl_comman for (src_flag_id = 0; src_flag_id < NUM_FLAGS; src_flag_id++) { clMemWrapper buffer; + clEventWrapper event; outptr[i] = align_malloc(ptrSizes[i] * num_elements, min_alignment); if ( ! outptr[i] ){ log_error( " unable to allocate %d bytes for outptr\n", (int)(ptrSizes[i] * num_elements) ); @@ -900,7 +900,6 @@ int test_buffer_read_array_barrier( cl_device_id deviceID, cl_context context, c { clProgramWrapper program[5]; clKernelWrapper kernel[5]; - clEventWrapper event; void *outptr[5], *inptr[5]; size_t global_work_size[3]; cl_int err; @@ -941,6 +940,7 @@ int test_buffer_read_array_barrier( cl_device_id deviceID, cl_context context, c for (src_flag_id = 0; src_flag_id < NUM_FLAGS; src_flag_id++) { clMemWrapper buffer; + clEventWrapper event; outptr[i] = align_malloc(ptrSizes[i] * num_elements, min_alignment); if ( ! outptr[i] ){ log_error( " unable to allocate %d bytes for outptr\n", (int)(ptrSizes[i] * num_elements) ); diff --git a/test_conformance/vectors/test_step.cpp b/test_conformance/vectors/test_step.cpp index 2f6ad187..089bad2f 100644 --- a/test_conformance/vectors/test_step.cpp +++ b/test_conformance/vectors/test_step.cpp @@ -172,6 +172,8 @@ int test_step_internal(cl_device_id deviceID, cl_context context, destroyClState(pClState); return -1; } + + clStateDestroyProgramAndKernel(pClState); } }