[Bf-blender-cvs] [921e7fc] cycles_kernel_split: De-duplicate build-option-setting in load_kernels
varunsundar08
noreply at git.blender.org
Tue May 5 20:05:51 CEST 2015
Commit: 921e7fcd88305ccf0d06eaf7ce992ba0fc68e471
Author: varunsundar08
Date: Tue May 5 19:21:20 2015 +0530
Branches: cycles_kernel_split
https://developer.blender.org/rB921e7fcd88305ccf0d06eaf7ce992ba0fc68e471
De-duplicate build-option-setting in load_kernels
===================================================================
M intern/cycles/device/device_opencl.cpp
===================================================================
diff --git a/intern/cycles/device/device_opencl.cpp b/intern/cycles/device/device_opencl.cpp
index 7a175b8..aa9930d 100644
--- a/intern/cycles/device/device_opencl.cpp
+++ b/intern/cycles/device/device_opencl.cpp
@@ -2042,111 +2042,84 @@ public:
string kernel_init_source;
string clbin;
- kernel_init_source = "#include \"kernel_DataInit.cl\" // " + kernel_md5 + "\n";
- custom_kernel_build_options = "-D__SPLIT_KERNEL__ " + max_closure_build_option;
+ string common_custom_build_options = "";
+ common_custom_build_options = "-D__SPLIT_KERNEL__ " + max_closure_build_option;
#ifdef __WORK_STEALING__
- custom_kernel_build_options += "-D__WORK_STEALING__ ";
+ common_custom_build_options += "-D__WORK_STEALING__ ";
#endif
+
+ kernel_init_source = "#include \"kernel_DataInit.cl\" // " + kernel_md5 + "\n";
+ custom_kernel_build_options = common_custom_build_options;
device_md5 = device_md5_hash(custom_kernel_build_options);
clbin = string_printf("cycles_kernel_%s_%s_DataInit.clbin", device_md5.c_str(), kernel_md5.c_str());
if(!load_split_kernel(kernel_path, kernel_init_source, clbin, custom_kernel_build_options, &dataInit_program))
return false;
kernel_init_source = "#include \"kernel_SceneIntersect.cl\" // " + kernel_md5 + "\n";
- custom_kernel_build_options = "-D__SPLIT_KERNEL__ " + max_closure_build_option;
-#ifdef __WORK_STEALING__
- custom_kernel_build_options += "-D__WORK_STEALING__ ";
-#endif
+ custom_kernel_build_options = common_custom_build_options;
device_md5 = device_md5_hash(custom_kernel_build_options);
clbin = string_printf("cycles_kernel_%s_%s_SceneIntersect.clbin", device_md5.c_str(), kernel_md5.c_str());
if(!load_split_kernel(kernel_path, kernel_init_source, clbin, custom_kernel_build_options, &sceneIntersect_program))
return false;
kernel_init_source = "#include \"kernel_LampEmission.cl\" // " + kernel_md5 + "\n";
- custom_kernel_build_options = "-D__SPLIT_KERNEL__ " + max_closure_build_option + svm_build_options;
-#ifdef __WORK_STEALING__
- custom_kernel_build_options += "-D__WORK_STEALING__ ";
-#endif
+ custom_kernel_build_options = common_custom_build_options + svm_build_options;
device_md5 = device_md5_hash(custom_kernel_build_options);
clbin = string_printf("cycles_kernel_%s_%s_LampEmission.clbin", device_md5.c_str(), kernel_md5.c_str());
if(!load_split_kernel(kernel_path, kernel_init_source, clbin, custom_kernel_build_options, &lampEmission_program))
return false;
kernel_init_source = "#include \"kernel_QueueEnqueue.cl\" // " + kernel_md5 + "\n";
- custom_kernel_build_options = "-D__SPLIT_KERNEL__ " + max_closure_build_option;
-#ifdef __WORK_STEALING__
- custom_kernel_build_options += "-D__WORK_STEALING__ ";
-#endif
+ custom_kernel_build_options = common_custom_build_options;
device_md5 = device_md5_hash(custom_kernel_build_options);
clbin = string_printf("cycles_kernel_%s_%s_QueueEnqueue.clbin", device_md5.c_str(), kernel_md5.c_str());
if(!load_split_kernel(kernel_path, kernel_init_source, clbin, custom_kernel_build_options, &QueueEnqueue_program))
return false;
kernel_init_source = "#include \"kernel_Background_BufferUpdate.cl\" // " + kernel_md5 + "\n";
- custom_kernel_build_options = "-D__SPLIT_KERNEL__ " + max_closure_build_option + compute_device_type_build_option + svm_build_options;
-#ifdef __WORK_STEALING__
- custom_kernel_build_options += "-D__WORK_STEALING__ ";
-#endif
+ custom_kernel_build_options = common_custom_build_options + compute_device_type_build_option + svm_build_options;
device_md5 = device_md5_hash(custom_kernel_build_options);
clbin = string_printf("cycles_kernel_%s_%s_Background_BufferUpdate.clbin", device_md5.c_str(), kernel_md5.c_str());
if(!load_split_kernel(kernel_path, kernel_init_source, clbin, custom_kernel_build_options, &background_BufferUpdate_program))
return false;
kernel_init_source = "#include \"kernel_ShaderEval.cl\" // " + kernel_md5 + "\n";
- custom_kernel_build_options = "-D__SPLIT_KERNEL__ " + max_closure_build_option + svm_build_options;
-#ifdef __WORK_STEALING__
- custom_kernel_build_options += "-D__WORK_STEALING__ ";
-#endif
+ custom_kernel_build_options = common_custom_build_options + svm_build_options;
device_md5 = device_md5_hash(custom_kernel_build_options);
clbin = string_printf("cycles_kernel_%s_%s_ShaderEval.clbin", device_md5.c_str(), kernel_md5.c_str());
if(!load_split_kernel(kernel_path, kernel_init_source, clbin, custom_kernel_build_options, &shaderEval_program))
return false;
kernel_init_source = "#include \"kernel_Holdout_Emission_Blurring_Pathtermination_AO.cl\" // " + kernel_md5 + "\n";
- custom_kernel_build_options = "-D__SPLIT_KERNEL__ " + max_closure_build_option + compute_device_type_build_option;
-#ifdef __WORK_STEALING__
- custom_kernel_build_options += "-D__WORK_STEALING__ ";
-#endif
+ custom_kernel_build_options = common_custom_build_options + compute_device_type_build_option;
device_md5 = device_md5_hash(custom_kernel_build_options);
clbin = string_printf("cycles_kernel_%s_%s_Holdout_Emission_Blurring_Pathtermination_AO.clbin", device_md5.c_str(), kernel_md5.c_str());
if(!load_split_kernel(kernel_path, kernel_init_source, clbin, custom_kernel_build_options, &holdout_emission_blurring_termination_ao_program))
return false;
kernel_init_source = "#include \"kernel_DirectLighting.cl\" // " + kernel_md5 + "\n";
- custom_kernel_build_options = "-D__SPLIT_KERNEL__ " + max_closure_build_option + compute_device_type_build_option + svm_build_options;
-#ifdef __WORK_STEALING__
- custom_kernel_build_options += "-D__WORK_STEALING__ ";
-#endif
+ custom_kernel_build_options = common_custom_build_options + compute_device_type_build_option + svm_build_options;
device_md5 = device_md5_hash(custom_kernel_build_options);
clbin = string_printf("cycles_kernel_%s_%s_DirectLighting.clbin", device_md5.c_str(), kernel_md5.c_str());
if(!load_split_kernel(kernel_path, kernel_init_source, clbin, custom_kernel_build_options, &directLighting_program))
return false;
kernel_init_source = "#include \"kernel_ShadowBlocked.cl\" // " + kernel_md5 + "\n";
- custom_kernel_build_options = "-D__SPLIT_KERNEL__ " + max_closure_build_option + svm_build_options;
-#ifdef __WORK_STEALING__
- custom_kernel_build_options += "-D__WORK_STEALING__ ";
-#endif
+ custom_kernel_build_options = common_custom_build_options + svm_build_options;
device_md5 = device_md5_hash(custom_kernel_build_options);
clbin = string_printf("cycles_kernel_%s_%s_ShadowBlocked.clbin", device_md5.c_str(), kernel_md5.c_str());
if(!load_split_kernel(kernel_path, kernel_init_source, clbin, custom_kernel_build_options, &shadowBlocked_program))
return false;
kernel_init_source = "#include \"kernel_NextIterationSetUp.cl\" // " + kernel_md5 + "\n";
- custom_kernel_build_options = "-D__SPLIT_KERNEL__ " + max_closure_build_option + compute_device_type_build_option;
-#ifdef __WORK_STEALING__
- custom_kernel_build_options += "-D__WORK_STEALING__ ";
-#endif
+ custom_kernel_build_options = common_custom_build_options + compute_device_type_build_option;
device_md5 = device_md5_hash(custom_kernel_build_options);
clbin = string_printf("cycles_kernel_%s_%s_NextIterationSetUp.clbin", device_md5.c_str(), kernel_md5.c_str());
if(!load_split_kernel(kernel_path, kernel_init_source, clbin, custom_kernel_build_options, &nextIterationSetUp_program))
return false;
kernel_init_source = "#include \"kernel_SumAllRadiance.cl\" // " + kernel_md5 + "\n";
- custom_kernel_build_options = "-D__SPLIT_KERNEL__ " + max_closure_build_option;
-#ifdef __WORK_STEALING__
- custom_kernel_build_options += "-D__WORK_STEALING__ ";
-#endif
+ custom_kernel_build_options = common_custom_build_options;
device_md5 = device_md5_hash(custom_kernel_build_options);
clbin = string_printf("cycles_kernel_%s_%s_SumAllRadiance.clbin", device_md5.c_str(), kernel_md5.c_str());
if(!load_split_kernel(kernel_path, kernel_init_source, clbin, custom_kernel_build_options, &sumAllRadiance_program))
More information about the Bf-blender-cvs
mailing list