Monday, November 1, 2021

Vulcan, Go, and A Triangle, Part 11 bis

In part 10, I mentioned trying to use go routines to create the command buffers, but that didn't work because the command pool and the command buffers must all be operated on in a single thread.

I had tried doing the command recording in parallel using go-routines, but that resulted validation layer threading errors. A command pool is apparently thread specific.

The rest of this part explores using a locked thread go routine associated with a command pool in order to multi-thread command recording.

Note This is basically building an abstraction layer on top of Vulkan, and isn't necessary to understand how vulkan works. As this code is a wholesale divergence from the Vulkan tutorial, I won't be using it when I start on the next section.