| 1073 | } |
| 1074 | |
| 1075 | spv_result_t ModeSettingPass(ValidationState_t& _, const Instruction* inst) { |
| 1076 | switch (inst->opcode()) { |
| 1077 | case spv::Op::OpEntryPoint: |
| 1078 | if (auto error = ValidateEntryPoint(_, inst)) return error; |
| 1079 | break; |
| 1080 | case spv::Op::OpExecutionMode: |
| 1081 | case spv::Op::OpExecutionModeId: |
| 1082 | if (auto error = ValidateExecutionMode(_, inst)) return error; |
| 1083 | break; |
| 1084 | case spv::Op::OpMemoryModel: |
| 1085 | if (auto error = ValidateMemoryModel(_, inst)) return error; |
| 1086 | break; |
| 1087 | case spv::Op::OpCapability: |
| 1088 | if (auto error = ValidateCapability(_, inst)) return error; |
| 1089 | break; |
| 1090 | default: |
| 1091 | break; |
| 1092 | } |
| 1093 | return SPV_SUCCESS; |
| 1094 | } |
| 1095 | |
| 1096 | spv_result_t ValidateDuplicateExecutionModes(ValidationState_t& _) { |
| 1097 | using PerEntryKey = std::tuple<spv::ExecutionMode, uint32_t>; |
no test coverage detected