您的位置:首页 > 编程语言

Metal 着色语言编程指南 二三

2016-05-29 20:40 218 查看

线程组地址空间(Threadgroup Address Space)

     线程组地址空间用于为kernel函数的变量分配地址空间,  用threadgroup 修饰符定义的变量将被线程组中的所有线程共享.  Graphics函数无法访问用threadgroup修饰的变量.
    kernel函数中,  每个线程组就会分配独立的threadgroup变量, 其生命周期与该线程组相同. 
    下面的例子展示了threadgroup变量作为参数传递或者声明于kernel函数内部,  关于[[threadgroup(0)]]的说明请参看 Attribute
Qualifiers to Locate Resources.
kernel void
my_func(threadgroup float *a [[ threadgroup(0) ]], ...)
{
// A float allocated in threadgroup address space
threadgroup float x;

// An array of 10 floats allocated in
// threadgroup address space
threadgroup float b[10];
...
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Metal iOS shading