@@ -61,9 +61,9 @@ SYCL_EXTERNAL void MatrixMultiply(multi_ptr<const float, access::address_space::
6161}
6262
6363//  Processes an individual 8x8 subset of image data
64- SYCL_EXTERNAL void  ProcessBlock (multi_ptr<const  rgb, access::address_space::global_space, ( sycl::access::decorated)2 > indataset, rgb* outdataset,
65-                                 multi_ptr<const  float, access::address_space::global_space, ( sycl::access::decorated)2 > dct,
66-                                 multi_ptr<const  float, access::address_space::global_space, ( sycl::access::decorated)2 > dctinv,
64+ SYCL_EXTERNAL void  ProcessBlock (multi_ptr<const  rgb, access::address_space::global_space, sycl::access::decorated::no > indataset, rgb* outdataset,
65+                                 multi_ptr<const  float , access::address_space::global_space, sycl::access::decorated::no > dct,
66+                                 multi_ptr<const  float , access::address_space::global_space, sycl::access::decorated::no > dctinv,
6767                                int  start_index, int  width) {
6868  float  interim[block_size], product[block_size], red_input[block_size],
6969      blue_input[block_size], green_input[block_size], temp[block_size];
@@ -225,7 +225,6 @@ void ProcessImage(rgb* indataset, rgb* outdataset, int width, int height) {
225225    buffer outdata_buf (outdataset, range<1 >(image_size));
226226    buffer dct_buf (dct, range<1 >(block_size));
227227    buffer dctinv_buf (dctinv, range<1 >(block_size));
228- 
229228    q.submit ([&](handler& h) {
230229      auto  i_acc = indata_buf.get_access (h,read_only);
231230      auto  o_acc = outdata_buf.get_access (h);
@@ -236,12 +235,12 @@ void ProcessImage(rgb* indataset, rgb* outdataset, int width, int height) {
236235      h.parallel_for (
237236          range<2 >(width / block_dims, height / block_dims), [=](auto  idx) {
238237            int  start_index = idx[0 ] * block_dims + idx[1 ] * block_dims * width;
239-             ProcessBlock (i_acc.get_pointer (), o_acc.get_pointer (),
240-                          d_acc.get_pointer (), di_acc.get_pointer (), start_index,
238+             ProcessBlock (i_acc.get_multi_ptr <sycl::access::decorated::no> (), o_acc.get_multi_ptr <sycl::access::decorated::no>(). get (),
239+                          d_acc.get_multi_ptr <sycl::access::decorated::no> (), di_acc.get_multi_ptr <sycl::access::decorated::no> (), start_index,
241240                         width);
242241          });
243242    });
244-     q.wait_and_throw ();
243+     // q.wait_and_throw();
245244  } catch  (sycl::exception e) {
246245    std::cout << " SYCL exception caught: "   << e.what () << " \n "  ;
247246    exit (1 );
0 commit comments