Beispiel #1
0
hard_event::hard_event(clover::command_queue &q, cl_command_type command,
                       std::vector<clover::event *> deps, action action) :
   _cl_event(q.ctx, deps, action, [](event &ev){}),
   __queue(q), __command(command), __fence(NULL),
   __query_start(NULL), __query_end(NULL) {
   q.sequence(this);

   if(q.props() & CL_QUEUE_PROFILING_ENABLE) {
      pipe_screen *screen = q.dev.pipe;
      __ts_queued = screen->get_timestamp(screen);
   }

   trigger();
}
Beispiel #2
0
hard_event::hard_event(clover::command_queue &q, cl_command_type command,
                       std::vector<clover::event *> deps, action action) :
   _cl_event(q.ctx, deps, action, [](event &ev){}),
   __queue(q), __command(command), __fence(NULL) {
   q.sequence(this);
   trigger();
}