Fix minor resource leaks in test_api. (#735)

Added some missing clProgramWrapper/clkernelWrapper, to avoid
resource leaks.

Signed-off-by: John Kesapides <john.kesapides@arm.com>
This commit is contained in:
John Kesapides
2020-04-16 13:35:29 +01:00
committed by GitHub
parent f3a3ec2b47
commit c911046f5b
3 changed files with 8 additions and 14 deletions

View File

@@ -38,8 +38,8 @@ const char *kernel_with_bool[] = {
int test_bool_type(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements) int test_bool_type(cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements)
{ {
cl_program program; clProgramWrapper program;
cl_kernel kernel; clKernelWrapper kernel;
int err = create_single_kernel_helper(context, int err = create_single_kernel_helper(context,
&program, &program,

View File

@@ -5585,15 +5585,14 @@ const char * long_arg_info[][72] = {
template<typename arg_info_t> template<typename arg_info_t>
int test(cl_device_id deviceID, cl_context context, kernel_args_t kernel_args, cl_uint lines_count, arg_info_t arg_info, size_t total_kernels_in_program) { int test(cl_device_id deviceID, cl_context context, kernel_args_t kernel_args, cl_uint lines_count, arg_info_t arg_info, size_t total_kernels_in_program) {
cl_program program;
cl_kernel kernel;
const size_t max_name_len = 512; const size_t max_name_len = 512;
cl_char name[ max_name_len ]; cl_char name[ max_name_len ];
cl_uint arg_count, numArgs; cl_uint arg_count, numArgs;
size_t i, j, size; size_t i, j, size;
int error; int error;
program = clCreateProgramWithSource( context, lines_count, kernel_args, NULL, &error ); clProgramWrapper program =
clCreateProgramWithSource(context, lines_count, kernel_args, NULL, &error);
if ( program == NULL || error != CL_SUCCESS ) if ( program == NULL || error != CL_SUCCESS )
{ {
print_error( error, "Unable to create required arguments kernel program" ); print_error( error, "Unable to create required arguments kernel program" );
@@ -5704,7 +5703,7 @@ int test(cl_device_id deviceID, cl_context context, kernel_args_t kernel_args, c
{ {
int kernel_rc = 0; int kernel_rc = 0;
const char* kernel_name = arg_info[ i ][ 0 ]; const char* kernel_name = arg_info[ i ][ 0 ];
kernel = clCreateKernel( program, kernel_name, &error ); clKernelWrapper kernel = clCreateKernel(program, kernel_name, &error);
if( kernel == NULL || error != CL_SUCCESS ) if( kernel == NULL || error != CL_SUCCESS )
{ {
log_error( "ERROR: Could not get kernel: %s\n", kernel_name ); log_error( "ERROR: Could not get kernel: %s\n", kernel_name );
@@ -5824,8 +5823,6 @@ int test(cl_device_id deviceID, cl_context context, kernel_args_t kernel_args, c
int test_get_kernel_arg_info( cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements ) int test_get_kernel_arg_info( cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements )
{ {
clProgramWrapper program;
clKernelWrapper kernel;
size_t size; size_t size;
int error; int error;

View File

@@ -4842,15 +4842,14 @@ static const char * half_arg_info[][77] = {
template<typename arg_info_t> template<typename arg_info_t>
int test(cl_device_id deviceID, cl_context context, kernel_args_t kernel_args, cl_uint lines_count, arg_info_t arg_info, size_t total_kernels_in_program) { int test(cl_device_id deviceID, cl_context context, kernel_args_t kernel_args, cl_uint lines_count, arg_info_t arg_info, size_t total_kernels_in_program) {
cl_program program;
cl_kernel kernel;
const size_t max_name_len = 512; const size_t max_name_len = 512;
cl_char name[ max_name_len ]; cl_char name[ max_name_len ];
cl_uint arg_count, numArgs; cl_uint arg_count, numArgs;
size_t i, j, size; size_t i, j, size;
int error; int error;
program = clCreateProgramWithSource( context, lines_count, kernel_args, NULL, &error ); clProgramWrapper program =
clCreateProgramWithSource(context, lines_count, kernel_args, NULL, &error);
if ( program == NULL || error != CL_SUCCESS ) if ( program == NULL || error != CL_SUCCESS )
{ {
print_error( error, "Unable to create required arguments kernel program" ); print_error( error, "Unable to create required arguments kernel program" );
@@ -4961,7 +4960,7 @@ int test(cl_device_id deviceID, cl_context context, kernel_args_t kernel_args, c
{ {
int kernel_rc = 0; int kernel_rc = 0;
const char* kernel_name = arg_info[ i ][ 0 ]; const char* kernel_name = arg_info[ i ][ 0 ];
kernel = clCreateKernel( program, kernel_name, &error ); clKernelWrapper kernel = clCreateKernel(program, kernel_name, &error);
if( kernel == NULL || error != CL_SUCCESS ) if( kernel == NULL || error != CL_SUCCESS )
{ {
log_error( "ERROR: Could not get kernel: %s\n", kernel_name ); log_error( "ERROR: Could not get kernel: %s\n", kernel_name );
@@ -5081,8 +5080,6 @@ int test(cl_device_id deviceID, cl_context context, kernel_args_t kernel_args, c
int test_get_kernel_arg_info_compatibility( cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements ) int test_get_kernel_arg_info_compatibility( cl_device_id deviceID, cl_context context, cl_command_queue queue, int num_elements )
{ {
clProgramWrapper program;
clKernelWrapper kernel;
size_t size; size_t size;
int error; int error;