Metal 3: GPU addresses and argument buffer encoding

Looking at the new Metal 3 APIs diffs, I noticed that objects now expose a new gpuHandle/gpuRessourceD property, and that the MTLArgumentEncoder is marked as deprecated and there seems to be the family of new MTLBinding APIs that looks like a replacement for it. Does this mean that we are getting some new resource binding model? I was not able to find any details in the documentation and Tuesday's Metal session did not mention these API changes at all. And the APIs themselves seem to be in flux, as gpuHandle is already marked as deprecated even though it is still beta :)

Will there be a WWDC session about these APIs or could you share some details here?

Answered by Graphics and Games Engineer in 716485022

gpuHandle will be removed in a future beta. gpuAddress is the property that replaces it.

This sample has targets which use the new API.

Accepted Answer

gpuHandle will be removed in a future beta. gpuAddress is the property that replaces it.

This sample has targets which use the new API.

Thanks, I also just happened to watch the relevant WWDC session. Great work! Metal is shaping up to be an incredible API, with unmatched power and ergonomy.

Metal 3: GPU addresses and argument buffer encoding
 
 
Q