@@ -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