As someone else already pointed out, this was likely done through Nvidia, they had already done an ARM port of Portal for the Shield which is basically the same hardware as the Switch so they probably just asked Valve and they said "sure, why not"
Not Apple per se, but NeXT was pretty important in the development of the early web as I understand it. The first web browser / editor (WorldWideWeb) ran on their platform.
It is slightly different - this runs an unmodified GPU driver in the guest (no para-virtualization) and in our observations our performance is close to native which I believe is a fair improvement over the overhead of Virgl. Also there's availability of more APIs - for example DirectX, Vulkan, and OpenGL work with GVM guests. I don't think all of those work with Virgl. We make use of various different assistance modes (either hardware or software I/O virtualization/resource sharing) via VFIO-Mdev (VFIO Mediated Device), or via SR-IOV (Single Root IO Virtualization), or SIOV (Scalable IO Virtualization).
I made this web page to try consolidate some information from various folks who have contributed a lot in this area of open source to show how it works (there are some novel additions we've made as well based on our own work with GVM):
I've made the mistake of trying to add an extra statement to a one-line if and forgetting to add a block too many times. Although now GCC has -Wmisleading-indentation which should catch that.
Yes, exactly, it's just not worth the risk. It gets worse with preprocessor macro systems like C has, where something might look correct until you follow the macro definition.