Rendering to a Vive (Pro) on macOS using OpenVR with either IOSurface backed Metal textures or Metal shared textures.
OpenVR/SteamVR (as of 2018-08-24) still shares eye textures with its compositor process using shared memory (rather than mach ports or XPC) thus the kIOSurfaceIsGlobal property, although deprecated, must be set or submission will fail silently and the display will stay black.
Metal since macOS 10.14 supports shared textures directly, including array textures, which can be submitted to OpenVR since 1.0.16.