@@ -1727,5 +1727,31 @@ TEST_F(TextToBinaryTest, ConstantDataNonUTF) {
17271727 spvContextDestroy (context);
17281728}
17291729
1730+ // SPV_QCOM_image_processing3
1731+ INSTANTIATE_TEST_SUITE_P (
1732+ SPV_QCOM_image_processing3, ExtensionRoundTripTest,
1733+ Combine (
1734+ Values (SPV_ENV_UNIVERSAL_1_4 , SPV_ENV_UNIVERSAL_1_6 , SPV_ENV_VULKAN_1_1 ,
1735+ SPV_ENV_VULKAN_1_4 ),
1736+ ValuesIn(std::vector<AssemblyCase>{
1737+ {" OpExtension \" SPV_QCOM_image_processing3\"\n " ,
1738+ MakeInstruction (spv::Op::OpExtension,
1739+ MakeVector (" SPV_QCOM_image_processing3" ))},
1740+ {" OpCapability ImageGatherLinearQCOM\n " ,
1741+ MakeInstruction (
1742+ spv::Op::OpCapability,
1743+ {(uint32_t )spv::Capability::ImageGatherLinearQCOM})},
1744+ {" OpCapability ImageGatherExtendedModesQCOM\n " ,
1745+ MakeInstruction (
1746+ spv::Op::OpCapability,
1747+ {(uint32_t )spv::Capability::ImageGatherExtendedModesQCOM})},
1748+ {" %2 = OpImageGatherQCOM %1 %3 %4 %5 %6\n " ,
1749+ MakeInstruction (spv::Op::OpImageGatherQCOM, {1 , 2 , 3 , 4 , 5 , 6 })},
1750+ // Prove that we parse image operands afterward
1751+ {" %2 = OpImageGatherQCOM %1 %3 %4 %5 %6 Lod %7\n " ,
1752+ MakeInstruction (spv::Op::OpImageGatherQCOM,
1753+ {1 , 2 , 3 , 4 , 5 , 6 , 2 , 7 })},
1754+ })));
1755+
17301756} // namespace
17311757} // namespace spvtools
0 commit comments