Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'intern/cycles/device/opencl/opencl_split.cpp')
-rw-r--r--intern/cycles/device/opencl/opencl_split.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/intern/cycles/device/opencl/opencl_split.cpp b/intern/cycles/device/opencl/opencl_split.cpp
index 422813c2e07..57612098b34 100644
--- a/intern/cycles/device/opencl/opencl_split.cpp
+++ b/intern/cycles/device/opencl/opencl_split.cpp
@@ -40,7 +40,13 @@ struct texture_slot_t {
int slot;
};
-static const string fast_compiled_kernels =
+static const string NON_SPLIT_KERNELS =
+ "denoising "
+ "base "
+ "background "
+ "displace ";
+
+static const string SPLIT_BUNDLE_KERNELS =
"data_init "
"path_init "
"state_buffer_size "
@@ -55,7 +61,10 @@ static const string fast_compiled_kernels =
const string OpenCLDevice::get_opencl_program_name(const string& kernel_name)
{
- if (fast_compiled_kernels.find(kernel_name) != std::string::npos) {
+ if (NON_SPLIT_KERNELS.find(kernel_name) != std::string::npos) {
+ return kernel_name;
+ }
+ else if (SPLIT_BUNDLE_KERNELS.find(kernel_name) != std::string::npos) {
return "split_bundle";
}
else {
@@ -65,7 +74,10 @@ const string OpenCLDevice::get_opencl_program_name(const string& kernel_name)
const string OpenCLDevice::get_opencl_program_filename(const string& kernel_name)
{
- if (fast_compiled_kernels.find(kernel_name) != std::string::npos) {
+ if (kernel_name == "denoising") {
+ return "filter.cl";
+ }
+ else if (SPLIT_BUNDLE_KERNELS.find(kernel_name) != std::string::npos) {
return "kernel_split_bundle.cl";
}
else {