//变量/参数地址空间修饰符
void CCTestFouncitionE(device int *g_data,
threadgroup int *l_data,
constant float *c_data
)
{
//...
}
// 设备地址空间: device 用来修饰指针.引用
//1.修饰指针变量
device float4 *color;
struct CCStruct{
float a[3];
int b[2];
};
//2.修饰结构体类的指针变量
device CCStruct *my_CS;
/*
1. threadgroup 被并行计算计算分配内存变量, 这些变量被一个线程组的所有线程共享. 在线程组分配变量不能被用于图像绘制.
2. thread 指向每个线程准备的地址空间. 在其他线程是不可见切不可用的
*/
kernel void CCTestFouncitionF(threadgroup float *a)
{
//在线程组地址空间分配一个浮点类型变量x
threadgroup float x;
//在线程组地址空间分配一个10个浮点类型数的数组y;
threadgroup float y[10];
}
constant float sampler[] = {1.0f,2.0f,3.0f,4.0f};
kernel void CCTestFouncitionG(void)
{
//在线程空间分配空间给x,p
float x;
thread float p = &x;
}
//常量地址修饰空间
//constant 显存,但是它是只读.
网友评论