diff options
Diffstat (limited to 'intern/cycles/device/queue.h')
-rw-r--r-- | intern/cycles/device/queue.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/intern/cycles/device/queue.h b/intern/cycles/device/queue.h index 808431af401..e27e081a407 100644 --- a/intern/cycles/device/queue.h +++ b/intern/cycles/device/queue.h @@ -103,7 +103,7 @@ class DeviceQueue { /* Number of states which keeps the device occupied with work without losing performance. * The renderer will add more work (when available) when number of active paths falls below this * value. */ - virtual int num_concurrent_busy_states() const = 0; + virtual int num_concurrent_busy_states(const size_t state_size) const = 0; /* Number of elements in a partition of sorted shaders, that improves memory locality of * integrator state fetch at the cost of decreased coherence for shader kernel execution. */ @@ -162,7 +162,8 @@ class DeviceQueue { /* Implementations call these from the corresponding methods to generate debugging logs. */ void debug_init_execution(); - void debug_enqueue(DeviceKernel kernel, const int work_size); + void debug_enqueue_begin(DeviceKernel kernel, const int work_size); + void debug_enqueue_end(); void debug_synchronize(); string debug_active_kernels(); @@ -172,6 +173,9 @@ class DeviceQueue { double last_sync_time_; /* Accumulated execution time for combinations of kernels launched together. */ map<DeviceKernelMask, double> stats_kernel_time_; + /* If it is true, then a performance statistics in the debugging logs will have focus on kernels + * and an explicit queue synchronization will be added after each kernel execution. */ + bool is_per_kernel_performance_; }; CCL_NAMESPACE_END |