diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/core/CL/kernels/CLDerivativeKernel.cpp | 6 | ||||
-rw-r--r-- | src/core/NEON/kernels/NEDerivativeKernel.cpp | 8 |
2 files changed, 10 insertions, 4 deletions
diff --git a/src/core/CL/kernels/CLDerivativeKernel.cpp b/src/core/CL/kernels/CLDerivativeKernel.cpp index 36ba06d528..5bfe75140b 100644 --- a/src/core/CL/kernels/CLDerivativeKernel.cpp +++ b/src/core/CL/kernels/CLDerivativeKernel.cpp @@ -96,11 +96,13 @@ void CLDerivativeKernel::configure(const ICLTensor *input, ICLTensor *output_x, AccessWindowHorizontal output_y_access(output_y == nullptr ? nullptr : output_y->info(), 0, num_elems_processed_per_iteration); if(_run_derivative_x && _run_derivative_y) { - input_access = AccessWindowRectangle(input->info(), -border_size().left, -border_size().top, num_elems_processed_per_iteration, num_read_rows_per_iteration); + // TODO(COMPMID-415) Fix x-access input bug in CL kernel instead of '+2' + input_access = AccessWindowRectangle(input->info(), -border_size().left, -border_size().top, num_elems_processed_per_iteration + 2, num_read_rows_per_iteration); } else if(_run_derivative_x) { - input_access = AccessWindowHorizontal(input->info(), -border_size().left, num_elems_processed_per_iteration); + // TODO(COMPMID-415) Fix x-access input bug in CL kernel instead of '+2' + input_access = AccessWindowHorizontal(input->info(), -border_size().left, num_elems_processed_per_iteration + 2); } else if(_run_derivative_y) { diff --git a/src/core/NEON/kernels/NEDerivativeKernel.cpp b/src/core/NEON/kernels/NEDerivativeKernel.cpp index a5680ebbf9..1e0397ddb2 100644 --- a/src/core/NEON/kernels/NEDerivativeKernel.cpp +++ b/src/core/NEON/kernels/NEDerivativeKernel.cpp @@ -80,9 +80,13 @@ void NEDerivativeKernel::configure(const ITensor *input, ITensor *output_x, ITen AccessWindowHorizontal out_x_access(output_x == nullptr ? nullptr : output_x->info(), 0, num_elems_processed_per_iteration); AccessWindowHorizontal out_y_access(output_y == nullptr ? nullptr : output_y->info(), 0, num_elems_processed_per_iteration); - AccessWindowHorizontal in_x_access(input->info(), -border_size().left, num_elems_processed_per_iteration); + + // TODO(COMPMID-415) Fix x-access input bug in NEON kernel instead of '+2' + AccessWindowHorizontal in_x_access(input->info(), -border_size().left, num_elems_processed_per_iteration + 2); AccessWindowRectangle in_y_access(input->info(), 0, -border_size().left, num_elems_processed_per_iteration, num_rows_read_per_iteration); - AccessWindowRectangle in_xy_access(input->info(), -border_size().left, -border_size().top, num_elems_processed_per_iteration, num_rows_read_per_iteration); + + // TODO(COMPMID-415) Fix x-access input bug in NEON kernel instead of '+2' + AccessWindowRectangle in_xy_access(input->info(), -border_size().left, -border_size().top, num_elems_processed_per_iteration + 2, num_rows_read_per_iteration); if(run_der_x && run_der_y) { |