10
10
#include < OffloadAPI.h>
11
11
#include < gtest/gtest.h>
12
12
13
- struct olLaunchKernelTest : OffloadQueueTest {
14
- void SetUp () override {
13
+ struct LaunchKernelTestBase : OffloadQueueTest {
14
+ void SetUpKernel ( const char *kernel) {
15
15
RETURN_ON_FATAL_FAILURE (OffloadQueueTest::SetUp ());
16
- ASSERT_TRUE (TestEnvironment::loadDeviceBinary (" foo " , Device, DeviceBin));
16
+ ASSERT_TRUE (TestEnvironment::loadDeviceBinary (kernel , Device, DeviceBin));
17
17
ASSERT_GE (DeviceBin->getBufferSize (), 0lu);
18
18
ASSERT_SUCCESS (olCreateProgram (Device, DeviceBin->getBufferStart (),
19
19
DeviceBin->getBufferSize (), &Program));
20
- ASSERT_SUCCESS (olGetKernel (Program, " foo " , &Kernel));
20
+ ASSERT_SUCCESS (olGetKernel (Program, kernel , &Kernel));
21
21
LaunchArgs.Dimensions = 1 ;
22
22
LaunchArgs.GroupSizeX = 64 ;
23
23
LaunchArgs.GroupSizeY = 1 ;
@@ -43,8 +43,20 @@ struct olLaunchKernelTest : OffloadQueueTest {
43
43
ol_kernel_launch_size_args_t LaunchArgs{};
44
44
};
45
45
46
+ struct olLaunchKernelTest : LaunchKernelTestBase {
47
+ void SetUp () override {
48
+ RETURN_ON_FATAL_FAILURE (LaunchKernelTestBase::SetUpKernel (" foo" ));
49
+ }
50
+ };
46
51
OFFLOAD_TESTS_INSTANTIATE_DEVICE_FIXTURE (olLaunchKernelTest);
47
52
53
+ struct olLaunchKernelNoArgsTest : LaunchKernelTestBase {
54
+ void SetUp () override {
55
+ RETURN_ON_FATAL_FAILURE (LaunchKernelTestBase::SetUpKernel (" noargs" ));
56
+ }
57
+ };
58
+ OFFLOAD_TESTS_INSTANTIATE_DEVICE_FIXTURE (olLaunchKernelNoArgsTest);
59
+
48
60
TEST_P (olLaunchKernelTest, Success) {
49
61
void *Mem;
50
62
ASSERT_SUCCESS (olMemAlloc (Device, OL_ALLOC_TYPE_MANAGED,
@@ -66,6 +78,13 @@ TEST_P(olLaunchKernelTest, Success) {
66
78
ASSERT_SUCCESS (olMemFree (Mem));
67
79
}
68
80
81
+ TEST_P (olLaunchKernelNoArgsTest, Success) {
82
+ ASSERT_SUCCESS (
83
+ olLaunchKernel (Queue, Device, Kernel, nullptr , 0 , &LaunchArgs, nullptr ));
84
+
85
+ ASSERT_SUCCESS (olWaitQueue (Queue));
86
+ }
87
+
69
88
TEST_P (olLaunchKernelTest, SuccessSynchronous) {
70
89
void *Mem;
71
90
ASSERT_SUCCESS (olMemAlloc (Device, OL_ALLOC_TYPE_MANAGED,
0 commit comments