diff options
Diffstat (limited to 'r600/lib/workitem/get_global_id.cl')
-rw-r--r-- | r600/lib/workitem/get_global_id.cl | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/r600/lib/workitem/get_global_id.cl b/r600/lib/workitem/get_global_id.cl new file mode 100644 index 0000000..9b0bd94 --- /dev/null +++ b/r600/lib/workitem/get_global_id.cl @@ -0,0 +1,10 @@ +#include <clc/clc.h> + +_CLC_DEF size_t get_global_id(uint dim) { + switch (dim) { + case 0: return __builtin_r600_read_tgid_x()*__builtin_r600_read_ngroups_x()+__builtin_r600_read_tidig_x(); + case 1: return __builtin_r600_read_tgid_y()*__builtin_r600_read_ngroups_y()+__builtin_r600_read_tidig_y(); + case 2: return __builtin_r600_read_tgid_z()*__builtin_r600_read_ngroups_z()+__builtin_r600_read_tidig_z(); + default: return 0; + } +} |