-
Couldn't load subscription status.
- Fork 247
Description
(for end users, for development we're definitely going to use it) - this came up in #31
Say, for example, that the user does something invalid under the current capabilities - e.g. use OpBitcast on a pointer without the Addresses capability, or a storage class that's unsupported. We have two ways of detecting this error:
- Detect this when we're compiling, and give an error immediately.
- Run spirv-val on the result binary, and report any errors as rust errors.
There's a trade-off here: 1 takes way more work, and 2 produces lower quality errors. So, opening up a design issue to talk about it.
Of course, the answer might be, as always, a mix of the two. For example, we could try to detect all errors while we're compiling, but realize that there will be holes, and still run spirv-val on the result - and when spirv-val detects something that we don't, add in a check for that in the compiler.