| 2033 | } |
| 2034 | |
| 2035 | const Instruction* ValidationState_t::TracePointer( |
| 2036 | const Instruction* inst) const { |
| 2037 | auto base_ptr = inst; |
| 2038 | while (base_ptr->opcode() == spv::Op::OpAccessChain || |
| 2039 | base_ptr->opcode() == spv::Op::OpInBoundsAccessChain || |
| 2040 | base_ptr->opcode() == spv::Op::OpPtrAccessChain || |
| 2041 | base_ptr->opcode() == spv::Op::OpInBoundsPtrAccessChain || |
| 2042 | base_ptr->opcode() == spv::Op::OpCopyObject) { |
| 2043 | base_ptr = FindDef(base_ptr->GetOperandAs<uint32_t>(2u)); |
| 2044 | } |
| 2045 | return base_ptr; |
| 2046 | } |
| 2047 | |
| 2048 | bool ValidationState_t::ContainsType( |
| 2049 | uint32_t id, const std::function<bool(const Instruction*)>& f, |