• Home
  • Raw
  • Download

Lines Matching refs:accessChain

2513     accessChain.base = NoResult;  in clearAccessChain()
2514 accessChain.indexChain.clear(); in clearAccessChain()
2515 accessChain.instr = NoResult; in clearAccessChain()
2516 accessChain.swizzle.clear(); in clearAccessChain()
2517 accessChain.component = NoResult; in clearAccessChain()
2518 accessChain.preSwizzleBaseType = NoType; in clearAccessChain()
2519 accessChain.isRValue = false; in clearAccessChain()
2520 accessChain.coherentFlags.clear(); in clearAccessChain()
2521 accessChain.alignment = 0; in clearAccessChain()
2527 accessChain.coherentFlags |= coherentFlags; in accessChainPushSwizzle()
2528 accessChain.alignment |= alignment; in accessChainPushSwizzle()
2532 if (accessChain.preSwizzleBaseType == NoType) in accessChainPushSwizzle()
2533 accessChain.preSwizzleBaseType = preSwizzleBaseType; in accessChainPushSwizzle()
2536 if (accessChain.swizzle.size() > 0) { in accessChainPushSwizzle()
2537 std::vector<unsigned> oldSwizzle = accessChain.swizzle; in accessChainPushSwizzle()
2538 accessChain.swizzle.resize(0); in accessChainPushSwizzle()
2541 accessChain.swizzle.push_back(oldSwizzle[swizzle[i]]); in accessChainPushSwizzle()
2544 accessChain.swizzle = swizzle; in accessChainPushSwizzle()
2553 assert(accessChain.isRValue == false); in accessChainStore()
2560 assert(accessChain.component == NoResult); in accessChainStore()
2564 if (accessChain.swizzle.size() > 0) { in accessChainStore()
2566 … source = createLvalueSwizzle(getTypeId(tempBaseId), tempBaseId, source, accessChain.swizzle); in accessChainStore()
2583 if (accessChain.isRValue) { in accessChainLoad()
2586 if (accessChain.indexChain.size() > 0) { in accessChainLoad()
2587 …Id swizzleBase = accessChain.preSwizzleBaseType != NoType ? accessChain.preSwizzleBaseType : resul… in accessChainLoad()
2592 for (int i = 0; i < (int)accessChain.indexChain.size(); ++i) { in accessChainLoad()
2593 if (isConstantScalar(accessChain.indexChain[i])) in accessChainLoad()
2594 indexes.push_back(getConstantScalar(accessChain.indexChain[i])); in accessChainLoad()
2602 id = createCompositeExtract(accessChain.base, swizzleBase, indexes); in accessChainLoad()
2605 … Id lValue = createVariable(StorageClassFunction, getTypeId(accessChain.base), "indexable"); in accessChainLoad()
2608 createStore(accessChain.base, lValue); in accessChainLoad()
2611 accessChain.base = lValue; in accessChainLoad()
2612 accessChain.isRValue = false; in accessChainLoad()
2619 id = accessChain.base; // no precision, it was set when this was defined in accessChainLoad()
2625 if (getStorageClass(accessChain.base) == StorageClassPhysicalStorageBufferEXT) { in accessChainLoad()
2636 if (accessChain.swizzle.size() == 0 && accessChain.component == NoResult) in accessChainLoad()
2642 if (accessChain.swizzle.size() > 0) { in accessChainLoad()
2644 if (accessChain.swizzle.size() > 1) in accessChainLoad()
2645 swizzledType = makeVectorType(swizzledType, (int)accessChain.swizzle.size()); in accessChainLoad()
2646 id = createRvalueSwizzle(precision, swizzledType, id, accessChain.swizzle); in accessChainLoad()
2650 if (accessChain.component != NoResult) in accessChainLoad()
2651 … id = setPrecision(createVectorExtractDynamic(id, resultType, accessChain.component), precision); in accessChainLoad()
2659 assert(accessChain.isRValue == false); in accessChainGetLValue()
2667 assert(accessChain.swizzle.size() == 0); in accessChainGetLValue()
2668 assert(accessChain.component == NoResult); in accessChainGetLValue()
2677 if (accessChain.base == NoResult) in accessChainGetInferredType()
2679 Id type = getTypeId(accessChain.base); in accessChainGetInferredType()
2682 if (! accessChain.isRValue) in accessChainGetInferredType()
2686 for (auto it = accessChain.indexChain.cbegin(); it != accessChain.indexChain.cend(); ++it) { in accessChainGetInferredType()
2694 if (accessChain.swizzle.size() == 1) in accessChainGetInferredType()
2696 else if (accessChain.swizzle.size() > 1) in accessChainGetInferredType()
2697 type = makeVectorType(getContainedTypeId(type), (int)accessChain.swizzle.size()); in accessChainGetInferredType()
2700 if (accessChain.component) in accessChainGetInferredType()
2770 assert(accessChain.isRValue == false); in collapseAccessChain()
2773 if (accessChain.instr != NoResult) in collapseAccessChain()
2774 return accessChain.instr; in collapseAccessChain()
2784 if (accessChain.component != NoResult) { in collapseAccessChain()
2786 accessChain.indexChain.push_back(accessChain.component); in collapseAccessChain()
2787 accessChain.component = NoResult; in collapseAccessChain()
2793 if (accessChain.indexChain.size() == 0) in collapseAccessChain()
2794 return accessChain.base; in collapseAccessChain()
2797 StorageClass storageClass = (StorageClass)module.getStorageClass(getTypeId(accessChain.base)); in collapseAccessChain()
2798 accessChain.instr = createAccessChain(storageClass, accessChain.base, accessChain.indexChain); in collapseAccessChain()
2800 return accessChain.instr; in collapseAccessChain()
2811 if (accessChain.component != NoResult && accessChain.swizzle.size() > 1) { in remapDynamicSwizzle()
2814 for (int c = 0; c < (int)accessChain.swizzle.size(); ++c) in remapDynamicSwizzle()
2815 components.push_back(makeUintConstant(accessChain.swizzle[c])); in remapDynamicSwizzle()
2816 Id mapType = makeVectorType(makeUintType(32), (int)accessChain.swizzle.size()); in remapDynamicSwizzle()
2820accessChain.component = createVectorExtractDynamic(map, makeUintType(32), accessChain.component); in remapDynamicSwizzle()
2821 accessChain.swizzle.clear(); in remapDynamicSwizzle()
2831 if (getNumTypeComponents(accessChain.preSwizzleBaseType) > (int)accessChain.swizzle.size()) in simplifyAccessChainSwizzle()
2835 for (unsigned int i = 0; i < accessChain.swizzle.size(); ++i) { in simplifyAccessChainSwizzle()
2836 if (i != accessChain.swizzle[i]) in simplifyAccessChainSwizzle()
2841 accessChain.swizzle.clear(); in simplifyAccessChainSwizzle()
2842 if (accessChain.component == NoResult) in simplifyAccessChainSwizzle()
2843 accessChain.preSwizzleBaseType = NoType; in simplifyAccessChainSwizzle()
2855 if (accessChain.swizzle.size() == 0 && accessChain.component == NoResult) in transferAccessChainSwizzle()
2860 if (accessChain.swizzle.size() > 1) in transferAccessChainSwizzle()
2864 if (accessChain.swizzle.size() == 1) { in transferAccessChainSwizzle()
2865 assert(accessChain.component == NoResult); in transferAccessChainSwizzle()
2867 accessChain.indexChain.push_back(makeUintConstant(accessChain.swizzle.front())); in transferAccessChainSwizzle()
2868 accessChain.swizzle.clear(); in transferAccessChainSwizzle()
2869 accessChain.preSwizzleBaseType = NoType; in transferAccessChainSwizzle()
2870 } else if (dynamic && accessChain.component != NoResult) { in transferAccessChainSwizzle()
2871 assert(accessChain.swizzle.size() == 0); in transferAccessChainSwizzle()
2873 accessChain.indexChain.push_back(accessChain.component); in transferAccessChainSwizzle()
2874 accessChain.preSwizzleBaseType = NoType; in transferAccessChainSwizzle()
2875 accessChain.component = NoResult; in transferAccessChainSwizzle()