Lines Matching refs:inst
93 const Instruction* inst = _.FindDef(id); in GetImageTypeInfo() local
94 assert(inst); in GetImageTypeInfo()
96 if (inst->opcode() == SpvOpTypeSampledImage) { in GetImageTypeInfo()
97 inst = _.FindDef(inst->word(2)); in GetImageTypeInfo()
98 assert(inst); in GetImageTypeInfo()
101 if (inst->opcode() != SpvOpTypeImage) return false; in GetImageTypeInfo()
103 const size_t num_words = inst->words().size(); in GetImageTypeInfo()
106 info->sampled_type = inst->word(2); in GetImageTypeInfo()
107 info->dim = static_cast<SpvDim>(inst->word(3)); in GetImageTypeInfo()
108 info->depth = inst->word(4); in GetImageTypeInfo()
109 info->arrayed = inst->word(5); in GetImageTypeInfo()
110 info->multisampled = inst->word(6); in GetImageTypeInfo()
111 info->sampled = inst->word(7); in GetImageTypeInfo()
112 info->format = static_cast<SpvImageFormat>(inst->word(8)); in GetImageTypeInfo()
115 : static_cast<SpvAccessQualifier>(inst->word(9)); in GetImageTypeInfo()
238 const Instruction* inst, in ValidateImageOperands() argument
244 const SpvOp opcode = inst->opcode(); in ValidateImageOperands()
245 const size_t num_words = inst->words().size(); in ValidateImageOperands()
248 const uint32_t mask = have_explicit_mask ? inst->word(word_index - 1) : 0u; in ValidateImageOperands()
265 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
270 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
275 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
287 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
302 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
306 const uint32_t type_id = _.GetTypeId(inst->word(word_index++)); in ValidateImageOperands()
308 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
314 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
325 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
331 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
336 const uint32_t type_id = _.GetTypeId(inst->word(word_index++)); in ValidateImageOperands()
339 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
345 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
353 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
363 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
367 const uint32_t dx_type_id = _.GetTypeId(inst->word(word_index++)); in ValidateImageOperands()
368 const uint32_t dy_type_id = _.GetTypeId(inst->word(word_index++)); in ValidateImageOperands()
371 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
380 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
386 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
396 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
401 const uint32_t id = inst->word(word_index++); in ValidateImageOperands()
404 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
410 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
417 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
425 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
429 const uint32_t id = inst->word(word_index++); in ValidateImageOperands()
432 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
440 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
449 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
461 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
467 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
472 const uint32_t id = inst->word(word_index++); in ValidateImageOperands()
478 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
488 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
495 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
501 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
510 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
517 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
521 const uint32_t type_id = _.GetTypeId(inst->word(word_index++)); in ValidateImageOperands()
523 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
530 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
535 const uint32_t type_id = _.GetTypeId(inst->word(word_index++)); in ValidateImageOperands()
537 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
543 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
549 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
557 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
564 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
570 const auto available_scope = inst->word(word_index++); in ValidateImageOperands()
571 if (auto error = ValidateMemoryScope(_, inst, available_scope)) in ValidateImageOperands()
578 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
586 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageOperands()
592 const auto visible_scope = inst->word(word_index++); in ValidateImageOperands()
593 if (auto error = ValidateMemoryScope(_, inst, visible_scope)) return error; in ValidateImageOperands()
626 spv_result_t ValidateImageCommon(ValidationState_t& _, const Instruction* inst, in ValidateImageCommon() argument
628 const SpvOp opcode = inst->opcode(); in ValidateImageCommon()
632 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageCommon()
637 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageCommon()
642 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageCommon()
652 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageCommon()
656 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageCommon()
660 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageCommon()
664 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageCommon()
675 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageCommon()
681 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageCommon()
717 spv_result_t GetActualResultType(ValidationState_t& _, const Instruction* inst, in GetActualResultType() argument
719 const SpvOp opcode = inst->opcode(); in GetActualResultType()
722 const Instruction* const type_inst = _.FindDef(inst->type_id()); in GetActualResultType()
726 return _.diag(SPV_ERROR_INVALID_DATA, inst) in GetActualResultType()
732 return _.diag(SPV_ERROR_INVALID_DATA, inst) in GetActualResultType()
739 *actual_result_type = inst->type_id(); in GetActualResultType()
752 spv_result_t ValidateTypeImage(ValidationState_t& _, const Instruction* inst) { in ValidateTypeImage() argument
753 assert(inst->type_id() == 0); in ValidateTypeImage()
756 if (!GetImageTypeInfo(_, inst->word(1), &info)) { in ValidateTypeImage()
757 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateTypeImage()
764 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateTypeImage()
777 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateTypeImage()
784 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateTypeImage()
792 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateTypeImage()
801 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateTypeImage()
806 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateTypeImage()
813 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateTypeImage()
820 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateTypeImage()
826 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateTypeImage()
832 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateTypeImage()
838 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateTypeImage()
846 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateTypeImage()
853 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateTypeImage()
858 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateTypeImage()
867 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateTypeImage()
876 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateTypeImage()
886 const Instruction* inst) { in ValidateTypeSampledImage() argument
887 const uint32_t image_type = inst->word(2); in ValidateTypeSampledImage()
889 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateTypeSampledImage()
895 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateTypeSampledImage()
901 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateTypeSampledImage()
939 const Instruction* inst) { in ValidateSampledImage() argument
940 if (_.GetIdOpcode(inst->type_id()) != SpvOpTypeSampledImage) { in ValidateSampledImage()
941 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateSampledImage()
945 const uint32_t image_type = _.GetOperandTypeId(inst, 2); in ValidateSampledImage()
947 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateSampledImage()
953 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateSampledImage()
962 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateSampledImage()
968 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateSampledImage()
974 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateSampledImage()
978 if (_.GetIdOpcode(_.GetOperandTypeId(inst, 3)) != SpvOpTypeSampler) { in ValidateSampledImage()
979 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateSampledImage()
990 std::vector<Instruction*> consumers = _.getSampledImageConsumers(inst->id()); in ValidateSampledImage()
994 if (consumer_instr->block() != inst->block()) { in ValidateSampledImage()
995 return _.diag(SPV_ERROR_INVALID_ID, inst) in ValidateSampledImage()
1000 << _.getIdName(inst->id()) in ValidateSampledImage()
1007 return _.diag(SPV_ERROR_INVALID_ID, inst) in ValidateSampledImage()
1012 << " Found result <id> '" << _.getIdName(inst->id()) in ValidateSampledImage()
1018 return _.diag(SPV_ERROR_INVALID_ID, inst) in ValidateSampledImage()
1024 << " Found result <id> '" << _.getIdName(inst->id()) in ValidateSampledImage()
1034 const Instruction* inst) { in ValidateImageTexelPointer() argument
1035 const auto result_type = _.FindDef(inst->type_id()); in ValidateImageTexelPointer()
1037 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageTexelPointer()
1043 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageTexelPointer()
1052 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageTexelPointer()
1057 const auto image_ptr = _.FindDef(_.GetOperandTypeId(inst, 2)); in ValidateImageTexelPointer()
1059 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageTexelPointer()
1065 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageTexelPointer()
1071 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageTexelPointer()
1076 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageTexelPointer()
1082 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageTexelPointer()
1086 const uint32_t coord_type = _.GetOperandTypeId(inst, 3); in ValidateImageTexelPointer()
1088 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageTexelPointer()
1105 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageTexelPointer()
1114 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageTexelPointer()
1119 const uint32_t sample_type = _.GetOperandTypeId(inst, 4); in ValidateImageTexelPointer()
1121 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageTexelPointer()
1127 if (!_.GetConstantValUint64(inst->GetOperandAs<uint32_t>(4), &ms) || in ValidateImageTexelPointer()
1129 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageTexelPointer()
1141 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageTexelPointer()
1151 spv_result_t ValidateImageLod(ValidationState_t& _, const Instruction* inst) { in ValidateImageLod() argument
1152 const SpvOp opcode = inst->opcode(); in ValidateImageLod()
1154 if (spv_result_t error = GetActualResultType(_, inst, &actual_result_type)) { in ValidateImageLod()
1160 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageLod()
1166 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageLod()
1171 const uint32_t image_type = _.GetOperandTypeId(inst, 2); in ValidateImageLod()
1173 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageLod()
1179 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageLod()
1183 if (spv_result_t result = ValidateImageCommon(_, inst, info)) return result; in ValidateImageLod()
1189 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageLod()
1197 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageLod()
1203 const uint32_t coord_type = _.GetOperandTypeId(inst, 3); in ValidateImageLod()
1209 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageLod()
1214 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageLod()
1222 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageLod()
1227 const uint32_t mask = inst->words().size() <= 5 ? 0 : inst->word(5); in ValidateImageLod()
1232 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageLod()
1240 ValidateImageOperands(_, inst, info, /* word_index = */ 6)) in ValidateImageLod()
1247 const Instruction* inst) { in ValidateImageDrefLod() argument
1248 const SpvOp opcode = inst->opcode(); in ValidateImageDrefLod()
1250 if (spv_result_t error = GetActualResultType(_, inst, &actual_result_type)) { in ValidateImageDrefLod()
1256 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageDrefLod()
1261 const uint32_t image_type = _.GetOperandTypeId(inst, 2); in ValidateImageDrefLod()
1263 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageDrefLod()
1269 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageDrefLod()
1273 if (spv_result_t result = ValidateImageCommon(_, inst, info)) return result; in ValidateImageDrefLod()
1279 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageDrefLod()
1284 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageDrefLod()
1289 const uint32_t coord_type = _.GetOperandTypeId(inst, 3); in ValidateImageDrefLod()
1291 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageDrefLod()
1298 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageDrefLod()
1303 const uint32_t dref_type = _.GetOperandTypeId(inst, 4); in ValidateImageDrefLod()
1305 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageDrefLod()
1310 ValidateImageOperands(_, inst, info, /* word_index = */ 7)) in ValidateImageDrefLod()
1316 spv_result_t ValidateImageFetch(ValidationState_t& _, const Instruction* inst) { in ValidateImageFetch() argument
1318 if (spv_result_t error = GetActualResultType(_, inst, &actual_result_type)) { in ValidateImageFetch()
1322 const SpvOp opcode = inst->opcode(); in ValidateImageFetch()
1325 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageFetch()
1331 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageFetch()
1336 const uint32_t image_type = _.GetOperandTypeId(inst, 2); in ValidateImageFetch()
1338 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageFetch()
1344 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageFetch()
1352 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageFetch()
1359 return _.diag(SPV_ERROR_INVALID_DATA, inst) << "Image 'Dim' cannot be Cube"; in ValidateImageFetch()
1363 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageFetch()
1367 const uint32_t coord_type = _.GetOperandTypeId(inst, 3); in ValidateImageFetch()
1369 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageFetch()
1376 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageFetch()
1382 ValidateImageOperands(_, inst, info, /* word_index = */ 6)) in ValidateImageFetch()
1389 const Instruction* inst) { in ValidateImageGather() argument
1391 if (spv_result_t error = GetActualResultType(_, inst, &actual_result_type)) in ValidateImageGather()
1394 const SpvOp opcode = inst->opcode(); in ValidateImageGather()
1397 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageGather()
1403 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageGather()
1408 const uint32_t image_type = _.GetOperandTypeId(inst, 2); in ValidateImageGather()
1410 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageGather()
1416 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageGather()
1424 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageGather()
1433 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageGather()
1441 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageGather()
1445 const uint32_t coord_type = _.GetOperandTypeId(inst, 3); in ValidateImageGather()
1447 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageGather()
1454 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageGather()
1460 const uint32_t component = inst->GetOperandAs<uint32_t>(4); in ValidateImageGather()
1464 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageGather()
1469 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageGather()
1478 const uint32_t dref_type = _.GetOperandTypeId(inst, 4); in ValidateImageGather()
1480 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageGather()
1486 ValidateImageOperands(_, inst, info, /* word_index = */ 7)) in ValidateImageGather()
1492 spv_result_t ValidateImageRead(ValidationState_t& _, const Instruction* inst) { in ValidateImageRead() argument
1493 const SpvOp opcode = inst->opcode(); in ValidateImageRead()
1495 if (spv_result_t error = GetActualResultType(_, inst, &actual_result_type)) { in ValidateImageRead()
1501 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageRead()
1511 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageRead()
1517 const uint32_t image_type = _.GetOperandTypeId(inst, 2); in ValidateImageRead()
1519 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageRead()
1525 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageRead()
1539 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageRead()
1545 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageRead()
1554 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageRead()
1558 _.function(inst->function()->id()) in ValidateImageRead()
1569 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageRead()
1575 if (spv_result_t result = ValidateImageCommon(_, inst, info)) return result; in ValidateImageRead()
1577 const uint32_t coord_type = _.GetOperandTypeId(inst, 3); in ValidateImageRead()
1579 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageRead()
1586 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageRead()
1594 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageRead()
1600 const uint32_t mask = inst->words().size() <= 5 ? 0 : inst->word(5); in ValidateImageRead()
1604 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageRead()
1611 ValidateImageOperands(_, inst, info, /* word_index = */ 6)) in ValidateImageRead()
1617 spv_result_t ValidateImageWrite(ValidationState_t& _, const Instruction* inst) { in ValidateImageWrite() argument
1618 const uint32_t image_type = _.GetOperandTypeId(inst, 0); in ValidateImageWrite()
1620 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageWrite()
1626 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageWrite()
1631 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageWrite()
1635 if (spv_result_t result = ValidateImageCommon(_, inst, info)) return result; in ValidateImageWrite()
1637 const uint32_t coord_type = _.GetOperandTypeId(inst, 1); in ValidateImageWrite()
1639 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageWrite()
1643 const uint32_t min_coord_size = GetMinCoordSize(inst->opcode(), info); in ValidateImageWrite()
1646 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageWrite()
1653 const uint32_t texel_type = _.GetOperandTypeId(inst, 2); in ValidateImageWrite()
1656 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageWrite()
1663 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageWrite()
1671 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageWrite()
1680 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageWrite()
1687 if (inst->words().size() > 4) { in ValidateImageWrite()
1689 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageWrite()
1696 ValidateImageOperands(_, inst, info, /* word_index = */ 5)) in ValidateImageWrite()
1702 spv_result_t ValidateImage(ValidationState_t& _, const Instruction* inst) { in ValidateImage() argument
1703 const uint32_t result_type = inst->type_id(); in ValidateImage()
1705 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImage()
1709 const uint32_t sampled_image_type = _.GetOperandTypeId(inst, 2); in ValidateImage()
1714 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImage()
1719 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImage()
1727 const Instruction* inst) { in ValidateImageQuerySizeLod() argument
1728 const uint32_t result_type = inst->type_id(); in ValidateImageQuerySizeLod()
1730 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageQuerySizeLod()
1734 const uint32_t image_type = _.GetOperandTypeId(inst, 2); in ValidateImageQuerySizeLod()
1736 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageQuerySizeLod()
1742 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageQuerySizeLod()
1759 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageQuerySizeLod()
1764 return _.diag(SPV_ERROR_INVALID_DATA, inst) << "Image 'MS' must be 0"; in ValidateImageQuerySizeLod()
1770 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageQuerySizeLod()
1779 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageQuerySizeLod()
1784 const uint32_t lod_type = _.GetOperandTypeId(inst, 3); in ValidateImageQuerySizeLod()
1786 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageQuerySizeLod()
1793 const Instruction* inst) { in ValidateImageQuerySize() argument
1794 const uint32_t result_type = inst->type_id(); in ValidateImageQuerySize()
1796 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageQuerySize()
1800 const uint32_t image_type = _.GetOperandTypeId(inst, 2); in ValidateImageQuerySize()
1802 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageQuerySize()
1808 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageQuerySize()
1827 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageQuerySize()
1834 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageQuerySize()
1841 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageQuerySize()
1850 const Instruction* inst) { in ValidateImageQueryFormatOrOrder() argument
1851 if (!_.IsIntScalarType(inst->type_id())) { in ValidateImageQueryFormatOrOrder()
1852 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageQueryFormatOrOrder()
1856 if (_.GetIdOpcode(_.GetOperandTypeId(inst, 2)) != SpvOpTypeImage) { in ValidateImageQueryFormatOrOrder()
1857 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageQueryFormatOrOrder()
1864 const Instruction* inst) { in ValidateImageQueryLod() argument
1865 _.function(inst->function()->id()) in ValidateImageQueryLod()
1879 _.function(inst->function()->id()) in ValidateImageQueryLod()
1901 const uint32_t result_type = inst->type_id(); in ValidateImageQueryLod()
1903 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageQueryLod()
1908 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageQueryLod()
1912 const uint32_t image_type = _.GetOperandTypeId(inst, 2); in ValidateImageQueryLod()
1914 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageQueryLod()
1920 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageQueryLod()
1926 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageQueryLod()
1930 const uint32_t coord_type = _.GetOperandTypeId(inst, 3); in ValidateImageQueryLod()
1934 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageQueryLod()
1939 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageQueryLod()
1947 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageQueryLod()
1962 const Instruction* inst) { in ValidateImageSparseLod() argument
1963 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageSparseLod()
1969 const Instruction* inst) { in ValidateImageQueryLevelsOrSamples() argument
1970 if (!_.IsIntScalarType(inst->type_id())) { in ValidateImageQueryLevelsOrSamples()
1971 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageQueryLevelsOrSamples()
1975 const uint32_t image_type = _.GetOperandTypeId(inst, 2); in ValidateImageQueryLevelsOrSamples()
1977 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageQueryLevelsOrSamples()
1983 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageQueryLevelsOrSamples()
1987 const SpvOp opcode = inst->opcode(); in ValidateImageQueryLevelsOrSamples()
1991 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageQueryLevelsOrSamples()
1997 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageQueryLevelsOrSamples()
2006 return _.diag(SPV_ERROR_INVALID_DATA, inst) << "Image 'Dim' must be 2D"; in ValidateImageQueryLevelsOrSamples()
2010 return _.diag(SPV_ERROR_INVALID_DATA, inst) << "Image 'MS' must be 1"; in ValidateImageQueryLevelsOrSamples()
2017 const Instruction* inst) { in ValidateImageSparseTexelsResident() argument
2018 if (!_.IsBoolScalarType(inst->type_id())) { in ValidateImageSparseTexelsResident()
2019 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageSparseTexelsResident()
2023 const uint32_t resident_code_type = _.GetOperandTypeId(inst, 2); in ValidateImageSparseTexelsResident()
2025 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateImageSparseTexelsResident()
2035 spv_result_t ImagePass(ValidationState_t& _, const Instruction* inst) { in ImagePass() argument
2036 const SpvOp opcode = inst->opcode(); in ImagePass()
2038 _.function(inst->function()->id()) in ImagePass()
2054 _.function(inst->function()->id()) in ImagePass()
2081 return ValidateTypeImage(_, inst); in ImagePass()
2083 return ValidateTypeSampledImage(_, inst); in ImagePass()
2085 return ValidateSampledImage(_, inst); in ImagePass()
2087 return ValidateImageTexelPointer(_, inst); in ImagePass()
2095 return ValidateImageLod(_, inst); in ImagePass()
2103 return ValidateImageDrefLod(_, inst); in ImagePass()
2107 return ValidateImageFetch(_, inst); in ImagePass()
2113 return ValidateImageGather(_, inst); in ImagePass()
2117 return ValidateImageRead(_, inst); in ImagePass()
2120 return ValidateImageWrite(_, inst); in ImagePass()
2123 return ValidateImage(_, inst); in ImagePass()
2127 return ValidateImageQueryFormatOrOrder(_, inst); in ImagePass()
2130 return ValidateImageQuerySizeLod(_, inst); in ImagePass()
2132 return ValidateImageQuerySize(_, inst); in ImagePass()
2134 return ValidateImageQueryLod(_, inst); in ImagePass()
2138 return ValidateImageQueryLevelsOrSamples(_, inst); in ImagePass()
2144 return ValidateImageSparseLod(_, inst); in ImagePass()
2147 return ValidateImageSparseTexelsResident(_, inst); in ImagePass()