aboutsummaryrefslogtreecommitdiff
path: root/test_conformance/basic/test_vector_swizzle.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test_conformance/basic/test_vector_swizzle.cpp')
-rw-r--r--test_conformance/basic/test_vector_swizzle.cpp58
1 files changed, 35 insertions, 23 deletions
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,35 +625,50 @@ static int test_vectype(const char* type_name, cl_device_id device,
makeReference<T, N, S>(reference);
// XYZW swizzles:
+ {
+ clProgramWrapper program;
+ clKernelWrapper kernel;
- const char* xyzw_source = TestInfo<N>::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");
+ const char* xyzw_source = TestInfo<N>::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);
+ result |= test_vectype_case(value, reference, context, kernel, queue);
+ }
// sN swizzles:
- const char* sN_source = TestInfo<N>::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");
+ {
+ clProgramWrapper program;
+ clKernelWrapper kernel;
+
+ const char* sN_source = TestInfo<N>::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);
+ 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<N>::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");
+ clProgramWrapper program;
+ clKernelWrapper kernel;
- result |= test_vectype_case(value, reference, context, kernel, queue);
+ const Version device_version = get_device_cl_version(device);
+ if (device_version >= Version(3, 0))
+ {
+ const char* rgba_source = TestInfo<N>::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;