From what little I can find in the documentation about the global buffer, is it true there is only one available (i.e., g)?
Also, it appears that I can't use o0-o7 output registers in a computer shader. Instead, if I want to output from a kernel I need to scatter writes to the global buffer. I would like the flexibility of outputing to multiple o# registers. I know I can emulate this behavior with a scatter but it's a bit messy.
What is the best practice for handling multiple output buffers in that case? Is seems I am limited to outputing to just the single global buffer in the kernel when using the compute shader model.