• Home
  • Raw
  • Download

Lines Matching refs:inst

36                                        const Instruction* inst,  in GetExtractInsertValueType()  argument
38 const SpvOp opcode = inst->opcode(); in GetExtractInsertValueType()
41 const uint32_t num_words = static_cast<uint32_t>(inst->words().size()); in GetExtractInsertValueType()
47 return _.diag(SPV_ERROR_INVALID_DATA, inst) in GetExtractInsertValueType()
49 << spvOpcodeString(inst->opcode()) << ", zero found"; in GetExtractInsertValueType()
52 return _.diag(SPV_ERROR_INVALID_DATA, inst) in GetExtractInsertValueType()
58 *member_type = _.GetTypeId(inst->word(composite_id_index)); in GetExtractInsertValueType()
60 return _.diag(SPV_ERROR_INVALID_DATA, inst) in GetExtractInsertValueType()
65 const uint32_t component_index = inst->word(word_index); in GetExtractInsertValueType()
73 return _.diag(SPV_ERROR_INVALID_DATA, inst) in GetExtractInsertValueType()
83 return _.diag(SPV_ERROR_INVALID_DATA, inst) in GetExtractInsertValueType()
102 return _.diag(SPV_ERROR_INVALID_DATA, inst) in GetExtractInsertValueType()
116 return _.diag(SPV_ERROR_INVALID_DATA, inst) in GetExtractInsertValueType()
131 return _.diag(SPV_ERROR_INVALID_DATA, inst) in GetExtractInsertValueType()
141 const Instruction* inst) { in ValidateVectorExtractDynamic() argument
142 const uint32_t result_type = inst->type_id(); in ValidateVectorExtractDynamic()
145 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateVectorExtractDynamic()
149 const uint32_t vector_type = _.GetOperandTypeId(inst, 2); in ValidateVectorExtractDynamic()
152 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateVectorExtractDynamic()
157 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateVectorExtractDynamic()
161 const auto index = _.FindDef(inst->GetOperandAs<uint32_t>(3)); in ValidateVectorExtractDynamic()
163 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateVectorExtractDynamic()
168 _.ContainsLimitedUseIntOrFloatType(inst->type_id())) { in ValidateVectorExtractDynamic()
169 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateVectorExtractDynamic()
176 const Instruction* inst) { in ValidateVectorInsertDyanmic() argument
177 const uint32_t result_type = inst->type_id(); in ValidateVectorInsertDyanmic()
180 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateVectorInsertDyanmic()
184 const uint32_t vector_type = _.GetOperandTypeId(inst, 2); in ValidateVectorInsertDyanmic()
186 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateVectorInsertDyanmic()
190 const uint32_t component_type = _.GetOperandTypeId(inst, 3); in ValidateVectorInsertDyanmic()
192 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateVectorInsertDyanmic()
197 const uint32_t index_type = _.GetOperandTypeId(inst, 4); in ValidateVectorInsertDyanmic()
199 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateVectorInsertDyanmic()
204 _.ContainsLimitedUseIntOrFloatType(inst->type_id())) { in ValidateVectorInsertDyanmic()
205 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateVectorInsertDyanmic()
212 const Instruction* inst) { in ValidateCompositeConstruct() argument
213 const uint32_t num_operands = static_cast<uint32_t>(inst->operands().size()); in ValidateCompositeConstruct()
214 const uint32_t result_type = inst->type_id(); in ValidateCompositeConstruct()
223 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateCompositeConstruct()
229 const uint32_t operand_type = _.GetOperandTypeId(inst, operand_index); in ValidateCompositeConstruct()
235 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateCompositeConstruct()
245 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateCompositeConstruct()
263 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateCompositeConstruct()
270 const uint32_t operand_type = _.GetOperandTypeId(inst, operand_index); in ValidateCompositeConstruct()
272 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateCompositeConstruct()
297 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateCompositeConstruct()
305 const uint32_t operand_type = _.GetOperandTypeId(inst, operand_index); in ValidateCompositeConstruct()
307 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateCompositeConstruct()
321 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateCompositeConstruct()
328 const uint32_t operand_type = _.GetOperandTypeId(inst, operand_index); in ValidateCompositeConstruct()
331 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateCompositeConstruct()
346 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateCompositeConstruct()
350 const uint32_t operand_type_id = _.GetOperandTypeId(inst, 2); in ValidateCompositeConstruct()
353 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateCompositeConstruct()
360 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateCompositeConstruct()
366 _.ContainsLimitedUseIntOrFloatType(inst->type_id())) { in ValidateCompositeConstruct()
367 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateCompositeConstruct()
374 const Instruction* inst) { in ValidateCompositeExtract() argument
376 if (spv_result_t error = GetExtractInsertValueType(_, inst, &member_type)) { in ValidateCompositeExtract()
380 const uint32_t result_type = inst->type_id(); in ValidateCompositeExtract()
382 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateCompositeExtract()
390 _.ContainsLimitedUseIntOrFloatType(inst->type_id())) { in ValidateCompositeExtract()
391 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateCompositeExtract()
399 const Instruction* inst) { in ValidateCompositeInsert() argument
400 const uint32_t object_type = _.GetOperandTypeId(inst, 2); in ValidateCompositeInsert()
401 const uint32_t composite_type = _.GetOperandTypeId(inst, 3); in ValidateCompositeInsert()
402 const uint32_t result_type = inst->type_id(); in ValidateCompositeInsert()
404 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateCompositeInsert()
406 << spvOpcodeString(inst->opcode()) << " yielding Result Id " in ValidateCompositeInsert()
411 if (spv_result_t error = GetExtractInsertValueType(_, inst, &member_type)) { in ValidateCompositeInsert()
416 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateCompositeInsert()
425 _.ContainsLimitedUseIntOrFloatType(inst->type_id())) { in ValidateCompositeInsert()
426 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateCompositeInsert()
433 spv_result_t ValidateCopyObject(ValidationState_t& _, const Instruction* inst) { in ValidateCopyObject() argument
434 const uint32_t result_type = inst->type_id(); in ValidateCopyObject()
435 const uint32_t operand_type = _.GetOperandTypeId(inst, 2); in ValidateCopyObject()
437 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateCopyObject()
441 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateCopyObject()
447 spv_result_t ValidateTranspose(ValidationState_t& _, const Instruction* inst) { in ValidateTranspose() argument
452 const uint32_t result_type = inst->type_id(); in ValidateTranspose()
455 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateTranspose()
459 const uint32_t matrix_type = _.GetOperandTypeId(inst, 2); in ValidateTranspose()
466 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateTranspose()
471 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateTranspose()
478 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateTranspose()
484 _.ContainsLimitedUseIntOrFloatType(inst->type_id())) { in ValidateTranspose()
485 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateTranspose()
492 const Instruction* inst) { in ValidateVectorShuffle() argument
493 auto resultType = _.FindDef(inst->type_id()); in ValidateVectorShuffle()
495 return _.diag(SPV_ERROR_INVALID_ID, inst) in ValidateVectorShuffle()
503 auto componentCount = inst->operands().size() - 4; in ValidateVectorShuffle()
506 return _.diag(SPV_ERROR_INVALID_ID, inst) in ValidateVectorShuffle()
514 auto vector1Object = _.FindDef(inst->GetOperandAs<uint32_t>(2)); in ValidateVectorShuffle()
516 auto vector2Object = _.FindDef(inst->GetOperandAs<uint32_t>(3)); in ValidateVectorShuffle()
519 return _.diag(SPV_ERROR_INVALID_ID, inst) in ValidateVectorShuffle()
523 return _.diag(SPV_ERROR_INVALID_ID, inst) in ValidateVectorShuffle()
529 return _.diag(SPV_ERROR_INVALID_ID, inst) in ValidateVectorShuffle()
533 return _.diag(SPV_ERROR_INVALID_ID, inst) in ValidateVectorShuffle()
542 for (size_t i = firstLiteralIndex; i < inst->operands().size(); ++i) { in ValidateVectorShuffle()
543 auto literal = inst->GetOperandAs<uint32_t>(i); in ValidateVectorShuffle()
545 return _.diag(SPV_ERROR_INVALID_ID, inst) in ValidateVectorShuffle()
552 _.ContainsLimitedUseIntOrFloatType(inst->type_id())) { in ValidateVectorShuffle()
553 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateVectorShuffle()
561 const Instruction* inst) { in ValidateCopyLogical() argument
562 const auto result_type = _.FindDef(inst->type_id()); in ValidateCopyLogical()
563 const auto source = _.FindDef(inst->GetOperandAs<uint32_t>(2u)); in ValidateCopyLogical()
566 return _.diag(SPV_ERROR_INVALID_ID, inst) in ValidateCopyLogical()
571 return _.diag(SPV_ERROR_INVALID_ID, inst) in ValidateCopyLogical()
576 _.ContainsLimitedUseIntOrFloatType(inst->type_id())) { in ValidateCopyLogical()
577 return _.diag(SPV_ERROR_INVALID_DATA, inst) in ValidateCopyLogical()
587 spv_result_t CompositesPass(ValidationState_t& _, const Instruction* inst) { in CompositesPass() argument
588 switch (inst->opcode()) { in CompositesPass()
590 return ValidateVectorExtractDynamic(_, inst); in CompositesPass()
592 return ValidateVectorInsertDyanmic(_, inst); in CompositesPass()
594 return ValidateVectorShuffle(_, inst); in CompositesPass()
596 return ValidateCompositeConstruct(_, inst); in CompositesPass()
598 return ValidateCompositeExtract(_, inst); in CompositesPass()
600 return ValidateCompositeInsert(_, inst); in CompositesPass()
602 return ValidateCopyObject(_, inst); in CompositesPass()
604 return ValidateTranspose(_, inst); in CompositesPass()
606 return ValidateCopyLogical(_, inst); in CompositesPass()