Skip to content

Do we use spirv-val? #32

@khyperia

Description

@khyperia

(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:

  1. Detect this when we're compiling, and give an error immediately.
  2. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    t: designDesign of our rust-gpu language and std

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions