Hm that's weird! The only thing that sticks out for me is that you're using the new MTL4CommandAllocator API.
I see they have a reset instance method which can be called manually to free memory from command buffers. Since you are not encoding anything, perhaps the internal logic that would automatically free the memory doesn't trigger?
That's my guess, worth adding a reset at the end to see if it fixes it. Still sounds like a bug so consider reporting it!
I'm curious, what's the usecase for not encoding anything during a pass?
Topic:
Graphics & Games
SubTopic:
Metal