I looked back at the DirectX hololens samples I'm working with. What I've seen is that although it contains shaders for both geometry-based instanced rendering and viewport shaders, it isn't using the geometry shaders. The renderers do a call to check if there is viewport support in the device, and for the hololens it is yes - so they use the viewport shaders. With the viewport shaders it will render each eye's camera pose independently, but right after each other. Their performance guidelines seem to say avoid geometry shaders (https://developer.microsoft.com/en-us/w ... mendations
), perhaps geometry shaders are not well suited to the HoloLens GPU?
What might be important for the performance is that the DirectX render loop in the main application does an update of the holographicFrame prediction (camera viewProject matrices for left/right eye) immediately prior to doing the actually viewport shader render calls.
// Up-to-date frame predictions enhance the effectiveness of image stablization and
// allow more accurate positioning of holograms.
HolographicFramePrediction^ prediction = holographicFrame->CurrentPrediction;