| 1644 | } |
| 1645 | |
| 1646 | bool ValidationState_t::IsDescriptorHeapBaseVariable(const Instruction* inst) { |
| 1647 | if (!HasCapability(spv::Capability::DescriptorHeapEXT)) { |
| 1648 | return false; |
| 1649 | } |
| 1650 | const Instruction* base_inst = FindUntypedBaseVariable(inst); |
| 1651 | const bool is_heap_base = |
| 1652 | IsBuiltin(base_inst->id(), spv::BuiltIn::SamplerHeapEXT) || |
| 1653 | IsBuiltin(base_inst->id(), spv::BuiltIn::ResourceHeapEXT); |
| 1654 | |
| 1655 | return FindDef(base_inst->id())->opcode() == spv::Op::OpBufferPointerEXT || |
| 1656 | (FindDef(base_inst->id())->opcode() == spv::Op::OpUntypedVariableKHR && |
| 1657 | is_heap_base); |
| 1658 | } |
| 1659 | |
| 1660 | spv_result_t ValidationState_t::CooperativeMatrixShapesMatch( |
| 1661 | const Instruction* inst, uint32_t result_type_id, uint32_t m2, |
no test coverage detected