[Bf-blender-cvs] [ce3a947] cycles_kernel_split: Remove un-necessary code from OpenCLDevice class
varunsundar08
noreply at git.blender.org
Thu Apr 30 23:25:01 CEST 2015
Commit: ce3a947b502bfdd3844905aa22bfb39adf765f04
Author: varunsundar08
Date: Mon Apr 27 19:35:49 2015 +0530
Branches: cycles_kernel_split
https://developer.blender.org/rBce3a947b502bfdd3844905aa22bfb39adf765f04
Remove un-necessary code from OpenCLDevice class
===================================================================
M intern/cycles/device/device_opencl.cpp
===================================================================
diff --git a/intern/cycles/device/device_opencl.cpp b/intern/cycles/device/device_opencl.cpp
index 605644d..66809e7 100644
--- a/intern/cycles/device/device_opencl.cpp
+++ b/intern/cycles/device/device_opencl.cpp
@@ -376,189 +376,7 @@ public:
cl_device_id cdDevice;
cl_int ciErr;
-#ifdef __SPLIT_KERNEL__
- /* Kernel declaration */
- cl_kernel ckPathTraceKernel_DataInit_SPLIT_KERNEL;
- cl_kernel ckPathTraceKernel_SceneIntersect_SPLIT_KERNEL;
- cl_kernel ckPathTraceKernel_LampEmission_SPLIT_KERNEL;
- cl_kernel ckPathTraceKernel_QueueEnqueue_SPLIT_KERNEL;
- cl_kernel ckPathTraceKernel_BG_BufferUpdate_SPLIT_KERNEL;
- cl_kernel ckPathTraceKernel_Shader_Lighting_SPLIT_KERNEL;
- cl_kernel ckPathTraceKernel_Holdout_Emission_Blurring_Pathtermination_AO_SPLIT_KERNEL;
- cl_kernel ckPathTraceKernel_Subsurface_SPLIT_KERNEL;
- cl_kernel ckPathTraceKernel_DirectLighting_SPLIT_KERNEL;
- cl_kernel ckPathTraceKernel_ShadowBlocked_DirectLighting_SPLIT_KERNEL;
- cl_kernel ckPathTraceKernel_SetUpNextIteration_SPLIT_KERNEL;
- cl_kernel ckPathTraceKernel_SumAllRadiance_SPLIT_KERNEL;
-
- /* Global memory variables [porting]; These memory is used for
- * co-operation between different kernels; Data written by one
- * kernel will be avaible to another kernel via this global
- * memory
- */
- cl_mem rng_coop;
- cl_mem throughput_coop;
- cl_mem L_transparent_coop;
- cl_mem PathRadiance_coop;
- cl_mem Ray_coop;
- cl_mem PathState_coop;
- cl_mem Intersection_coop;
-
- /* KernelGlobals buffer */
- cl_mem kgbuffer;
-
- /* global buffers for ShaderData */
- cl_mem sd; /* ShaderData used in the main path-iteration loop */
- cl_mem sd_DL_shadow; /* ShaderData used in Direct Lighting and ShadowBlocked kernel */
-
- /* global buffers of each member of ShaderData */
- cl_mem P_sd;
- cl_mem P_sd_DL_shadow;
- cl_mem N_sd;
- cl_mem N_sd_DL_shadow;
- cl_mem Ng_sd;
- cl_mem Ng_sd_DL_shadow;
- cl_mem I_sd;
- cl_mem I_sd_DL_shadow;
- cl_mem shader_sd;
- cl_mem shader_sd_DL_shadow;
- cl_mem flag_sd;
- cl_mem flag_sd_DL_shadow;
- cl_mem prim_sd;
- cl_mem prim_sd_DL_shadow;
- cl_mem type_sd;
- cl_mem type_sd_DL_shadow;
- cl_mem u_sd;
- cl_mem u_sd_DL_shadow;
- cl_mem v_sd;
- cl_mem v_sd_DL_shadow;
- cl_mem object_sd;
- cl_mem object_sd_DL_shadow;
- cl_mem time_sd;
- cl_mem time_sd_DL_shadow;
- cl_mem ray_length_sd;
- cl_mem ray_length_sd_DL_shadow;
- cl_mem ray_depth_sd;
- cl_mem ray_depth_sd_DL_shadow;
- cl_mem transparent_depth_sd;
- cl_mem transparent_depth_sd_DL_shadow;
-#ifdef __RAY_DIFFERENTIALS__
- cl_mem dP_sd,dI_sd;
- cl_mem dP_sd_DL_shadow, dI_sd_DL_shadow;
- cl_mem du_sd, dv_sd;
- cl_mem du_sd_DL_shadow, dv_sd_DL_shadow;
-#endif
-#ifdef __DPDU__
- cl_mem dPdu_sd, dPdv_sd;
- cl_mem dPdu_sd_DL_shadow, dPdv_sd_DL_shadow;
-#endif
- cl_mem closure_sd;
- cl_mem closure_sd_DL_shadow;
- cl_mem num_closure_sd;
- cl_mem num_closure_sd_DL_shadow;
- cl_mem randb_closure_sd;
- cl_mem randb_closure_sd_DL_shadow;
- cl_mem ray_P_sd;
- cl_mem ray_P_sd_DL_shadow;
- cl_mem ray_dP_sd;
- cl_mem ray_dP_sd_DL_shadow;
-
- /* Global memory required for shadow blocked and accum_radiance */
- cl_mem BSDFEval_coop;
- cl_mem ISLamp_coop;
- cl_mem LightRay_coop;
- cl_mem AOAlpha_coop;
- cl_mem AOBSDF_coop;
- cl_mem AOLightRay_coop;
- cl_mem Intersection_coop_AO;
- cl_mem Intersection_coop_DL;
-
- /* Global state array that tracks ray state */
- cl_mem ray_state;
-
- /* per sample buffers */
- cl_mem per_sample_output_buffers;
-
- /* Denotes which sample each ray is being processed for */
- cl_mem work_array;
-
- /* Queue*/
- cl_mem Queue_data; /* Array of size queuesize * num_queues * sizeof(int) */
- cl_mem Queue_index; /* Array of size num_queues * sizeof(int); Tracks the size of each queue */
-
- /* Flag to make sceneintersect and lampemission kernel use queues */
- cl_mem use_queues_flag;
-
- /* cl_program declaration */
- cl_program dataInit_program;
- cl_program sceneIntersect_program;
- cl_program lampEmission_program;
- cl_program QueueEnqueue_program;
- cl_program background_BufferUpdate_program;
- cl_program shaderEval_program;
- cl_program holdout_emission_blurring_termination_ao_program;
- cl_program subsurface_program;
- cl_program directLighting_program;
- cl_program shadowBlocked_program;
- cl_program nextIterationSetUp_program;
- cl_program sumAllRadiance_program;
-
- /* Required memory size */
- size_t rng_size;
- size_t throughput_size;
- size_t L_transparent_size;
- size_t rayState_size;
- size_t hostRayState_size;
- size_t work_element_size;
- size_t ISLamp_size;
-
- /* size of structures declared in kernel_types.h */
- size_t PathRadiance_size;
- size_t Ray_size;
- size_t PathState_size;
- size_t Intersection_size;
-
- /* Sizes of memory required for shadow blocked function */
- size_t AOAlpha_size;
- size_t AOBSDF_size;
- size_t AOLightRay_size;
- size_t LightRay_size;
- size_t BSDFEval_size;
- size_t Intersection_coop_AO_size;
- size_t Intersection_coop_DL_size;
-
- /* Amount of memory in output buffer associated with one pixel */
- size_t per_thread_output_buffer_size;
-
- /* Total allocatable available device memory */
- size_t total_allocatable_memory;
-
- /* host version of ray_state; Used in checking host path-iteration termination */
- char *hostRayStateArray;
-
- /* Number of path-iterations to be done in one shot */
- unsigned int PathIteration_times;
-
- /* Denotes if the render is background or foreground */
- bool background;
-#ifdef __WORK_STEALING__
- /* Work pool with respect to each work group */
- cl_mem work_pool_wgs;
-
- /* Denotes the maximum work groups possible w.r.t. current tile size */
- unsigned int max_work_groups;
-#endif
-
- /* clos_max value for which the kernels have been loaded currently */
- int current_clos_max;
-
- /* Marked True in constructor and marked false at the end of path_trace() */
- bool first_tile;
-
-#else
cl_kernel ckPathTraceKernel;
-#endif
-
cl_kernel ckShaderKernel;
cl_kernel ckBakeKernel;
cl_kernel ckFilmConvertByteKernel;
@@ -630,183 +448,19 @@ public:
null_mem = 0;
device_initialized = false;
-#ifdef __SPLIT_KERNEL__
- use_split_kernel = true;
- background = background_;
+ ckPathTraceKernel = NULL;
+ ckShaderKernel = NULL;
+ ckBakeKernel = NULL;
+ ckFilmConvertByteKernel = NULL;
+ ckFilmConvertHalfFloatKernel = NULL;
+ cpProgram = NULL;
- /* Initialize kernels */
- ckPathTraceKernel_DataInit_SPLIT_KERNEL = NULL;
- ckPathTraceKernel_SceneIntersect_SPLIT_KERNEL = NULL;
- ckPathTraceKernel_LampEmission_SPLIT_KERNEL = NULL;
- ckPathTraceKernel_BG_BufferUpdate_SPLIT_KERNEL = NULL;
- ckPathTraceKernel_Shader_Lighting_SPLIT_KERNEL = NULL;
- ckPathTraceKernel_Holdout_Emission_Blurring_Pathtermination_AO_SPLIT_KERNEL = NULL;
- ckPathTraceKernel_Subsurface_SPLIT_KERNEL = NULL;
- ckPathTraceKernel_DirectLighting_SPLIT_KERNEL = NULL;
- ckPathTraceKernel_ShadowBlocked_DirectLighting_SPLIT_KERNEL = NULL;
- ckPathTraceKernel_SetUpNextIteration_SPLIT_KERNEL = NULL;
- ckPathTraceKernel_SumAllRadiance_SPLIT_KERNEL = NULL;
- ckPathTraceKernel_QueueEnqueue_SPLIT_KERNEL = NULL;
+ /* setup platform */
+ cl_uint num_platforms;
- /* Initialize cl_mem variables */
- kgbuffer = NULL;
- sd = NULL;
- sd_DL_shadow = NULL;
-
- P_sd = NULL;
- P_sd_DL_shadow = NULL;
- N_sd = NULL;
- N_sd_DL_shadow = NULL;
- Ng_sd = NULL;
- Ng_sd_DL_shadow = NULL;
- I_sd = NULL;
- I_sd_DL_shadow = NULL;
- shader_sd = NULL;
- shader_sd_DL_shadow = NULL;
- flag_sd = NULL;
- flag_sd_DL_shadow = NULL;
- prim_sd = NULL;
- prim_sd_DL_shadow = NULL;
- type_sd = NULL;
- type_sd_DL_shadow = NULL;
- u_sd = NULL;
- u_sd_DL_shadow = NULL;
- v_sd = NULL;
- v_sd_DL_shadow = NULL;
- object_sd = NULL;
- object_sd_DL_shadow = NULL;
- time_sd = NULL;
- time_sd_DL_shadow = NULL;
- ray_length_sd = NULL;
- ray_length_sd_DL_shadow = NULL;
- ray_depth_sd = NULL;
- ray_depth_sd_DL_shadow = NULL;
- transparent_depth_sd = NULL;
- transparent_depth_sd_DL_shadow = NULL;
-#ifdef __RAY_DIFFERENTIALS__
- dP_sd = NULL;
- dI_sd = NULL;
- dP_sd_DL_shadow = NULL;
- dI_sd_DL_shadow = NULL;
- du_sd = NULL;
- dv_sd = NULL;
- du_sd_DL_shadow = NULL;
- dv_sd_DL_shadow = NULL;
-#endif
-#ifdef __DPDU__
- dPdu_sd = NULL;
- dPdv_sd = NULL;
- dPdu_sd_DL_shadow = NULL;
- dPdv_sd_DL_shadow = NULL;
-#endif
- closure_sd = NULL;
- closure_sd_DL_shadow = NULL;
- num_closure_sd = NULL;
- num_closure_sd_DL_shadow = NULL;
- randb_closure_sd = NULL;
- randb_closure_sd_DL_shadow = NULL;
- ray_P_sd = NULL;
- ray_P_sd_DL_shadow = NULL;
- ray_dP_sd = NULL;
- ray_dP_sd_DL_shadow = NULL;
-
- rng_coop = NULL;
- throughput_coop = NULL;
- L_transparent_coop = NULL;
- PathRadiance_coop = NULL;
- Ray_coop = NULL;
- PathState_coop = NULL;
- Intersection_coop = NULL;
- ray_state = NULL;
-
- AOAlpha_coop = NULL;
- AOBSDF_coop = NULL;
- AOLightRay_coop = NULL;
- BSDFEval_coop = NULL;
- ISLamp_coop = NULL;
- LightRay_coop = NULL;
- Intersection_coop_AO = NULL;
- Intersection_coop_DL = NULL;
-
- work_array = NULL;
-
- /* Queue */
- Queue_data = NULL;
- Queue_index = NULL;
- use_queues_flag = NULL;
-
- per_sample_output_buffers = NULL;
-
- /* Initialize program */
- dataInit_program = NULL;
- sceneIntersect_program = NULL;
- lampEmission_program = NULL;
- QueueEnqueue_program = NULL;
- background_BufferUpdate_program = NULL;
- shaderEval_program = NULL;
- holdout_emission_blurring_termination_ao_program = NULL;
- subsurface_program = NULL;
- directLighting_program = NULL;
- shadowBlocked_program = NULL;
- nextIterationSetUp_program = NULL;
- sumAllRadiance_program = NULL;
-
- /* Initialize required memory size */
- rng_size = sizeof(RNG);
- throughput_size = sizeof(float3);
- L_transparent_size = sizeof(float);
- rayState_size = sizeof(char);
- hostRayState_size = sizeof(char);
- work_element_size = sizeof(unsigned int);
- ISLamp_size = sizeof(int);
-
- /* Initialize size of structures declared in kernel_types.h */
- PathRadiance_size = sizeof(PathRadiance);
- Ray_size = sizeof(Ray);
- PathState_size = sizeof(PathState);
- Intersection_size = sizeof(Intersection);
-
- /* Initialize sizes of memory required for shadow blocked function */
- LightRay_size = sizeof(Ray);
-
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list