Convert some if-else chains to switch statements (#1730)

All of these if-else chains compare against enums, which is better
done using switch statements.  This helps avoid some
`-Wsometimes-uninitialized` warnings of variables that are assigned
inside the switch.

Signed-off-by: Sven van Haastregt <sven.vanhaastregt@arm.com>
This commit is contained in:
Sven van Haastregt
2023-05-24 11:11:23 +01:00
committed by GitHub
parent 4f62adf1ca
commit 957e3b3985
4 changed files with 110 additions and 104 deletions

View File

@@ -41,60 +41,52 @@ int test_image_type( cl_device_id device, cl_context context, cl_command_queue q
}
}
if( testMethod == k1D )
switch (testMethod)
{
name = "1D -> 1D";
imageType = CL_MEM_OBJECT_IMAGE1D;
}
else if( testMethod == k2D )
{
name = "2D -> 2D";
imageType = CL_MEM_OBJECT_IMAGE2D;
}
else if( testMethod == k3D )
{
name = "3D -> 3D";
imageType = CL_MEM_OBJECT_IMAGE3D;
}
else if( testMethod == k1DArray )
{
name = "1D array -> 1D array";
imageType = CL_MEM_OBJECT_IMAGE1D_ARRAY;
}
else if( testMethod == k2DArray )
{
name = "2D array -> 2D array";
imageType = CL_MEM_OBJECT_IMAGE2D_ARRAY;
}
else if( testMethod == k2DTo3D )
{
name = "2D -> 3D";
imageType = CL_MEM_OBJECT_IMAGE3D;
}
else if( testMethod == k3DTo2D )
{
name = "3D -> 2D";
imageType = CL_MEM_OBJECT_IMAGE3D;
}
else if( testMethod == k2DArrayTo2D )
{
name = "2D array -> 2D";
imageType = CL_MEM_OBJECT_IMAGE2D_ARRAY;
}
else if( testMethod == k2DTo2DArray )
{
name = "2D -> 2D array";
imageType = CL_MEM_OBJECT_IMAGE2D_ARRAY;
}
else if( testMethod == k2DArrayTo3D )
{
name = "2D array -> 3D";
imageType = CL_MEM_OBJECT_IMAGE3D;
}
else if( testMethod == k3DTo2DArray )
{
name = "3D -> 2D array";
imageType = CL_MEM_OBJECT_IMAGE3D;
case k1D:
name = "1D -> 1D";
imageType = CL_MEM_OBJECT_IMAGE1D;
break;
case k2D:
name = "2D -> 2D";
imageType = CL_MEM_OBJECT_IMAGE2D;
break;
case k3D:
name = "3D -> 3D";
imageType = CL_MEM_OBJECT_IMAGE3D;
break;
case k1DArray:
name = "1D array -> 1D array";
imageType = CL_MEM_OBJECT_IMAGE1D_ARRAY;
break;
case k2DArray:
name = "2D array -> 2D array";
imageType = CL_MEM_OBJECT_IMAGE2D_ARRAY;
break;
case k2DTo3D:
name = "2D -> 3D";
imageType = CL_MEM_OBJECT_IMAGE3D;
break;
case k3DTo2D:
name = "3D -> 2D";
imageType = CL_MEM_OBJECT_IMAGE3D;
break;
case k2DArrayTo2D:
name = "2D array -> 2D";
imageType = CL_MEM_OBJECT_IMAGE2D_ARRAY;
break;
case k2DTo2DArray:
name = "2D -> 2D array";
imageType = CL_MEM_OBJECT_IMAGE2D_ARRAY;
break;
case k2DArrayTo3D:
name = "2D array -> 3D";
imageType = CL_MEM_OBJECT_IMAGE3D;
break;
case k3DTo2DArray:
name = "3D -> 2D array";
imageType = CL_MEM_OBJECT_IMAGE3D;
break;
}
if(gTestMipmaps)

View File

@@ -33,35 +33,34 @@ int test_image_type( cl_device_id device, cl_context context, cl_command_queue q
cl_mem_object_type imageType;
test_func test_fn;
if ( testMethod == k1D )
switch (testMethod)
{
name = "1D Image Fill";
imageType = CL_MEM_OBJECT_IMAGE1D;
test_fn = &test_fill_image_set_1D;
}
else if ( testMethod == k2D )
{
name = "2D Image Fill";
imageType = CL_MEM_OBJECT_IMAGE2D;
test_fn = &test_fill_image_set_2D;
}
else if ( testMethod == k1DArray )
{
name = "1D Image Array Fill";
imageType = CL_MEM_OBJECT_IMAGE1D_ARRAY;
test_fn = &test_fill_image_set_1D_array;
}
else if ( testMethod == k2DArray )
{
name = "2D Image Array Fill";
imageType = CL_MEM_OBJECT_IMAGE2D_ARRAY;
test_fn = &test_fill_image_set_2D_array;
}
else if ( testMethod == k3D )
{
name = "3D Image Fill";
imageType = CL_MEM_OBJECT_IMAGE3D;
test_fn = &test_fill_image_set_3D;
case k1D:
name = "1D Image Fill";
imageType = CL_MEM_OBJECT_IMAGE1D;
test_fn = &test_fill_image_set_1D;
break;
case k2D:
name = "2D Image Fill";
imageType = CL_MEM_OBJECT_IMAGE2D;
test_fn = &test_fill_image_set_2D;
break;
case k1DArray:
name = "1D Image Array Fill";
imageType = CL_MEM_OBJECT_IMAGE1D_ARRAY;
test_fn = &test_fill_image_set_1D_array;
break;
case k2DArray:
name = "2D Image Array Fill";
imageType = CL_MEM_OBJECT_IMAGE2D_ARRAY;
test_fn = &test_fill_image_set_2D_array;
break;
case k3D:
name = "3D Image Fill";
imageType = CL_MEM_OBJECT_IMAGE3D;
test_fn = &test_fill_image_set_3D;
break;
default: log_error("Unhandled method\n"); return -1;
}
log_info( "Running %s tests...\n", name );