I am currently porting an OpenGL rendering backend to Metal (on macOS).
100% repro:
1. Press run App in Xcode.
2. Press frame capture button.
3. A correct looking view appears. [immediately]
4. The mouse pointer turns into the rainbow ball. [immediately]
5. The mouse pointer disappears. [after 5-15 seconds]
6. The external screen shuts off. [after another 15-30 seconds]
7. The system reboots. [after about 1-3 minutes]
It's very possible that I am sending some broken data down the command queue,
but
a) from what I see it looks exactly identical to the capture from the game template
b) I see (partially) correct render results when not capturing
c) Writing slightly broken metal code shouldn't crash the system
Any idea what I might be doing wrong?