Passing IOSurfaces from one process to another via Mach RPC

Last Revision:
Version 1.2, 2014-10-13
Updated with Core Profile. Cleaned up code. Removed deprecated calls.
(Full Revision History)
Build Requirements:
OS X 10.9 or later, Xcode 5.1 or later
Runtime Requirements:
OS X 10.7 or later

MutiGPUIOSurface shows how to create IOSurfaces and bind them to OpenGL textures for both reading and writing. It demonstrates one way of passing IOSurfaces from one process to another via Mach RPC calls. It also demonstrates the system's ability to track IOSurface changes across process and GPU boundaries.

After building the integrated target "MultiGPUApps", first run the server application "MultiGPUServer" and then the client application "MultiGPUClient".