1 __kernel void gegl_mono_mixer
(__global const float4
*src_buf
,
2 __global float2
*dst_buf
,
3 const int preserve_luminocity
,
8 int gid
= get_global_id
(0);
9 float4 in_v
= src_buf
[gid];
10 float norm_factor = 1.0f;
12 if (preserve_luminocity)
14 float sum = red + green + blue;
18 norm_factor = fabs (1.0f / sum);
21 dst_buf[gid].x
= (in_v.x
* red
+ in_v.y
* green
+ in_v.z
* blue
) * norm_factor
;
22 dst_buf
[gid].y = in_v.w;