2018-11-04 08:35:12 +08:00
|
|
|
#include <clc/clc.h>
|
|
|
|
|
|
|
|
uint __clc_r600_get_num_groups_x(void) __asm("llvm.r600.read.ngroups.x");
|
|
|
|
uint __clc_r600_get_num_groups_y(void) __asm("llvm.r600.read.ngroups.y");
|
|
|
|
uint __clc_r600_get_num_groups_z(void) __asm("llvm.r600.read.ngroups.z");
|
|
|
|
|
2020-08-18 04:44:49 +08:00
|
|
|
_CLC_DEF _CLC_OVERLOAD size_t get_num_groups(uint dim) {
|
|
|
|
switch (dim) {
|
|
|
|
case 0:
|
|
|
|
return __clc_r600_get_num_groups_x();
|
|
|
|
case 1:
|
|
|
|
return __clc_r600_get_num_groups_y();
|
|
|
|
case 2:
|
|
|
|
return __clc_r600_get_num_groups_z();
|
|
|
|
default:
|
|
|
|
return 1;
|
|
|
|
}
|
2018-11-04 08:35:12 +08:00
|
|
|
}
|