Fix T51950: Abnormally long Cycles OpenCL GPU render times with certain panoramic camera settings
The problem here was that when a "invalid" path is generated by the panoramic camera, it was tagged as RAY_TO_REGENERATE with the intention of generating a new path in kernel_buffer_update. However, since that state was not handled in kernel_queue_enqueue, kernel_buffer_update did not process the path which resulted in an infinite loop.
This commit is contained in:
parent
6782a6076c
commit
15fd758bd6
|
@ -51,7 +51,8 @@ ccl_device void kernel_queue_enqueue(KernelGlobals *kg,
|
|||
int queue_number = -1;
|
||||
|
||||
if(IS_STATE(kernel_split_state.ray_state, ray_index, RAY_HIT_BACKGROUND) ||
|
||||
IS_STATE(kernel_split_state.ray_state, ray_index, RAY_UPDATE_BUFFER)) {
|
||||
IS_STATE(kernel_split_state.ray_state, ray_index, RAY_UPDATE_BUFFER) ||
|
||||
IS_STATE(kernel_split_state.ray_state, ray_index, RAY_TO_REGENERATE)) {
|
||||
queue_number = QUEUE_HITBG_BUFF_UPDATE_TOREGEN_RAYS;
|
||||
}
|
||||
else if(IS_STATE(kernel_split_state.ray_state, ray_index, RAY_ACTIVE) ||
|
||||
|
|
Loading…
Reference in New Issue