Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/integrator/path_trace_work_gpu.cpp
| Show First 20 Lines • Show All 431 Lines • ▼ Show 20 Lines | else if (num_queued < work_size) { | ||||
| } | } | ||||
| } | } | ||||
| work_size = min(work_size, num_paths_limit); | work_size = min(work_size, num_paths_limit); | ||||
| DCHECK_LE(work_size, max_num_paths_); | DCHECK_LE(work_size, max_num_paths_); | ||||
| switch (kernel) { | switch (kernel) { | ||||
| case DEVICE_KERNEL_INTEGRATOR_INTERSECT_CLOSEST: | case DEVICE_KERNEL_INTEGRATOR_INTERSECT_CLOSEST: { | ||||
| /* Closest ray intersection kernels with integrator state and render buffer. */ | |||||
| void *d_render_buffer = (void *)buffers_->buffer.device_pointer; | |||||
| void *args[] = {&d_path_index, &d_render_buffer, const_cast<int *>(&work_size)}; | |||||
| queue_->enqueue(kernel, work_size, args); | |||||
| break; | |||||
| } | |||||
| case DEVICE_KERNEL_INTEGRATOR_INTERSECT_SHADOW: | case DEVICE_KERNEL_INTEGRATOR_INTERSECT_SHADOW: | ||||
| case DEVICE_KERNEL_INTEGRATOR_INTERSECT_SUBSURFACE: | case DEVICE_KERNEL_INTEGRATOR_INTERSECT_SUBSURFACE: | ||||
| case DEVICE_KERNEL_INTEGRATOR_INTERSECT_VOLUME_STACK: { | case DEVICE_KERNEL_INTEGRATOR_INTERSECT_VOLUME_STACK: { | ||||
| /* Ray intersection kernels with integrator state. */ | /* Ray intersection kernels with integrator state. */ | ||||
| void *args[] = {&d_path_index, const_cast<int *>(&work_size)}; | void *args[] = {&d_path_index, const_cast<int *>(&work_size)}; | ||||
| queue_->enqueue(kernel, work_size, args); | queue_->enqueue(kernel, work_size, args); | ||||
| break; | break; | ||||
| ▲ Show 20 Lines • Show All 657 Lines • Show Last 20 Lines | |||||