@@ -16,16 +16,20 @@ namespace sycl_shims::queue {
1616std::unique_ptr<Queue> new_queue () {
1717 return std::make_unique<Queue>(sycl::queue ({in_order ()}));
1818}
19+
1920std::unique_ptr<Queue> new_queue_immediate () {
2021 return std::make_unique<Queue>(
2122 sycl::queue ({in_order (), immediate_command_list ()}));
2223}
24+
2325std::unique_ptr<Queue> new_queue_from_device (Device const &device) {
2426 return std::make_unique<Queue>(sycl::queue (device, {in_order ()}));
2527}
28+
2629std::unique_ptr<Queue> clone (Queue const &queue) {
2730 return std::make_unique<Queue>(sycl::queue (queue));
2831}
32+
2933std::unique_ptr<Event> memset (std::unique_ptr<Queue> &queue, std::uint8_t *ptr,
3034 int value, std::size_t num_bytes,
3135 rust::Vec<EventPtr> dep_events) {
@@ -34,12 +38,14 @@ std::unique_ptr<Event> memset(std::unique_ptr<Queue> &queue, std::uint8_t *ptr,
3438 deps.push_back (std::move (*e.ptr ));
3539 return std::make_unique<Event>(queue->memset (ptr, value, num_bytes, deps));
3640}
41+
3742std::unique_ptr<Event> barrier (std::unique_ptr<Queue> &queue,
3843 rust::Vec<EventPtr> dep_events) {
3944 std::vector<sycl::event> deps;
4045 for (auto &&e : dep_events)
4146 deps.push_back (std::move (*e.ptr ));
4247 return std::make_unique<Event>(queue->ext_oneapi_submit_barrier (deps));
4348}
49+
4450void wait (std::unique_ptr<Queue> &queue) { queue->wait (); }
4551} // namespace sycl_shims::queue
0 commit comments