76 void reset(
const int num_shaders,
const int num_objects);
119 state->event = event;
129 state->event = event;
153 state->shader = shader;
154 state->object = object;
158 state->shader_hits[shader]++;
163 state->object_hits[object]++;
unsigned long long int uint64_t
void reset()
clear internal cached data and reset random seed
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)
vector< uint64_t > shader_samples
ProfilingHelper(ProfilingState *state, ProfilingEvent event)
void set_event(ProfilingEvent event)
~ProfilingWithShaderHelper()
void set_shader(const int object, const int shader)
ProfilingWithShaderHelper(ProfilingState *state, ProfilingEvent event)
#define CCL_NAMESPACE_END
#define assert(assertion)
@ PROFILING_SHADE_SURFACE_SETUP
@ PROFILING_SHADE_SHADOW_SURFACE
@ PROFILING_SHADE_VOLUME_INTEGRATE
@ PROFILING_SHADE_SHADOW_VOLUME
@ PROFILING_INTERSECT_SUBSURFACE
@ PROFILING_INTERSECT_SHADOW
@ PROFILING_INTERSECT_CLOSEST
@ PROFILING_INTERSECT_DEDICATED_LIGHT
@ PROFILING_SHADE_VOLUME_SETUP
@ PROFILING_SHADE_SURFACE_EVAL
@ PROFILING_SHADE_SURFACE_INDIRECT_LIGHT
@ PROFILING_SHADE_SURFACE_AO
@ PROFILING_SHADE_SURFACE_DIRECT_LIGHT
@ PROFILING_SHADE_LIGHT_SETUP
@ PROFILING_SHADE_SHADOW_SETUP
@ PROFILING_SHADE_DEDICATED_LIGHT
@ PROFILING_INTERSECT_VOLUME_STACK
@ PROFILING_SHADE_VOLUME_DIRECT_LIGHT
@ PROFILING_SHADE_SURFACE_PASSES
@ PROFILING_SHADE_LIGHT_EVAL
@ PROFILING_SHADE_VOLUME_INDIRECT_LIGHT
vector< uint64_t > object_hits
vector< uint64_t > shader_hits