@@ -458,9 +458,7 @@ class image_accessor
458
458
459
459
#ifdef __SYCL_DEVICE_ONLY__
460
460
461
- size_t get_count () const {
462
- return get_range<Dimensions>().size ();
463
- }
461
+ size_t get_count () const { return get_range<Dimensions>().size (); }
464
462
465
463
template <int Dims = Dimensions, typename = detail::enable_if_t <Dims == 1 >>
466
464
range<1 > get_range () const {
@@ -481,27 +479,11 @@ class image_accessor
481
479
#else
482
480
size_t get_count () const { return MImageCount; };
483
481
484
- template <int Dims = Dimensions, typename = detail::enable_if_t <Dims == 1 >>
485
- range<1 > get_range () const {
486
- range<1 > RetRange (0 );
487
- RetRange[0 ] = getAccessRange ()[0 ];
488
- return RetRange;
489
- }
490
- template <int Dims = Dimensions, typename = detail::enable_if_t <Dims == 2 >>
491
- range<2 > get_range () const {
492
- range<2 > RetRange (0 , 0 );
493
- RetRange[0 ] = getAccessRange ()[0 ];
494
- RetRange[1 ] = getAccessRange ()[1 ];
495
- return RetRange;
496
- }
497
- template <int Dims = Dimensions, typename = detail::enable_if_t <Dims == 3 >>
498
- range<3 > get_range () const {
499
- range<3 > RetRange (0 , 0 , 0 );
500
- RetRange[0 ] = getAccessRange ()[0 ];
501
- RetRange[1 ] = getAccessRange ()[1 ];
502
- RetRange[2 ] = getAccessRange ()[2 ];
503
- return RetRange;
482
+ template <int Dims = Dimensions, typename = detail::enable_if_t <(Dims > 0 )>>
483
+ range<Dims> get_range () const {
484
+ return detail::convertToArrayOfN<Dims, 1 >(getAccessRange ());
504
485
}
486
+
505
487
#endif
506
488
507
489
// Available only when:
@@ -648,15 +630,10 @@ class __image_array_slice__ {
648
630
return MBaseAcc.MImageCount / MBaseAcc.getAccessRange ()[Dimensions];
649
631
}
650
632
651
- template <int Dims = Dimensions, typename = detail::enable_if_t <Dims == 1 >>
652
- range<1 > get_range () const {
653
- return range<1 >(MBaseAcc.getAccessRange ()[0 ]);
654
- }
655
-
656
- template <int Dims = Dimensions, typename = detail::enable_if_t <Dims == 2 >>
657
- range<2 > get_range () const {
658
- range<3 > BaseAccessRange = MBaseAcc.getAccessRange ();
659
- return range<2 >(BaseAccessRange[0 ], BaseAccessRange[1 ]);
633
+ template <int Dims = Dimensions,
634
+ typename = detail::enable_if_t <(Dims == 1 || Dims == 2 )>>
635
+ range<Dims> get_range () const {
636
+ return detail::convertToArrayOfN<Dims, 1 >(MBaseAcc.getAccessRange ());
660
637
}
661
638
662
639
#endif
@@ -1130,8 +1107,8 @@ class accessor<DataT, Dimensions, AccessMode, access::target::local,
1130
1107
size_t get_count () const { return getSize ().size (); }
1131
1108
1132
1109
template <int Dims = Dimensions, typename = detail::enable_if_t <(Dims > 0 )>>
1133
- range<Dimensions > get_range () const {
1134
- return getSize ();
1110
+ range<Dims > get_range () const {
1111
+ return detail::convertToArrayOfN<Dims, 1 >( getSize () );
1135
1112
}
1136
1113
1137
1114
template <int Dims = Dimensions,
0 commit comments