Skip to content

Commit b3777a0

Browse files
committed
GPU: Workaround for OpenCL bug, cannot read from __constant constexpr variables using constexpr function
1 parent 60982b0 commit b3777a0

3 files changed

Lines changed: 4 additions & 4 deletions

File tree

DataFormats/Detectors/Common/include/DetectorsCommonDataFormats/DetID.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ GPUconstexpr() DetID::mask_t sMasks[DetID::nDetectors] = ///< detectot masks
186186
};
187187
} // namespace detid_internal
188188

189-
GPUdi() constexpr DetID::mask_t DetID::getMask(ID id) { return detid_internal::sMasks[id]; }
189+
GPUdi() constexpr DetID::mask_t DetID::getMask(ID id) { return detid_internal::sMasks[id].v; }
190190

191191
} // namespace detectors
192192
} // namespace o2

DataFormats/Reconstruction/include/ReconstructionDataFormats/GlobalTrackID.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,8 @@ GPUconstexpr() GlobalTrackID::mask_t sMasks[GlobalTrackID::NSources] = ///< dete
138138
GlobalTrackID::mask_t(math_utils::bit2Mask(GlobalTrackID::ITSTPCTOF)), GlobalTrackID::mask_t(math_utils::bit2Mask(GlobalTrackID::TPCTRDTOF)), GlobalTrackID::mask_t(math_utils::bit2Mask(GlobalTrackID::ITSTPCTRDTOF))};
139139
} // namespace globaltrackid_internal
140140

141-
GPUdi() constexpr GlobalTrackID::DetID::mask_t GlobalTrackID::getSourceDetectorsMask(int i) { return globaltrackid_internal::SourceDetectorsMasks[i]; }
142-
GPUdi() constexpr GlobalTrackID::mask_t GlobalTrackID::getSourceMask(int s) { return globaltrackid_internal::sMasks[s]; }
141+
GPUdi() constexpr GlobalTrackID::DetID::mask_t GlobalTrackID::getSourceDetectorsMask(int i) { return globaltrackid_internal::SourceDetectorsMasks[i].v; }
142+
GPUdi() constexpr GlobalTrackID::mask_t GlobalTrackID::getSourceMask(int s) { return globaltrackid_internal::sMasks[s].v; }
143143

144144
GPUdi() bool GlobalTrackID::includesDet(DetID id, GlobalTrackID::mask_t srcm)
145145
{

GPU/Utils/GPUCommonBitSet.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ class bitset
7979
std::string to_string() const;
8080
#endif
8181

82-
private:
82+
//private: // Workaround for OpenCL
8383
unsigned int v = 0;
8484

8585
ClassDefNV(bitset, 1);

0 commit comments

Comments
 (0)