[naga] Introduce Scalar
type to IR.
#4673
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Introduce a new struct type,
Scalar
, combining aScalarKind
and aBytes
width, and use this whenever such pairs of values are passed around.In particular, use
Scalar
inTypeInner
variantsScalar
,Vector
,Atomic
, andValuePointer
.Introduce associated
Scalar
constantsI32
,U32
,F32
,BOOL
andF64
, for common cases.Introduce a helper function
Scalar::float
for constructingFloat
scalars of a given width, for dealing withTypeInner::Matrix
, which only supplies the scalar width of its elements, not a kind.Introduce helper functions on
Literal
andTypeInner
, to produce theScalar
describing elements' values.Checklist
cargo clippy
.cargo clippy --target wasm32-unknown-unknown
if applicable.