24 auto start_time = std::chrono::system_clock::now();
28 const uint32_t cur_event =
state->event;
53 std::this_thread::sleep_until(start_time + updates * std::chrono::milliseconds(1));
59 const bool running = (
worker !=
nullptr);
81 worker = make_unique<thread>([
this] {
run(); });
110 state->active =
true;
119 state->active =
false;
163 return (
worker !=
nullptr);
unsigned long long int uint64_t
vector< uint64_t > shader_hits
bool get_shader(const int shader, uint64_t &samples, uint64_t &hits)
vector< uint64_t > object_hits
vector< uint64_t > event_samples
uint64_t get_event(ProfilingEvent event)
void add_state(ProfilingState *state)
vector< ProfilingState * > states
volatile bool do_stop_worker
void remove_state(ProfilingState *state)
vector< uint64_t > object_samples
unique_ptr< thread > worker
bool get_object(const int object, uint64_t &samples, uint64_t &hits)
void reset(const int num_shaders, const int num_objects)
vector< uint64_t > shader_samples
#define CCL_NAMESPACE_END
#define assert(assertion)
std::unique_lock< std::mutex > thread_scoped_lock