This function is only called for OpLoad, OpStore, OpCopyMemory, OpCopyMemorySized, OpCooperativeMatrixLoadNV, OpCooperativeMatrixStoreNV, OpCooperativeVectorLoadNV, OpCooperativeVectorStoreNV.
| 267 | // OpCooperativeMatrixStoreNV, OpCooperativeVectorLoadNV, |
| 268 | // OpCooperativeVectorStoreNV. |
| 269 | uint32_t GetMakeVisibleScope(const Instruction* inst, uint32_t mask, |
| 270 | uint32_t mask_index) { |
| 271 | assert(mask & uint32_t(spv::MemoryAccessMask::MakePointerVisibleKHR)); |
| 272 | uint32_t this_bit = uint32_t(spv::MemoryAccessMask::MakePointerVisibleKHR); |
| 273 | uint32_t index = |
| 274 | mask_index - 1 + MemoryAccessNumWords(mask & (this_bit | (this_bit - 1))); |
| 275 | return inst->GetOperandAs<uint32_t>(index); |
| 276 | } |
| 277 | |
| 278 | bool DoesStructContainRTA(const ValidationState_t& _, const Instruction* inst) { |
| 279 | for (size_t member_index = 1; member_index < inst->operands().size(); |
no test coverage detected