@@ -61,9 +61,9 @@ SYCL_EXTERNAL void MatrixMultiply(multi_ptr<const float, access::address_space::
61
61
}
62
62
63
63
// 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,
67
67
int start_index, int width) {
68
68
float interim[block_size], product[block_size], red_input[block_size],
69
69
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) {
225
225
buffer outdata_buf (outdataset, range<1 >(image_size));
226
226
buffer dct_buf (dct, range<1 >(block_size));
227
227
buffer dctinv_buf (dctinv, range<1 >(block_size));
228
-
229
228
q.submit ([&](handler& h) {
230
229
auto i_acc = indata_buf.get_access (h,read_only);
231
230
auto o_acc = outdata_buf.get_access (h);
@@ -236,12 +235,12 @@ void ProcessImage(rgb* indataset, rgb* outdataset, int width, int height) {
236
235
h.parallel_for (
237
236
range<2 >(width / block_dims, height / block_dims), [=](auto idx) {
238
237
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,
241
240
width);
242
241
});
243
242
});
244
- q.wait_and_throw ();
243
+ // q.wait_and_throw();
245
244
} catch (sycl::exception e) {
246
245
std::cout << " SYCL exception caught: " << e.what () << " \n " ;
247
246
exit (1 );
0 commit comments