summaryrefslogtreecommitdiff
path: root/kernels/compiler_workgroup_broadcast.cl
blob: 4df74e31db6f0407611011c4594d2a50e86cdb26 (plain)
1
2
3
4
5
6
7
8
9
kernel void compiler_workgroup_broadcast(global uint *src, global uint *dst) {
    uint val = src[get_group_id(0)*(get_local_size(1) * get_local_size(0))
	+ get_group_id(1)*(get_local_size(1) * get_local_size(0) * get_num_groups(0))
	+ get_local_id(1)* get_local_size(0) + get_local_id(0)];
    uint bv = work_group_broadcast(val, 8, 3);
    dst[get_group_id(0)*(get_local_size(1) * get_local_size(0))
	+ get_group_id(1)*(get_local_size(1) * get_local_size(0) * get_num_groups(0))
	+ get_local_id(1)* get_local_size(0) + get_local_id(0)] = bv;
}