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(); }
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(); }