Hello! I’m trying to make use of G-buffer in my project and I’m using a project from Chapter 14 as a reference. For some reason GPU hangs for about 5 seconds if I try to render composition quad in a separate pass, and consequent render commands are ignored. Console log says this after the app “unfreezes”:
Execution of the command buffer was aborted due to an error during execution. Caused GPU Timeout Error (IOAF code 2)
Then the screen goes black and console is flooded with these messages:
Execution of the command buffer was aborted due to an error during execution. Ignored (for causing prior/excessive GPU errors) (IOAF code 4)
My rendering pipeline is almost identical to the book’s companion project, except it’s even simpler right now - I skipped shadow pass and don’t even render any models, so there’s also no draw calls in G-buffer pass, but GPU hangs anyway.
I’ve also stripped down shader functions for debugging purposes: vertex functions simply pass through vertex position and fragment functions return constant values, and I don’t receive/pass any arguments to them from CPU, only two buffers for quad vertices in Composition pass.
If I render quad in the same pass (encoder) as G-buffer, or if I skip G-buffer pass, or if I return constant position from vertex function for all vertices in Composition pass (essentially not rendering the quad), then it “works” okay, i.e. it doesn’t crash.
At the same I modified book’s project the same way and It works as intended. What am I missing here?
I’ve been banging my head on this for the whole day, starting to feel a bit desperate
I’m using Xcode 10, macOS/iOS 12.