mirror of
https://github.com/KhronosGroup/OpenCL-CTS.git
synced 2026-03-19 06:09:01 +00:00
* cl_copy_images * cl_get_info * cl_fill_image * cl_read_write_image * kernel_image_methods * IMAGE1D_BUFFER cannot be created with (USE_|ALLOC_|COPY_)_HOST_PTR * do not allow mipmap with 1D buffer * adjust M to be within maximum_sizes and max_pixels * remove unused variables * make sure M will never be 0 * fix region[0] after refactoring removing mipmap * fix formatting * format with clang-format-11 * fix image1d_buffer creation with gEnablePitch * add missing case in switch * use align_malloc when CL version is at least 2.0 * use CL_DEVICE_NUMERIC_VERSION and align_free * fix free of pitch buffer * fix formatting * fix formatting * fix data->is_aligned
91 lines
2.6 KiB
C++
91 lines
2.6 KiB
C++
//
|
|
// Copyright (c) 2017 The Khronos Group Inc.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
//
|
|
#ifndef _testBase_h
|
|
#define _testBase_h
|
|
|
|
#include "harness/compat.h"
|
|
#include "harness/testHarness.h"
|
|
#include "harness/kernelHelpers.h"
|
|
#include "harness/clImageHelper.h"
|
|
#include "harness/imageHelpers.h"
|
|
|
|
extern bool gDebugTrace;
|
|
extern bool gTestSmallImages;
|
|
extern bool gEnablePitch;
|
|
extern bool gTestMaxImages;
|
|
extern bool gTestMipmaps;
|
|
|
|
// Amount to offset pixels for checking normalized reads
|
|
#define NORM_OFFSET 0.1f
|
|
|
|
enum TypesToTest
|
|
{
|
|
kTestInt = ( 1 << 0 ),
|
|
kTestUInt = ( 1 << 1 ),
|
|
kTestFloat = ( 1 << 2 ),
|
|
kTestAllTypes = kTestInt | kTestUInt | kTestFloat
|
|
};
|
|
|
|
// For the clCopyImage test
|
|
enum MethodsToTest
|
|
{
|
|
k1D = (1 << 0),
|
|
k2D = (1 << 1),
|
|
k1DArray = (1 << 2),
|
|
k2DArray = (1 << 3),
|
|
k3D = (1 << 4),
|
|
k2DTo3D = (1 << 5),
|
|
k3DTo2D = (1 << 6),
|
|
k2DArrayTo2D = (1 << 7),
|
|
k2DTo2DArray = (1 << 8),
|
|
k2DArrayTo3D = (1 << 9),
|
|
k3DTo2DArray = (1 << 10),
|
|
k1DBuffer = (1 << 11),
|
|
k1DTo1DBuffer = (1 << 12),
|
|
k1DBufferTo1D = (1 << 13),
|
|
};
|
|
|
|
|
|
enum TestTypes
|
|
{
|
|
kReadTests = 1 << 0 ,
|
|
kWriteTests = 1 << 1,
|
|
kReadWriteTests = 1 << 2,
|
|
kAllTests = ( kReadTests | kWriteTests | kReadWriteTests )
|
|
};
|
|
|
|
typedef int (*test_format_set_fn)(
|
|
cl_device_id device, cl_context context, cl_command_queue queue,
|
|
const std::vector<cl_image_format> &formatList,
|
|
const std::vector<bool> &filterFlags, image_sampler_data *imageSampler,
|
|
ExplicitType outputType, cl_mem_object_type imageType);
|
|
|
|
extern int test_read_image_formats(
|
|
cl_device_id device, cl_context context, cl_command_queue queue,
|
|
const std::vector<cl_image_format> &formatList,
|
|
const std::vector<bool> &filterFlags, image_sampler_data *imageSampler,
|
|
ExplicitType outputType, cl_mem_object_type imageType);
|
|
extern int test_write_image_formats(
|
|
cl_device_id device, cl_context context, cl_command_queue queue,
|
|
const std::vector<cl_image_format> &formatList,
|
|
const std::vector<bool> &filterFlags, image_sampler_data *imageSampler,
|
|
ExplicitType outputType, cl_mem_object_type imageType);
|
|
|
|
#endif // _testBase_h
|
|
|
|
|
|
|