Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/kernel/split/kernel_data_init.h
| Show First 20 Lines • Show All 46 Lines • ▼ Show 20 Lines | |||||
| * num_samples ---------------------| | | * num_samples ---------------------| | | ||||
| * | * | ||||
| * Note on Queues : | * Note on Queues : | ||||
| * All slots in queues are initialized to queue empty slot; | * All slots in queues are initialized to queue empty slot; | ||||
| * The number of elements in the queues is initialized to 0; | * The number of elements in the queues is initialized to 0; | ||||
| */ | */ | ||||
| ccl_device void kernel_data_init( | ccl_device void kernel_data_init( | ||||
| KernelGlobals *kg, | KernelGlobals *kg, | ||||
| ShaderData *sd, | |||||
| ShaderData *sd_DL_shadow, | ShaderData *sd_DL_shadow, | ||||
| ccl_constant KernelData *data, | ccl_constant KernelData *data, | ||||
| ccl_global float *per_sample_output_buffers, | ccl_global float *per_sample_output_buffers, | ||||
| ccl_global uint *rng_state, | ccl_global uint *rng_state, | ||||
| ccl_global uint *rng_coop, /* rng array to store rng values for all rays */ | ccl_global uint *rng_coop, /* rng array to store rng values for all rays */ | ||||
| ccl_global float3 *throughput_coop, /* throughput array to store throughput values for all rays */ | ccl_global float3 *throughput_coop, /* throughput array to store throughput values for all rays */ | ||||
| ccl_global float *L_transparent_coop, /* L_transparent array to store L_transparent values for all rays */ | ccl_global float *L_transparent_coop, /* L_transparent array to store L_transparent values for all rays */ | ||||
| PathRadiance *PathRadiance_coop, /* PathRadiance array to store PathRadiance values for all rays */ | PathRadiance *PathRadiance_coop, /* PathRadiance array to store PathRadiance values for all rays */ | ||||
| Show All 19 Lines | #ifdef __WORK_STEALING__ | ||||
| ccl_global unsigned int *work_pool_wgs, /* Work pool for each work group */ | ccl_global unsigned int *work_pool_wgs, /* Work pool for each work group */ | ||||
| unsigned int num_samples, /* Total number of samples per pixel */ | unsigned int num_samples, /* Total number of samples per pixel */ | ||||
| #endif | #endif | ||||
| #ifdef __KERNEL_DEBUG__ | #ifdef __KERNEL_DEBUG__ | ||||
| DebugData *debugdata_coop, | DebugData *debugdata_coop, | ||||
| #endif | #endif | ||||
| int parallel_samples) /* Number of samples to be processed in parallel */ | int parallel_samples) /* Number of samples to be processed in parallel */ | ||||
| { | { | ||||
| sd->max_closure = MAX_SPLIT_CLOSURE; | |||||
| sd_DL_shadow->max_closure = MAX_SPLIT_CLOSURE; | |||||
| kg->data = data; | kg->data = data; | ||||
| kg->sd_input = sd_DL_shadow; | kg->sd_input = sd_DL_shadow; | ||||
| kg->isect_shadow = Intersection_coop_shadow; | kg->isect_shadow = Intersection_coop_shadow; | ||||
| #define KERNEL_TEX(type, ttype, name) \ | #define KERNEL_TEX(type, ttype, name) \ | ||||
| kg->name = name; | kg->name = name; | ||||
| #include "../kernel_textures.h" | #include "../kernel_textures.h" | ||||
| int thread_index = get_global_id(1) * get_global_size(0) + get_global_id(0); | int thread_index = get_global_id(1) * get_global_size(0) + get_global_id(0); | ||||
| ▲ Show 20 Lines • Show All 135 Lines • Show Last 20 Lines | |||||