Initial multi-kernel support
This change adds multi-kernel support, with localized kernel function
types, argument types and OpEntryPoints. Also emit type and metadata
for each kernel. OpEntryPoints now have the string literals of RS
kernel names.
Some SPIR-V names are still shared, notably the global_invocation_id. This
doesn't seem to affect correctness per our current tests.
On the device side, the RSoV driver has been updated to use actual kernel
names instead of hardcoded "main".
Also added testcases in both LIT and RSoVTest.
Test: RSoV LIT Tests, RSoVTest on angler
Change-Id: I09936e69d9f19d21c5727430cb19414b508496bd
13 files changed