mirror of
https://github.com/KhronosGroup/OpenCL-CTS.git
synced 2026-03-19 06:09:01 +00:00
Migrate test_vulkan to the new registration framework (#2278)
Signed-off-by: Kévin Petit <kpet@free.fr>
This commit is contained in:
@@ -30,35 +30,8 @@
|
||||
#include <OpenCL/cl.h>
|
||||
#endif
|
||||
|
||||
#include "procs.h"
|
||||
#include "harness/testHarness.h"
|
||||
|
||||
#if !defined(_WIN32)
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
#define BUFFERSIZE 3000
|
||||
|
||||
test_definition test_list[] = { ADD_TEST(buffer_single_queue),
|
||||
ADD_TEST(buffer_multiple_queue),
|
||||
ADD_TEST(buffer_multiImport_sameCtx),
|
||||
ADD_TEST(buffer_multiImport_diffCtx),
|
||||
ADD_TEST(buffer_single_queue_fence),
|
||||
ADD_TEST(buffer_multiple_queue_fence),
|
||||
ADD_TEST(buffer_multiImport_sameCtx_fence),
|
||||
ADD_TEST(buffer_multiImport_diffCtx_fence),
|
||||
ADD_TEST(image_single_queue),
|
||||
ADD_TEST(image_multiple_queue),
|
||||
ADD_TEST(consistency_external_buffer),
|
||||
ADD_TEST(consistency_external_image),
|
||||
ADD_TEST(consistency_external_for_3dimage),
|
||||
ADD_TEST(consistency_external_for_1dimage),
|
||||
ADD_TEST(consistency_external_semaphore),
|
||||
ADD_TEST(platform_info),
|
||||
ADD_TEST(device_info) };
|
||||
|
||||
const int test_num = ARRAY_SIZE(test_list);
|
||||
|
||||
unsigned int numCQ;
|
||||
bool multiImport;
|
||||
bool multiCtx;
|
||||
@@ -75,9 +48,9 @@ static void printUsage(const char *execName)
|
||||
|
||||
log_info("Usage: %s [test_names] [options]\n", execName);
|
||||
log_info("Test names:\n");
|
||||
for (int i = 0; i < test_num; i++)
|
||||
for (int i = 0; i < test_registry::getInstance().num_tests(); i++)
|
||||
{
|
||||
log_info("\t%s\n", test_list[i].name);
|
||||
log_info("\t%s\n", test_registry::getInstance().definitions()[i].name);
|
||||
}
|
||||
log_info("\n");
|
||||
log_info("Options:\n");
|
||||
@@ -178,5 +151,6 @@ int main(int argc, const char *argv[])
|
||||
size_t argCount = parseParams(argc, argv, argList);
|
||||
if (argCount == 0) return 0;
|
||||
|
||||
return runTestHarness(argc, argv, test_num, test_list, false, 0);
|
||||
return runTestHarness(argc, argv, test_registry::getInstance().num_tests(),
|
||||
test_registry::getInstance().definitions(), false, 0);
|
||||
}
|
||||
|
||||
@@ -1,79 +0,0 @@
|
||||
//
|
||||
// Copyright (c) 2022 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.
|
||||
//
|
||||
|
||||
#include "harness/mt19937.h"
|
||||
|
||||
extern int test_vulkan_interop_buffer(cl_device_id device, cl_context context,
|
||||
cl_command_queue queue, int num_elements);
|
||||
extern int test_vulkan_interop_image(cl_device_id device, cl_context context,
|
||||
cl_command_queue queue, int num_elements);
|
||||
extern int test_consistency_external_buffer(cl_device_id device,
|
||||
cl_context context,
|
||||
cl_command_queue queue,
|
||||
int num_elements);
|
||||
extern int test_consistency_external_image(cl_device_id device,
|
||||
cl_context context,
|
||||
cl_command_queue queue,
|
||||
int num_elements);
|
||||
extern int test_consistency_external_for_3dimage(cl_device_id device,
|
||||
cl_context context,
|
||||
cl_command_queue queue,
|
||||
int num_elements);
|
||||
extern int test_consistency_external_for_1dimage(cl_device_id device,
|
||||
cl_context context,
|
||||
cl_command_queue queue,
|
||||
int num_elements);
|
||||
extern int test_consistency_external_semaphore(cl_device_id device,
|
||||
cl_context context,
|
||||
cl_command_queue queue,
|
||||
int num_elements);
|
||||
extern int test_platform_info(cl_device_id device, cl_context context,
|
||||
cl_command_queue queue, int num_elements);
|
||||
extern int test_device_info(cl_device_id device, cl_context context,
|
||||
cl_command_queue queue, int num_elements);
|
||||
extern int test_buffer_single_queue(cl_device_id device_, cl_context context_,
|
||||
cl_command_queue queue_, int numElements_);
|
||||
extern int test_buffer_multiple_queue(cl_device_id device_, cl_context context_,
|
||||
cl_command_queue queue_,
|
||||
int numElements_);
|
||||
extern int test_buffer_multiImport_sameCtx(cl_device_id device_,
|
||||
cl_context context_,
|
||||
cl_command_queue queue_,
|
||||
int numElements_);
|
||||
extern int test_buffer_multiImport_diffCtx(cl_device_id device_,
|
||||
cl_context context_,
|
||||
cl_command_queue queue_,
|
||||
int numElements_);
|
||||
extern int test_buffer_single_queue_fence(cl_device_id device_,
|
||||
cl_context context_,
|
||||
cl_command_queue queue_,
|
||||
int numElements_);
|
||||
extern int test_buffer_multiple_queue_fence(cl_device_id device_,
|
||||
cl_context context_,
|
||||
cl_command_queue queue_,
|
||||
int numElements_);
|
||||
extern int test_buffer_multiImport_sameCtx_fence(cl_device_id device_,
|
||||
cl_context context_,
|
||||
cl_command_queue queue_,
|
||||
int numElements_);
|
||||
extern int test_buffer_multiImport_diffCtx_fence(cl_device_id device_,
|
||||
cl_context context_,
|
||||
cl_command_queue queue_,
|
||||
int numElements_);
|
||||
extern int test_image_single_queue(cl_device_id device_, cl_context context_,
|
||||
cl_command_queue queue_, int numElements_);
|
||||
extern int test_image_multiple_queue(cl_device_id device_, cl_context context_,
|
||||
cl_command_queue queue_, int numElements_);
|
||||
@@ -503,27 +503,20 @@ struct ConsistencyExternalSemaphoreTest : public VulkanTestBase
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
int test_consistency_external_buffer(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue defaultQueue,
|
||||
int num_elements)
|
||||
REGISTER_TEST(test_consistency_external_buffer)
|
||||
{
|
||||
return MakeAndRunTest<ConsistencyExternalBufferTest>(
|
||||
deviceID, context, defaultQueue, num_elements);
|
||||
return MakeAndRunTest<ConsistencyExternalBufferTest>(device, context, queue,
|
||||
num_elements);
|
||||
}
|
||||
|
||||
int test_consistency_external_image(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue defaultQueue,
|
||||
int num_elements)
|
||||
REGISTER_TEST(test_consistency_external_image)
|
||||
{
|
||||
return MakeAndRunTest<ConsistencyExternalImageTest>(
|
||||
deviceID, context, defaultQueue, num_elements);
|
||||
return MakeAndRunTest<ConsistencyExternalImageTest>(device, context, queue,
|
||||
num_elements);
|
||||
}
|
||||
|
||||
int test_consistency_external_semaphore(cl_device_id deviceID,
|
||||
cl_context context,
|
||||
cl_command_queue defaultQueue,
|
||||
int num_elements)
|
||||
REGISTER_TEST(test_consistency_external_semaphore)
|
||||
{
|
||||
return MakeAndRunTest<ConsistencyExternalSemaphoreTest>(
|
||||
deviceID, context, defaultQueue, num_elements);
|
||||
device, context, queue, num_elements);
|
||||
}
|
||||
|
||||
@@ -204,11 +204,8 @@ struct ConsistencyExternalImage1DTest : public VulkanTestBase
|
||||
};
|
||||
}
|
||||
|
||||
int test_consistency_external_for_1dimage(cl_device_id deviceID,
|
||||
cl_context context,
|
||||
cl_command_queue defaultQueue,
|
||||
int num_elements)
|
||||
REGISTER_TEST(test_consistency_external_for_1dimage)
|
||||
{
|
||||
return MakeAndRunTest<ConsistencyExternalImage1DTest>(
|
||||
deviceID, context, defaultQueue, num_elements);
|
||||
return MakeAndRunTest<ConsistencyExternalImage1DTest>(device, context,
|
||||
queue, num_elements);
|
||||
}
|
||||
|
||||
@@ -208,11 +208,8 @@ struct ConsistencyExternalImage3DTest : public VulkanTestBase
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
int test_consistency_external_for_3dimage(cl_device_id deviceID,
|
||||
cl_context context,
|
||||
cl_command_queue defaultQueue,
|
||||
int num_elements)
|
||||
REGISTER_TEST(test_consistency_external_for_3dimage)
|
||||
{
|
||||
return MakeAndRunTest<ConsistencyExternalImage3DTest>(
|
||||
deviceID, context, defaultQueue, num_elements);
|
||||
return MakeAndRunTest<ConsistencyExternalImage3DTest>(device, context,
|
||||
queue, num_elements);
|
||||
}
|
||||
|
||||
@@ -1797,93 +1797,77 @@ template <bool use_fence> struct BufferCommonBufferTest : public BufferTestBase
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
int test_buffer_single_queue(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue defaultQueue, int num_elements)
|
||||
REGISTER_TEST(test_buffer_single_queue)
|
||||
{
|
||||
params_reset();
|
||||
log_info("RUNNING TEST WITH ONE QUEUE...... \n\n");
|
||||
return MakeAndRunTest<BufferCommonBufferTest<false>>(
|
||||
deviceID, context, defaultQueue, num_elements);
|
||||
return MakeAndRunTest<BufferCommonBufferTest<false>>(device, context, queue,
|
||||
num_elements);
|
||||
}
|
||||
|
||||
int test_buffer_multiple_queue(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue defaultQueue, int num_elements)
|
||||
REGISTER_TEST(test_buffer_multiple_queue)
|
||||
{
|
||||
params_reset();
|
||||
numCQ = 2;
|
||||
log_info("RUNNING TEST WITH TWO QUEUE...... \n\n");
|
||||
return MakeAndRunTest<BufferCommonBufferTest<false>>(
|
||||
deviceID, context, defaultQueue, num_elements);
|
||||
return MakeAndRunTest<BufferCommonBufferTest<false>>(device, context, queue,
|
||||
num_elements);
|
||||
}
|
||||
|
||||
int test_buffer_multiImport_sameCtx(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue defaultQueue,
|
||||
int num_elements)
|
||||
REGISTER_TEST(test_buffer_multiImport_sameCtx)
|
||||
{
|
||||
params_reset();
|
||||
multiImport = true;
|
||||
log_info("RUNNING TEST WITH MULTIPLE DEVICE MEMORY IMPORT "
|
||||
"IN SAME CONTEXT...... \n\n");
|
||||
return MakeAndRunTest<BufferCommonBufferTest<false>>(
|
||||
deviceID, context, defaultQueue, num_elements);
|
||||
return MakeAndRunTest<BufferCommonBufferTest<false>>(device, context, queue,
|
||||
num_elements);
|
||||
}
|
||||
int test_buffer_multiImport_diffCtx(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue defaultQueue,
|
||||
int num_elements)
|
||||
REGISTER_TEST(test_buffer_multiImport_diffCtx)
|
||||
{
|
||||
params_reset();
|
||||
multiImport = true;
|
||||
multiCtx = true;
|
||||
log_info("RUNNING TEST WITH MULTIPLE DEVICE MEMORY IMPORT "
|
||||
"IN DIFFERENT CONTEXT...... \n\n");
|
||||
return MakeAndRunTest<BufferCommonBufferTest<false>>(
|
||||
deviceID, context, defaultQueue, num_elements);
|
||||
return MakeAndRunTest<BufferCommonBufferTest<false>>(device, context, queue,
|
||||
num_elements);
|
||||
}
|
||||
int test_buffer_single_queue_fence(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue defaultQueue,
|
||||
int num_elements)
|
||||
REGISTER_TEST(test_buffer_single_queue_fence)
|
||||
{
|
||||
params_reset();
|
||||
log_info("RUNNING TEST WITH ONE QUEUE...... \n\n");
|
||||
|
||||
return MakeAndRunTest<BufferCommonBufferTest<true>>(
|
||||
deviceID, context, defaultQueue, num_elements);
|
||||
return MakeAndRunTest<BufferCommonBufferTest<true>>(device, context, queue,
|
||||
num_elements);
|
||||
}
|
||||
|
||||
int test_buffer_multiple_queue_fence(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue defaultQueue,
|
||||
int num_elements)
|
||||
REGISTER_TEST(test_buffer_multiple_queue_fence)
|
||||
{
|
||||
params_reset();
|
||||
numCQ = 2;
|
||||
log_info("RUNNING TEST WITH TWO QUEUE...... \n\n");
|
||||
return MakeAndRunTest<BufferCommonBufferTest<true>>(
|
||||
deviceID, context, defaultQueue, num_elements);
|
||||
return MakeAndRunTest<BufferCommonBufferTest<true>>(device, context, queue,
|
||||
num_elements);
|
||||
}
|
||||
|
||||
int test_buffer_multiImport_sameCtx_fence(cl_device_id deviceID,
|
||||
cl_context context,
|
||||
cl_command_queue defaultQueue,
|
||||
int num_elements)
|
||||
REGISTER_TEST(test_buffer_multiImport_sameCtx_fence)
|
||||
{
|
||||
params_reset();
|
||||
multiImport = true;
|
||||
log_info("RUNNING TEST WITH MULTIPLE DEVICE MEMORY IMPORT "
|
||||
"IN SAME CONTEXT...... \n\n");
|
||||
return MakeAndRunTest<BufferCommonBufferTest<true>>(
|
||||
deviceID, context, defaultQueue, num_elements);
|
||||
return MakeAndRunTest<BufferCommonBufferTest<true>>(device, context, queue,
|
||||
num_elements);
|
||||
}
|
||||
|
||||
int test_buffer_multiImport_diffCtx_fence(cl_device_id deviceID,
|
||||
cl_context context,
|
||||
cl_command_queue defaultQueue,
|
||||
int num_elements)
|
||||
REGISTER_TEST(test_buffer_multiImport_diffCtx_fence)
|
||||
{
|
||||
params_reset();
|
||||
multiImport = true;
|
||||
multiCtx = true;
|
||||
log_info("RUNNING TEST WITH MULTIPLE DEVICE MEMORY IMPORT "
|
||||
"IN DIFFERENT CONTEXT...... \n\n");
|
||||
return MakeAndRunTest<BufferCommonBufferTest<true>>(
|
||||
deviceID, context, defaultQueue, num_elements);
|
||||
return MakeAndRunTest<BufferCommonBufferTest<true>>(device, context, queue,
|
||||
num_elements);
|
||||
}
|
||||
|
||||
@@ -1521,22 +1521,20 @@ struct ImageCommonTest : public VulkanTestBase
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
int test_image_single_queue(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue defaultQueue, int num_elements)
|
||||
REGISTER_TEST(test_image_single_queue)
|
||||
{
|
||||
params_reset();
|
||||
log_info("RUNNING TEST WITH ONE QUEUE...... \n\n");
|
||||
|
||||
return MakeAndRunTest<ImageCommonTest>(deviceID, context, defaultQueue,
|
||||
return MakeAndRunTest<ImageCommonTest>(device, context, queue,
|
||||
num_elements);
|
||||
}
|
||||
|
||||
int test_image_multiple_queue(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue defaultQueue, int num_elements)
|
||||
REGISTER_TEST(test_image_multiple_queue)
|
||||
{
|
||||
params_reset();
|
||||
numCQ = 2;
|
||||
log_info("RUNNING TEST WITH TWO QUEUE...... \n\n");
|
||||
return MakeAndRunTest<ImageCommonTest>(deviceID, context, defaultQueue,
|
||||
return MakeAndRunTest<ImageCommonTest>(device, context, queue,
|
||||
num_elements);
|
||||
}
|
||||
|
||||
@@ -233,16 +233,13 @@ struct DeviceInfoTest : public VulkanTestBase
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
int test_platform_info(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue defaultQueue, int num_elements)
|
||||
REGISTER_TEST(test_platform_info)
|
||||
{
|
||||
return MakeAndRunTest<PlatformInfoTest>(deviceID, context, defaultQueue,
|
||||
return MakeAndRunTest<PlatformInfoTest>(device, context, queue,
|
||||
num_elements);
|
||||
}
|
||||
|
||||
int test_device_info(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue defaultQueue, int num_elements)
|
||||
REGISTER_TEST(test_device_info)
|
||||
{
|
||||
return MakeAndRunTest<DeviceInfoTest>(deviceID, context, defaultQueue,
|
||||
num_elements);
|
||||
return MakeAndRunTest<DeviceInfoTest>(device, context, queue, num_elements);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user