mirror of
https://github.com/KhronosGroup/SPIRV-Tools
synced 2024-11-30 06:50:06 +00:00
Optional typed literal number should be concrete in BinaryParser.
This commit is contained in:
parent
0db3721675
commit
aa3cd5abb9
@ -451,6 +451,7 @@ spv_result_t Parser::parseOperand(spv_parsed_instruction_t* inst,
|
|||||||
|
|
||||||
case SPV_OPERAND_TYPE_TYPED_LITERAL_NUMBER:
|
case SPV_OPERAND_TYPE_TYPED_LITERAL_NUMBER:
|
||||||
case SPV_OPERAND_TYPE_OPTIONAL_TYPED_LITERAL_INTEGER:
|
case SPV_OPERAND_TYPE_OPTIONAL_TYPED_LITERAL_INTEGER:
|
||||||
|
parsed_operand.type = SPV_OPERAND_TYPE_TYPED_LITERAL_NUMBER;
|
||||||
if (inst->opcode == SpvOpSwitch) {
|
if (inst->opcode == SpvOpSwitch) {
|
||||||
// The literal operands have the same type as the value
|
// The literal operands have the same type as the value
|
||||||
// referenced by the selector Id.
|
// referenced by the selector Id.
|
||||||
|
@ -497,4 +497,14 @@ TEST_F(MaskSorting, MasksAreSortedFromLSBToMSB) {
|
|||||||
" %5 %6 %7 %8 %9 %10 %11 %12 %13\n"));
|
" %5 %6 %7 %8 %9 %10 %11 %12 %13\n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
using OperandTypeTest = spvtest::TextToBinaryTest;
|
||||||
|
|
||||||
|
TEST_F(OperandTypeTest, OptionalTypedLiteralNumber) {
|
||||||
|
const std::string input =
|
||||||
|
"%1 = OpTypeInt 32 0\n"
|
||||||
|
"%2 = OpConstant %1 42\n"
|
||||||
|
"OpSwitch %2 %3 100 %4\n";
|
||||||
|
EXPECT_EQ(input, EncodeAndDecodeSuccessfully(input));
|
||||||
|
}
|
||||||
|
|
||||||
} // anonymous namespace
|
} // anonymous namespace
|
||||||
|
Loading…
Reference in New Issue
Block a user