I have an Optimus-enabled laptop with a Skylake HD 530 integrated GPU and a Quadro M1000M discrete GPU. The laptop has both HDMI and Thunderbolt 3 outputs.
I also have an OpenCL<>GL interop application.
Optimus lets you choose which GPU your app should use for rendering but, if I understand correctly, the final surface scan-out is still handled by the HD 530.
All this seems to work fine except when I'm driving an external monitor via Thunderbolt. When connected via TBOLT, the NVIDIA GPU appears to have full control of the monitor.
So my question is, should I be able to run my OpenCL kernels on the HD 530 and render via OpenCL-toGL interop to the NVIDIA discrete GPU?
In this situation I don't care about performance so an implicit host-readback is OK.
Documentation on multi-GPU OpenCL interop seems sparse!