tint: Add constructors and conversions to the intrinsic table

For all types except for arrays and structures, which are explicitly
typed and have trivial overloads.

This will simplify maintenance of type functions, unifies diagnostic
messages and will greatly simplify the [AbstractInt -> i32|u32]
[AbstractFloat -> f32|f16] logic.

Bug: tint:1504
Change-Id: I2b17ed530d1cece22adcbfc6de0bec4fbda4c7bd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/90248
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
This commit is contained in:
Ben Clayton
2022-05-16 20:54:42 +00:00
committed by Dawn LUCI CQ
parent 8520f3bb93
commit 6ae608cb03
19 changed files with 8195 additions and 5448 deletions

View File

@@ -56,6 +56,24 @@ const char* str(ParameterUsage usage) {
return "texture";
case ParameterUsage::kValue:
return "value";
case ParameterUsage::kW:
return "w";
case ParameterUsage::kX:
return "x";
case ParameterUsage::kXy:
return "xy";
case ParameterUsage::kXyz:
return "xyz";
case ParameterUsage::kY:
return "y";
case ParameterUsage::kYz:
return "yz";
case ParameterUsage::kZ:
return "z";
case ParameterUsage::kZw:
return "zw";
case ParameterUsage::kZyw:
return "zyw";
}
return "<unknown>";
}

View File

@@ -44,6 +44,15 @@ enum class ParameterUsage {
kSampler,
kTexture,
kValue,
kW,
kX,
kXy,
kXyz,
kY,
kYz,
kZ,
kZw,
kZyw,
};
/// @returns a string representation of the given parameter usage.