• Home
  • Raw
  • Download

Lines Matching refs:accessChain

2749     accessChain.base = NoResult;  in clearAccessChain()
2750 accessChain.indexChain.clear(); in clearAccessChain()
2751 accessChain.instr = NoResult; in clearAccessChain()
2752 accessChain.swizzle.clear(); in clearAccessChain()
2753 accessChain.component = NoResult; in clearAccessChain()
2754 accessChain.preSwizzleBaseType = NoType; in clearAccessChain()
2755 accessChain.isRValue = false; in clearAccessChain()
2756 accessChain.coherentFlags.clear(); in clearAccessChain()
2757 accessChain.alignment = 0; in clearAccessChain()
2764 accessChain.coherentFlags |= coherentFlags; in accessChainPushSwizzle()
2765 accessChain.alignment |= alignment; in accessChainPushSwizzle()
2769 if (accessChain.preSwizzleBaseType == NoType) in accessChainPushSwizzle()
2770 accessChain.preSwizzleBaseType = preSwizzleBaseType; in accessChainPushSwizzle()
2773 if (accessChain.swizzle.size() > 0) { in accessChainPushSwizzle()
2774 std::vector<unsigned> oldSwizzle = accessChain.swizzle; in accessChainPushSwizzle()
2775 accessChain.swizzle.resize(0); in accessChainPushSwizzle()
2778 accessChain.swizzle.push_back(oldSwizzle[swizzle[i]]); in accessChainPushSwizzle()
2781 accessChain.swizzle = swizzle; in accessChainPushSwizzle()
2790 assert(accessChain.isRValue == false); in accessChainStore()
2799 assert(accessChain.component == NoResult); in accessChainStore()
2803 if (accessChain.swizzle.size() > 0) { in accessChainStore()
2805 … source = createLvalueSwizzle(getTypeId(tempBaseId), tempBaseId, source, accessChain.swizzle); in accessChainStore()
2824 if (accessChain.isRValue) { in accessChainLoad()
2827 if (accessChain.indexChain.size() > 0) { in accessChainLoad()
2828 …Id swizzleBase = accessChain.preSwizzleBaseType != NoType ? accessChain.preSwizzleBaseType : resul… in accessChainLoad()
2833 for (int i = 0; i < (int)accessChain.indexChain.size(); ++i) { in accessChainLoad()
2834 if (isConstantScalar(accessChain.indexChain[i])) in accessChainLoad()
2835 indexes.push_back(getConstantScalar(accessChain.indexChain[i])); in accessChainLoad()
2843 id = createCompositeExtract(accessChain.base, swizzleBase, indexes); in accessChainLoad()
2847 if (spvVersion >= Spv_1_4 && isValidInitializer(accessChain.base)) { in accessChainLoad()
2851 … lValue = createVariable(NoPrecision, StorageClassFunction, getTypeId(accessChain.base), in accessChainLoad()
2852 "indexable", accessChain.base); in accessChainLoad()
2855 … lValue = createVariable(NoPrecision, StorageClassFunction, getTypeId(accessChain.base), in accessChainLoad()
2858 createStore(accessChain.base, lValue); in accessChainLoad()
2861 accessChain.base = lValue; in accessChainLoad()
2862 accessChain.isRValue = false; in accessChainLoad()
2868 id = accessChain.base; // no precision, it was set when this was defined in accessChainLoad()
2874 if (getStorageClass(accessChain.base) == StorageClassPhysicalStorageBufferEXT) { in accessChainLoad()
2890 if (accessChain.swizzle.size() == 0 && accessChain.component == NoResult) in accessChainLoad()
2896 if (accessChain.swizzle.size() > 0) { in accessChainLoad()
2898 if (accessChain.swizzle.size() > 1) in accessChainLoad()
2899 swizzledType = makeVectorType(swizzledType, (int)accessChain.swizzle.size()); in accessChainLoad()
2900 id = createRvalueSwizzle(precision, swizzledType, id, accessChain.swizzle); in accessChainLoad()
2904 if (accessChain.component != NoResult) in accessChainLoad()
2905 … id = setPrecision(createVectorExtractDynamic(id, resultType, accessChain.component), precision); in accessChainLoad()
2913 assert(accessChain.isRValue == false); in accessChainGetLValue()
2921 assert(accessChain.swizzle.size() == 0); in accessChainGetLValue()
2922 assert(accessChain.component == NoResult); in accessChainGetLValue()
2931 if (accessChain.base == NoResult) in accessChainGetInferredType()
2933 Id type = getTypeId(accessChain.base); in accessChainGetInferredType()
2936 if (! accessChain.isRValue) in accessChainGetInferredType()
2940 for (auto it = accessChain.indexChain.cbegin(); it != accessChain.indexChain.cend(); ++it) { in accessChainGetInferredType()
2948 if (accessChain.swizzle.size() == 1) in accessChainGetInferredType()
2950 else if (accessChain.swizzle.size() > 1) in accessChainGetInferredType()
2951 type = makeVectorType(getContainedTypeId(type), (int)accessChain.swizzle.size()); in accessChainGetInferredType()
2954 if (accessChain.component) in accessChainGetInferredType()
3024 assert(accessChain.isRValue == false); in collapseAccessChain()
3027 if (accessChain.instr != NoResult) in collapseAccessChain()
3028 return accessChain.instr; in collapseAccessChain()
3038 if (accessChain.component != NoResult) { in collapseAccessChain()
3040 accessChain.indexChain.push_back(accessChain.component); in collapseAccessChain()
3041 accessChain.component = NoResult; in collapseAccessChain()
3047 if (accessChain.indexChain.size() == 0) in collapseAccessChain()
3048 return accessChain.base; in collapseAccessChain()
3051 StorageClass storageClass = (StorageClass)module.getStorageClass(getTypeId(accessChain.base)); in collapseAccessChain()
3052 accessChain.instr = createAccessChain(storageClass, accessChain.base, accessChain.indexChain); in collapseAccessChain()
3054 return accessChain.instr; in collapseAccessChain()
3065 if (accessChain.component != NoResult && accessChain.swizzle.size() > 1) { in remapDynamicSwizzle()
3068 for (int c = 0; c < (int)accessChain.swizzle.size(); ++c) in remapDynamicSwizzle()
3069 components.push_back(makeUintConstant(accessChain.swizzle[c])); in remapDynamicSwizzle()
3070 Id mapType = makeVectorType(makeUintType(32), (int)accessChain.swizzle.size()); in remapDynamicSwizzle()
3074accessChain.component = createVectorExtractDynamic(map, makeUintType(32), accessChain.component); in remapDynamicSwizzle()
3075 accessChain.swizzle.clear(); in remapDynamicSwizzle()
3085 if (getNumTypeComponents(accessChain.preSwizzleBaseType) > (int)accessChain.swizzle.size()) in simplifyAccessChainSwizzle()
3089 for (unsigned int i = 0; i < accessChain.swizzle.size(); ++i) { in simplifyAccessChainSwizzle()
3090 if (i != accessChain.swizzle[i]) in simplifyAccessChainSwizzle()
3095 accessChain.swizzle.clear(); in simplifyAccessChainSwizzle()
3096 if (accessChain.component == NoResult) in simplifyAccessChainSwizzle()
3097 accessChain.preSwizzleBaseType = NoType; in simplifyAccessChainSwizzle()
3109 if (accessChain.swizzle.size() == 0 && accessChain.component == NoResult) in transferAccessChainSwizzle()
3114 if (accessChain.swizzle.size() > 1) in transferAccessChainSwizzle()
3118 if (accessChain.swizzle.size() == 1) { in transferAccessChainSwizzle()
3119 assert(accessChain.component == NoResult); in transferAccessChainSwizzle()
3121 accessChain.indexChain.push_back(makeUintConstant(accessChain.swizzle.front())); in transferAccessChainSwizzle()
3122 accessChain.swizzle.clear(); in transferAccessChainSwizzle()
3123 accessChain.preSwizzleBaseType = NoType; in transferAccessChainSwizzle()
3124 } else if (dynamic && accessChain.component != NoResult) { in transferAccessChainSwizzle()
3125 assert(accessChain.swizzle.size() == 0); in transferAccessChainSwizzle()
3127 accessChain.indexChain.push_back(accessChain.component); in transferAccessChainSwizzle()
3128 accessChain.preSwizzleBaseType = NoType; in transferAccessChainSwizzle()
3129 accessChain.component = NoResult; in transferAccessChainSwizzle()