| #include <clc/clc.h> | |
| uint __clc_amdgcn_get_num_groups_x(void) __asm("llvm.r600.read.ngroups.x"); | |
| uint __clc_amdgcn_get_num_groups_y(void) __asm("llvm.r600.read.ngroups.y"); | |
| uint __clc_amdgcn_get_num_groups_z(void) __asm("llvm.r600.read.ngroups.z"); | |
| _CLC_DEF _CLC_OVERLOAD size_t get_num_groups(uint dim) { | |
| switch (dim) { | |
| case 0: | |
| return __clc_amdgcn_get_num_groups_x(); | |
| case 1: | |
| return __clc_amdgcn_get_num_groups_y(); | |
| case 2: | |
| return __clc_amdgcn_get_num_groups_z(); | |
| default: | |
| return 1; | |
| } | |
| } |