MCPcopy Create free account
hub / github.com/KhronosGroup/OpenCL-CTS / REGISTER_TEST

Function REGISTER_TEST

test_conformance/compiler/test_preprocessor.cpp:42–136  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

40
41
42REGISTER_TEST(preprocessor_define_udef)
43{
44 cl_int error;
45 clKernelWrapper kernel;
46 clProgramWrapper program;
47 clMemWrapper buffer[3];
48 cl_int *srcData, *resultData;
49 int i;
50 MTdata d;
51
52 error = create_single_kernel_helper(context, &program, &kernel, 1,
53 define_kernel_code, "define_test");
54 if (error) return -1;
55
56 buffer[0] = clCreateBuffer(context, CL_MEM_READ_WRITE,
57 num_elements * sizeof(cl_int), NULL, &error);
58 test_error(error, "clCreateBuffer failed");
59 buffer[1] = clCreateBuffer(context, CL_MEM_READ_WRITE,
60 num_elements * sizeof(cl_int), NULL, &error);
61 test_error(error, "clCreateBuffer failed");
62 buffer[2] = clCreateBuffer(context, CL_MEM_READ_WRITE,
63 num_elements * sizeof(cl_int), NULL, &error);
64 test_error(error, "clCreateBuffer failed");
65
66 srcData = (cl_int *)malloc(sizeof(cl_int) * num_elements);
67 if (srcData == NULL)
68 {
69 log_error("Failed to allocate storage for source data (%d cl_ints).\n",
70 num_elements);
71 return -1;
72 }
73
74 d = init_genrand(gRandomSeed);
75 for (i = 0; i < num_elements; i++)
76 srcData[i] = (int)get_random_float(-1024, 1024, d);
77 free_mtdata(d);
78 d = NULL;
79
80 resultData = (cl_int *)malloc(sizeof(cl_int) * num_elements);
81 if (resultData == NULL)
82 {
83 free(srcData);
84 log_error("Failed to allocate storage for result data (%d cl_ints).\n",
85 num_elements);
86 return -1;
87 }
88
89 error = clSetKernelArg(kernel, 0, sizeof(buffer[0]), &buffer[0]);
90 test_error(error, "clSetKernelArg failed");
91 error = clSetKernelArg(kernel, 1, sizeof(buffer[1]), &buffer[1]);
92 test_error(error, "clSetKernelArg failed");
93 error = clSetKernelArg(kernel, 2, sizeof(buffer[2]), &buffer[2]);
94 test_error(error, "clSetKernelArg failed");
95
96
97 error = clEnqueueWriteBuffer(queue, buffer[0], CL_TRUE, 0,
98 num_elements * sizeof(cl_int), srcData, 0,
99 NULL, NULL);

Callers

nothing calls this directly

Calls 5

init_genrandFunction · 0.85
get_random_floatFunction · 0.85
free_mtdataFunction · 0.85
get_dir_sepFunction · 0.85

Tested by

no test coverage detected