Simplex
Simplex

Reputation: 1000

Writing to 32-bit float textures from Metal kernels? Docs say yes, runtime says no

While checking out the GPGPU parts of the Metal interface, I ran into an assertion failure when trying to write to a 32-bit floating point texture from a kernel (edit: on an iPhone 6, with iOS 8.4.1):

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

Got the same result with RG32Float and R32Float.

This seems wrong because:

  1. As far as I can tell, the docs say it should be supported. (See table on linked page.)
  2. It just seems odd that writing to 32-bit textures is allowed for fragment shaders (confirmed on iPhone 6) but not GPGPU kernels. As this would clearly be super useful for any number of GPGPU tasks, but seems somewhat niche for graphics rendering on mobile.

Am I reading the docs wrong? Anyone have different/better official info or other info on this?

Thanks for your time.

Upvotes: 2

Views: 716

Answers (1)

Simplex
Simplex

Reputation: 1000

Someone on the Apple forums kindly pointed out I was looking at the pre-release docs for iOS 9! Have installed the beta and it is indeed supported as of iOS 9.

Upvotes: 1

Related Questions