   , int img_dim
   ) {
   for(int bl = 0; bl < baselines; bl++) {
-    if (use_permutations) bl = permutations[bl].bl;
+    // Always use (sorted) permutations vector
+    bl = permutations[bl].bl;
     int gcf_dim = get_supp(permutations[bl].wp);
     // No mirrored GCF yet
     if (gcf_dim <= 16) {

  }
};

// All pointers are *device* pointers,
//   all buffer are already allocated on device,
//   necessary data are marshalled.
template <
    int max_gcf_dim
  , int over
  , bool use_permutations
  >
void degridGPU(
    double wstep


// Test instantiation
template <>
void degridGPU<512, 8>(
    double wstep
  , const BlWMap permutations[/* baselines */]
  , complexd* out_vis
