4 #ifndef __UTIL_PROFILING_H__
5 #define __UTIL_PROFILING_H__
74 void reset(
int num_shaders,
int num_objects);
155 assert(shader < state->shader_hits.size());
160 assert(object < state->object_hits.size());
vector< uint64_t > shader_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
bool get_shader(int shader, uint64_t &samples, uint64_t &hits)
void reset(int num_shaders, int num_objects)
bool get_object(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(int object, int shader)
ProfilingWithShaderHelper(ProfilingState *state, ProfilingEvent event)
#define CCL_NAMESPACE_END
unsigned __int64 uint64_t
vector< uint64_t > object_hits
vector< uint64_t > shader_hits
CCL_NAMESPACE_BEGIN typedef std::mutex thread_mutex
@ 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_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_INTERSECT_VOLUME_STACK
@ PROFILING_SHADE_VOLUME_DIRECT_LIGHT
@ PROFILING_SHADE_SURFACE_PASSES
@ PROFILING_SHADE_LIGHT_EVAL
@ PROFILING_SHADE_VOLUME_INDIRECT_LIGHT