What are the conditions when [MTLBuffer newTextureWithDescriptor]
would return nil?
Buffer size and buffer rowbytes are valid and compatible with pixel format and dimensions, texture descriptor has all the valid options mentioned in the documentation, and yet this call returns nil regardless of whether the buffer is shared or managed.
GPU memory is also available.
I've used this method before and never had issues with it.