[Bf-blender-cvs] [ad47c16] cycles_kernel_split: Cycles kernel split : Use macros to set args for film_convert kernel
varunsundar08
noreply at git.blender.org
Wed May 6 13:07:19 CEST 2015
Commit: ad47c1655377fcc61a1d3bec62923a4c50853034
Author: varunsundar08
Date: Wed May 6 16:05:11 2015 +0530
Branches: cycles_kernel_split
https://developer.blender.org/rBad47c1655377fcc61a1d3bec62923a4c50853034
Cycles kernel split : Use macros to set args for film_convert kernel
===================================================================
M intern/cycles/device/device_opencl.cpp
===================================================================
diff --git a/intern/cycles/device/device_opencl.cpp b/intern/cycles/device/device_opencl.cpp
index 7a9a5f3..83c3e1b 100644
--- a/intern/cycles/device/device_opencl.cpp
+++ b/intern/cycles/device/device_opencl.cpp
@@ -1027,22 +1027,26 @@ public:
cl_kernel ckFilmConvertKernel = (rgba_byte) ? ckFilmConvertByteKernel : ckFilmConvertHalfFloatKernel;
- opencl_assert(clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_data), (void*)&d_data));
- opencl_assert(clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_rgba), (void*)&d_rgba));
- opencl_assert(clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_buffer), (void*)&d_buffer));
+ /* TODO : Make the kernel launch similar to Cuda */
+#define KERNEL_APPEND_ARG(kernel_name, arg) \
+ opencl_assert(clSetKernelArg(kernel_name, narg++, sizeof(arg), (void*)&arg))
+ KERNEL_APPEND_ARG(ckFilmConvertKernel, d_data);
+ KERNEL_APPEND_ARG(ckFilmConvertKernel, d_rgba);
+ KERNEL_APPEND_ARG(ckFilmConvertKernel, d_buffer);
#define KERNEL_TEX(type, ttype, name) \
set_kernel_arg_mem(ckFilmConvertKernel, &narg, #name);
#include "kernel_textures.h"
#undef KERNEL_TEX
- opencl_assert(clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_sample_scale), (void*)&d_sample_scale));
- opencl_assert(clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_x), (void*)&d_x));
- opencl_assert(clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_y), (void*)&d_y));
- opencl_assert(clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_w), (void*)&d_w));
- opencl_assert(clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_h), (void*)&d_h));
- opencl_assert(clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_offset), (void*)&d_offset));
- opencl_assert(clSetKernelArg(ckFilmConvertKernel, narg++, sizeof(d_stride), (void*)&d_stride));
+ KERNEL_APPEND_ARG(ckFilmConvertKernel, d_sample_scale);
+ KERNEL_APPEND_ARG(ckFilmConvertKernel, d_x);
+ KERNEL_APPEND_ARG(ckFilmConvertKernel, d_y);
+ KERNEL_APPEND_ARG(ckFilmConvertKernel, d_w);
+ KERNEL_APPEND_ARG(ckFilmConvertKernel, d_h);
+ KERNEL_APPEND_ARG(ckFilmConvertKernel, d_offset);
+ KERNEL_APPEND_ARG(ckFilmConvertKernel, d_stride);
+#undef KERNEL_APPEND_ARG
enqueue_kernel(ckFilmConvertKernel, d_w, d_h);
}
More information about the Bf-blender-cvs
mailing list