关键字“设备”在金属着色语言中的含义是什么

时间:2018-05-23 13:44:52

标签: ios metal

关键字“设备”在金属着色语言中的含义是什么? 如:

kernel void add_alps_2d_kernel(const device int *vector1 [[buffer(1)]],
                           device int vector2 [[buffer(2)]],
                           uint id [[ thread_position_in_grid ]]) {

}

1 个答案:

答案 0 :(得分:1)

根据language spec doc

  

程序中声明的金属图形和内核函数的参数   那些指针必须用Metal设备,threadgroup声明,   threadgroup_imageblock或常量地址空间属性。

此外:

  

设备地址空间名称是指缓冲区内存对象   从设备内存池中分配的可读和   可写的。

因此它的内存规范指示指针所在的位置。请注意,在地址空间属性之前使用const表示它是只读的。您还可以在Working with memory in Metal

中找到更多信息