| /* |
| * function: kernel_wire_frame |
| * |
| * output_y: Y channel image2d_t as write only |
| * output_uv: uv channel image2d_t as write only |
| * wire_frames_coords: coordinates of wire frames |
| * coords_num: number of coordinates to be processed |
| */ |
| |
| __kernel void kernel_wire_frame ( |
| __write_only image2d_t output_y, __write_only image2d_t output_uv, |
| __global uint2 *wire_frames_coords, uint coords_num, |
| float border_y, float border_u, float border_v) |
| { |
| if (coords_num == 0) { |
| return; |
| } |
| |
| int gid = get_global_id (0); |
| if (gid >= coords_num) { |
| return; |
| } |
| |
| uint2 coord = wire_frames_coords [gid]; |
| |
| write_imagef (output_y, (int2)(coord.x / 2, coord.y), (float4)(border_y)); |
| if (coord.y % 2 == 0) { |
| write_imagef (output_uv, (int2)(coord.x / 2, coord.y / 2), (float4)(border_u, border_v, 0.0f, 0.0f)); |
| } |
| } |