What is the correct and intended way to use the SPIR-V Kernel execution mode?
My main use case is based around using Vulkan to create a pipeline with a SPIR-V compute kernel at its core (no other pipeline stages, just a single compute stage). However, I am struggling to find out how to utilise the data that is on my device from inside the entry point of my compute kernel. I can see how to use Vulkan to create memory buffers on the device, and I can see how I can copy data in to and out of these memory buffers (transfers between host and device), but I can see no way to tell my SPIR-V code that these memory buffers exist and that these particular variables should be associated with those particular memory buffers.
Can anyone shed any light on how this is supposed to work?
Can anyone also shed any light on what the intended use cases of a compute kernel and the kernel execution mode are meant to be?