@@ -22,6 +22,18 @@ class MockHandler : public sycl::handler {
22
22
static_cast <sycl::handler *>(this )->MCGType = Type;
23
23
}
24
24
25
+ template <typename KernelType, typename ArgType, int Dims,
26
+ typename KernelName>
27
+ void setHostKernel (KernelType Kernel) {
28
+ static_cast <sycl::handler *>(this )->MHostKernel .reset (
29
+ new sycl::detail::HostKernel<KernelType, ArgType, Dims, KernelName>(
30
+ Kernel));
31
+ }
32
+
33
+ template <int Dims> void setNDRangeDesc (sycl::nd_range<Dims> Range) {
34
+ static_cast <sycl::handler *>(this )->MNDRDesc .set (std::move (Range));
35
+ }
36
+
25
37
void addStream (const detail::StreamImplPtr &Stream) {
26
38
sycl::handler::addStream (Stream);
27
39
}
@@ -87,6 +99,13 @@ TEST_F(SchedulerTest, StreamInitDependencyOnHost) {
87
99
MockHandler MockCGH (HQueueImpl, true );
88
100
MockCGH.setType (detail::CG::KERNEL);
89
101
102
+ auto EmptyKernel = [](sycl::nd_item<1 >) {};
103
+ MockCGH
104
+ .setHostKernel <decltype (EmptyKernel), sycl::nd_item<1 >, 1 , class Empty >(
105
+ EmptyKernel);
106
+ MockCGH.setNDRangeDesc (
107
+ sycl::nd_range<1 >{sycl::range<1 >{1 }, sycl::range<1 >{1 }});
108
+
90
109
// Emulating construction of stream object inside command group
91
110
detail::StreamImplPtr StreamImpl =
92
111
std::make_shared<detail::stream_impl>(1024 , 200 , MockCGH);
0 commit comments