I am currently porting an OpenGL rendering backend to Metal (on macOS).
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,
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?
Writing slightly broken metal code does, in fact, crash the system.
I've done this a few times recently in my exploration of Metal. I'm trying to remember my mistakes which did this...
Really bad values for thread group sizes will do this, I think.