texture2d
access::read_write
限定符似乎仅适用于OSX。有没有办法在kernel
(或其他)金属函数中读取/写入相同的纹理?
原因是书写的纹理值可能不是最终的,可以由其他线程更新。
答案 0 :(得分:1)
感谢@warrenm的提示。它使用原子缓冲区
device atomic_uint *buf [[ buffer(0) ]]
执行以下步骤:
kernel
函数中初始化我的原子缓冲区,该函数在操作kernel
使用atomic_fetch_min_explicit(buf[pos], val, memory_order_relaxed)