Lines Matching defs:component
412 Id Builder::makeVectorType(Id component, int size)
418 if (type->getIdOperand(0) == component &&
425 type->addIdOperand(component);
433 auto const debugResultId = makeVectorDebugType(component, size);
440 Id Builder::makeMatrixType(Id component, int cols, int rows)
444 Id column = makeVectorType(component, rows);
472 Id Builder::makeCooperativeMatrixTypeKHR(Id component, Id scope, Id rows, Id cols, Id use)
478 if (type->getIdOperand(0) == component &&
488 type->addIdOperand(component);
500 Id Builder::makeCooperativeMatrixTypeNV(Id component, Id scope, Id rows, Id cols)
506 if (type->getIdOperand(0) == component && type->getIdOperand(1) == scope && type->getIdOperand(2) == rows &&
513 type->addIdOperand(component);
524 Id Builder::makeCooperativeMatrixTypeWithSameShape(Id component, Id otherType)
528 return makeCooperativeMatrixTypeNV(component, instr->getIdOperand(1), instr->getIdOperand(2), instr->getIdOperand(3));
531 return makeCooperativeMatrixTypeKHR(component, instr->getIdOperand(1), instr->getIdOperand(2), instr->getIdOperand(3), instr->getIdOperand(4));
955 type->addIdOperand(componentCount); // component count
990 type->addIdOperand(makeUintConstant(vectorCount)); // component count id
2589 Id Builder::createVectorInsertDynamic(Id vector, Id typeId, Id component, Id componentIndex)
2593 insert->addIdOperand(component);
2896 if (parameters.component != NoResult)
2897 texArgs.push_back(parameters.component);
3272 // lambda to store the result of visiting an argument component
3636 accessChain.component = NoResult;
3680 accessChain.component == NoResult) {
3691 // dynamic component should be gone
3692 assert(accessChain.component == NoResult);
3711 // dynamic component should be gone
3712 assert(accessChain.component == NoResult);
3804 if (accessChain.swizzle.size() == 0 && accessChain.component == NoResult)
3817 // Do the dynamic component
3818 if (accessChain.component != NoResult)
3819 id = setPrecision(createVectorExtractDynamic(id, resultType, accessChain.component), precision);
3836 assert(accessChain.component == NoResult);
3867 // dereference component selection
3868 if (accessChain.component)
3944 // If we have a dynamic component, we can still transfer
3946 // dynamic component through the swizzle to get a new dynamic component to
3952 if (accessChain.component != NoResult) {
3953 // transfer the dynamic component to the access chain
3954 accessChain.indexChain.push_back(accessChain.component);
3955 accessChain.component = NoResult;
3971 // For a dynamic component selection of a swizzle.
3973 // Turn the swizzle and dynamic component into just a dynamic component.
3978 // do we have a swizzle to remap a dynamic component through?
3979 if (accessChain.component != NoResult && accessChain.swizzle.size() > 1) {
3980 // build a vector of the swizzle for the component to map into
3988 accessChain.component = createVectorExtractDynamic(map, makeUintType(32), accessChain.component);
4010 if (accessChain.component == NoResult)
4016 // If 'dynamic' is true, include transferring the dynamic component,
4023 if (accessChain.swizzle.size() == 0 && accessChain.component == NoResult)
4027 // (this requires either a swizzle, or generating code for a dynamic component)
4031 // single component, either in the swizzle and/or dynamic component
4033 assert(accessChain.component == NoResult);
4034 // handle static component selection
4038 } else if (dynamic && accessChain.component != NoResult) {
4040 // handle dynamic component
4041 accessChain.indexChain.push_back(accessChain.component);
4043 accessChain.component = NoResult;