mirror of
https://github.com/KhronosGroup/OpenCL-CTS.git
synced 2026-03-19 06:09:01 +00:00
Fixes for kernel private memory size test (#1053)
* Add kernel private memory size to CMake build * Fix kernel private memory size build error * Use uint for kernel private memory size test Not all devices support 64-bit types. * Register kernel private memory size test
This commit is contained in:
@@ -10,6 +10,7 @@ set(${MODULE_NAME}_SOURCES
|
||||
test_queries_compatibility.cpp
|
||||
test_create_kernels.cpp
|
||||
test_kernels.cpp
|
||||
test_kernel_private_memory_size.cpp
|
||||
test_api_min_max.cpp
|
||||
test_kernel_arg_changes.cpp
|
||||
test_kernel_arg_multi_setup.cpp
|
||||
|
||||
@@ -54,6 +54,7 @@ test_definition test_list[] = {
|
||||
ADD_TEST(get_kernel_arg_info_compatibility),
|
||||
ADD_TEST(create_kernels_in_program),
|
||||
ADD_TEST(get_kernel_info),
|
||||
ADD_TEST(kernel_private_memory_size),
|
||||
ADD_TEST(execute_kernel_local_sizes),
|
||||
ADD_TEST(set_kernel_arg_by_index),
|
||||
ADD_TEST(set_kernel_arg_constant),
|
||||
|
||||
@@ -47,6 +47,10 @@ extern int test_release_kernel_order(cl_device_id deviceID, cl_context co
|
||||
extern int test_release_during_execute(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements);
|
||||
|
||||
extern int test_get_kernel_info(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements);
|
||||
extern int test_kernel_private_memory_size(cl_device_id deviceID,
|
||||
cl_context context,
|
||||
cl_command_queue queue,
|
||||
int num_elements);
|
||||
extern int test_execute_kernel_local_sizes(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements);
|
||||
extern int test_set_kernel_arg_by_index(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements);
|
||||
extern int test_set_kernel_arg_struct(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements);
|
||||
|
||||
@@ -22,15 +22,15 @@ int test_kernel_private_memory_size(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
const char* TEST_KERNEL =
|
||||
R"(__kernel void private_memory( __global ulong *buffer ){
|
||||
volatile __private ulong x[1];
|
||||
R"(__kernel void private_memory( __global uint *buffer ){
|
||||
volatile __private uint x[1];
|
||||
buffer[0] = x[0];
|
||||
})";
|
||||
|
||||
clProgramWrapper program;
|
||||
clKernelWrapper kernel;
|
||||
cl_int err = create_single_kernel_helper(context, &program, &kernel, 1,
|
||||
&kernels[i], "private_memory");
|
||||
&TEST_KERNEL, "private_memory");
|
||||
test_error(err, "create_single_kernel_helper");
|
||||
cl_ulong size = CL_ULONG_MAX;
|
||||
err = clGetKernelWorkGroupInfo(kernel, deviceID, CL_KERNEL_PRIVATE_MEM_SIZE,
|
||||
|
||||
Reference in New Issue
Block a user