Another post from my favourite Mac game dev.
AFAICT, the Game Porting Toolkit seems to exist to say "See, Metal is good enough and the features can be made to work -- now go do it yourself and make some $$!"
I mean, he's not wrong about this. This is literally what Apple has to say about how they intend the Game Porting Toolkit to be used, on the page you download it from:
"Use the game porting toolkit to eliminate months of up-front work and evaluate how well your game could run on the Mac before writing any code."
Note the
could run. From watching the WWDC session about it, you're supposed to use the GPT to identify where your existing renderer has performance problems on Metal / Apple GPUs. You can then estimate how much performance you should be able to gain in a real port, and how much time (and therefore money) it will cost. Finally, you decide whether the economics work - will you make enough money off the port to go ahead.
I’m pretty sure you are correct and the shader converter can be shipped, unless he means something else?
D3DMetal, the library Apple provides to translate D3D APIs to Metal, is licensed only for evaluation and non-commercial purposes. If you're a game company, this means you can't just generate a Wine bottled version of your x86 Windows game binary and sell it to end users.
The shader converter is shippable because it's the piece which is useful outside of Wine in a port which is otherwise 100% Mac native. The runtime performance overhead of binary-translated shaders should be small, and some companies will want to re-use the same DXIL shaders on all platforms as it should simplify things for them quite a bit.
(if you don't understand the distinction between D3D and shaders here, let me know and I'll try to explain, inexpertly)
I agree that he’s unspecific. Someone said he means actual hardware. He wants apple to give indie devs Mac hardware. Thing is, Apple wants big games, and they already have hardware. It’s always something with critics. I just finished hearing how Apple's efforts were no good because all these games are old, and now the efforts are no good because they aren’t providing help to port…old games.
For better or worse, it's the accepted norm for Nvidia, AMD, and Intel to spend lots of money assisting game studios, both directly (software engineer time) and indirectly (packing GPU drivers full of optimizations and bug workarounds for specific games). Apple has traditionally seen this as beneath them, seemingly due to a combination of indifference, feeling like they shouldn't do such things, and their execs just not understanding the messy reality of how the gaming industry works.
I think Brad Oliver makes a very legitimate point, tbh. You can't ship games with the GPT, and it's not just the licensing - as things stand, in many cases it's not even capable of providing acceptable performance
for an official port. At best, the reason to be hopeful is that maybe there are lots of Mac-friendly devs inside game companies who want to sell their management on supporting Mac, and can now use the GPT to quickly throw together a demo without needing to justify weeks or months of porting effort. "Look at this, it's already at 20fps in this janky emulator, the GPU's only 10% busy, and we've used Apple's profiling tools to figure out how to fix it. Interested?"
And, you know, that's cool, but an easy path to proving technical feasibility is only one hurdle to clear. Management still has to decide whether they want to take on the extra support and distribution costs for an additional platform, the opportunity cost of spending developer time on the real port, and so forth.
That's why Brad Oliver's saying this might not make a big difference in game availability by itself, unless Apple decides to turn it into an actual Proton some time in the future. But that would require them to give up on native ports, which is a very un-Apple thing to do.