Skip to content

Commit a080b8d

Browse files
committed
DataFormatsTRD: place the Tracklet64 bit masks in the constant address space
MSL requires every variable at program scope, class-scope statics included, to name an address space. GPUglobalconstexpr() expands to constexpr everywhere except Metal, so this is a no-op for host, CUDA, HIP, OpenCL and cling. These were missed by the earlier pass: the header they sit in only started being compiled once the errors ahead of it were gone.
1 parent 629e6da commit a080b8d

1 file changed

Lines changed: 20 additions & 20 deletions

File tree

  • DataFormats/Detectors/TRD/include/DataFormatsTRD

‎DataFormats/Detectors/TRD/include/DataFormatsTRD/Tracklet64.h‎

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -206,27 +206,27 @@ class Tracklet64
206206
#endif // GPUCA_GPUCODE_DEVICE
207207

208208
// bit masks for the above raw data;
209-
static constexpr uint64_t formatmask = 0xf000000000000000;
210-
static constexpr uint64_t hcidmask = 0x0ffe000000000000;
211-
static constexpr uint64_t padrowmask = 0x0001e00000000000;
212-
static constexpr uint64_t colmask = 0x0000180000000000;
213-
static constexpr uint64_t posmask = 0x000007ff00000000;
214-
static constexpr uint64_t slopemask = 0x00000000ff000000;
215-
static constexpr uint64_t Q2mask = 0x0000000000ff0000;
216-
static constexpr uint64_t Q1mask = 0x000000000000ff00;
217-
static constexpr uint64_t Q0mask = 0x00000000000000ff;
218-
static constexpr uint64_t PIDmask = 0x0000000000ffffff;
209+
static GPUglobalconstexpr() uint64_t formatmask = 0xf000000000000000;
210+
static GPUglobalconstexpr() uint64_t hcidmask = 0x0ffe000000000000;
211+
static GPUglobalconstexpr() uint64_t padrowmask = 0x0001e00000000000;
212+
static GPUglobalconstexpr() uint64_t colmask = 0x0000180000000000;
213+
static GPUglobalconstexpr() uint64_t posmask = 0x000007ff00000000;
214+
static GPUglobalconstexpr() uint64_t slopemask = 0x00000000ff000000;
215+
static GPUglobalconstexpr() uint64_t Q2mask = 0x0000000000ff0000;
216+
static GPUglobalconstexpr() uint64_t Q1mask = 0x000000000000ff00;
217+
static GPUglobalconstexpr() uint64_t Q0mask = 0x00000000000000ff;
218+
static GPUglobalconstexpr() uint64_t PIDmask = 0x0000000000ffffff;
219219
// bit shifts for the above raw data
220-
static constexpr uint64_t formatbs = 60;
221-
static constexpr uint64_t hcidbs = 49;
222-
static constexpr uint64_t padrowbs = 45;
223-
static constexpr uint64_t colbs = 43;
224-
static constexpr uint64_t posbs = 32;
225-
static constexpr uint64_t slopebs = 24;
226-
static constexpr uint64_t PIDbs = 0;
227-
static constexpr uint64_t Q2bs = 16;
228-
static constexpr uint64_t Q1bs = 8;
229-
static constexpr uint64_t Q0bs = 0;
220+
static GPUglobalconstexpr() uint64_t formatbs = 60;
221+
static GPUglobalconstexpr() uint64_t hcidbs = 49;
222+
static GPUglobalconstexpr() uint64_t padrowbs = 45;
223+
static GPUglobalconstexpr() uint64_t colbs = 43;
224+
static GPUglobalconstexpr() uint64_t posbs = 32;
225+
static GPUglobalconstexpr() uint64_t slopebs = 24;
226+
static GPUglobalconstexpr() uint64_t PIDbs = 0;
227+
static GPUglobalconstexpr() uint64_t Q2bs = 16;
228+
static GPUglobalconstexpr() uint64_t Q1bs = 8;
229+
static GPUglobalconstexpr() uint64_t Q0bs = 0;
230230

231231
protected:
232232
uint64_t mtrackletWord; // the 64 bit word holding all the tracklet information for run3.

0 commit comments

Comments
 (0)