金属地址空间说明符'设备'

时间:2018-03-26 12:24:08

标签: ios shader metal

在金属着色语言中,关键字'设备的重要性是什么?在一个类型之前?例如:

device float4 *buffer;

2 个答案:

答案 0 :(得分:2)

它指的是设备内存中可以读写的对象。

From Metal Shading Language Specification:

  

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

答案 1 :(得分:1)

每当将指针传递到着色器函数时,

Metal都要求您使用设备或其他一些地址空间属性。

From Metal Shading Language Specification Version 2.0:

  

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

函数的类型(顶点,片段,内核)限制了可用的地址空间。

对于图形功能,将设备地址空间用于读/写缓冲区,或将常量地址空间用于只读缓冲区。假设纹理位于设备空间中。