Any info on “ supportsPullModelInterpolation”?

I found this new API in MTLDevice “supportsPullModelInterpolation()” but there was no additional info. Anyone knows what is this about?

Accepted Reply

This is indicates whether a device supports the Pull Model Interpolation feature.  This feature allows a fragment shader to compute multiple interpolations of a [[stage_in]] input (an interpolant). This approach generalizes from today's single interpolation, where you declare a shader input with a value of type T and an interpolation attribute, such as [[center_perspective]], and the value is interpolated once in a shader preamble. For pull-model interpolation, you instead declare the shader input with the type interpolant<T,P>, and call methods such as interpolate_at_center(), interpolate_at_sample(),  or interpolate_at_offset() to interpolate a value. 

On iOS, iPadOS, and tvOS, devices supporting MTLGPUFamilyApple3 or above support this feature. On macOS, this is only available on Intel GPUs.

We will provide more specific information on this feature soon in an update to the Metal Shading Language specification.

Replies

This is indicates whether a device supports the Pull Model Interpolation feature.  This feature allows a fragment shader to compute multiple interpolations of a [[stage_in]] input (an interpolant). This approach generalizes from today's single interpolation, where you declare a shader input with a value of type T and an interpolation attribute, such as [[center_perspective]], and the value is interpolated once in a shader preamble. For pull-model interpolation, you instead declare the shader input with the type interpolant<T,P>, and call methods such as interpolate_at_center(), interpolate_at_sample(),  or interpolate_at_offset() to interpolate a value. 

On iOS, iPadOS, and tvOS, devices supporting MTLGPUFamilyApple3 or above support this feature. On macOS, this is only available on Intel GPUs.

We will provide more specific information on this feature soon in an update to the Metal Shading Language specification.
It’s now been over three months, iOS14 has been released but there is no update to the documentation... abs besides, the documentation itself is a bit, well... lacking. Come on guys, you can do better.