spirv-reader: spec constant op Sconvert, UConvert not supported
SConvert and UConvert convert between integer types of different widths.
WGSL only has 32-bit (concrete) integer types, so make the reader ICE.
Fixed: crbug.com/402726347 crbug.com/402726598
Change-Id: I47b1461bcde80c51f26585a33438877867d8aaa9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/249534
Reviewed-by: James Price <jrprice@google.com>
Auto-Submit: David Neto <dneto@google.com>
Commit-Queue: David Neto <dneto@google.com>
diff --git a/src/tint/lang/spirv/reader/parser/parser.cc b/src/tint/lang/spirv/reader/parser/parser.cc
index ffcfde6..6cd964b 100644
--- a/src/tint/lang/spirv/reader/parser/parser.cc
+++ b/src/tint/lang/spirv/reader/parser/parser.cc
@@ -364,6 +364,12 @@
case spv::Op::OpNot:
EmitSpirvExplicitBuiltinCall(inst, spirv::BuiltinFn::kNot, 3);
break;
+ case spv::Op::OpSConvert:
+ TINT_ICE() << "can't translate SConvert: WGSL does not have concrete "
+ "integer types of different widths";
+ case spv::Op::OpUConvert:
+ TINT_ICE() << "can't translate UConvert: WGSL does not have concrete "
+ "integer types of different widths";
default:
TINT_ICE() << "Unknown spec constant operation: " << op;
}