ios - 从 Metal 内核写入 32 位浮点纹理?文档说是,运行时说不

标签 ios gpgpu metal

在检查 Metal 接口(interface)的 GPGPU 部分时,我在尝试从内核写入 32 位浮点纹理时遇到断言失败(编辑: 在 iPhone 6 上,使用 iOS 8.4.1):

`Non-writable texture format MTLPixelFormatRGBA32Float is being bound at index 2 to a shader argument with write access enabled.'

使用 RG32Float 和 R32Float 得到相同的结果。

这似乎是错误的,因为:

  1. 据我所知,the docs say it should be supported . (见链接页面上的表格。)
  2. 片段着色器允许写入 32 位纹理(在 iPhone 6 上得到确认)而不是 GPGPU 内核,这似乎很奇怪。因为这显然对于任何数量的 GPGPU 任务都非常有用,但对于移动设备上的图形渲染来说似乎有点小众。

我是不是看错了文档?有人对此有不同/更好的官方信息或其他信息吗?

感谢您的宝贵时间。

最佳答案

Apple 论坛上有人友善地指出我正在查看 iOS 9 的预发布文档!已安装测试版,它确实支持 iOS 9。

关于ios - 从 Metal 内核写入 32 位浮点纹理?文档说是,运行时说不,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32242919/

相关文章:

ios - 在预构建阶段为多个目标选择不同的图像源

c++ - 矩阵 vector 乘积 CUDA 性能

linux - nvidia-smi 是否提供瞬时信息或时间间隔的平均值?

c++ - 使用散列合并全局内存写入

metal - METAL顶点/片段着色器结果 "intercept"的最佳方法

android - 使用WebView的安全风险(IOS、Android)

ios - 隐藏标签栏导航 Controller 中的后退按钮

ios - 将图像放置在 TextView 内的一个角落

ios - 下载为 PNG 时 UIImage 到 MTLTexture

swift - 使用 MTLSharedEvent 在单个命令缓冲区内同步 CPU 和 GPU 之间的工作