美文网首页
Metal语法之 变量/参数地址空间修饰符

Metal语法之 变量/参数地址空间修饰符

作者: adaodao3056 | 来源:发表于2021-02-27 10:33 被阅读0次
    //变量/参数地址空间修饰符
    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 显存,但是它是只读.
    

    相关文章

      网友评论

          本文标题:Metal语法之 变量/参数地址空间修饰符

          本文链接:https://www.haomeiwen.com/subject/zgdjyktx.html