aboutsummaryrefslogtreecommitdiff
path: root/src/core/CL/kernels/CLDeconvolutionLayerUpsampleKernel.cpp
diff options
context:
space:
mode:
authorGeorgios Pinitas <georgios.pinitas@arm.com>2018-05-18 17:11:16 +0100
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:52:54 +0000
commitbc06f99c03ad73cf6033b5c9a848672e3e1c368d (patch)
treeca1c15e7b01c76323957400975c190aab6e47b1f /src/core/CL/kernels/CLDeconvolutionLayerUpsampleKernel.cpp
parent65f9982e99a6d9bea8084b7e15bc6c72ff535d8b (diff)
downloadComputeLibrary-bc06f99c03ad73cf6033b5c9a848672e3e1c368d.tar.gz
COMPMID-959: Fix deconvolution window.
Change-Id: I791855edf6f821381ecb8ff0652fb14a5810d9d7 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/131912 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Pablo Tello <pablo.tello@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Diffstat (limited to 'src/core/CL/kernels/CLDeconvolutionLayerUpsampleKernel.cpp')
-rw-r--r--src/core/CL/kernels/CLDeconvolutionLayerUpsampleKernel.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/core/CL/kernels/CLDeconvolutionLayerUpsampleKernel.cpp b/src/core/CL/kernels/CLDeconvolutionLayerUpsampleKernel.cpp
index e7cdf8c607..1feac7d815 100644
--- a/src/core/CL/kernels/CLDeconvolutionLayerUpsampleKernel.cpp
+++ b/src/core/CL/kernels/CLDeconvolutionLayerUpsampleKernel.cpp
@@ -101,18 +101,20 @@ void CLDeconvolutionLayerUpsampleKernel::run(const Window &window, cl::CommandQu
const int out_end_y = _output->info()->dimension(1) - _info.pad().second + _info.stride().second - 1;
const int out_step_y = _info.stride().second;
- Window slice_out = window.first_slice_window_2D();
+ Window collapsed = window.collapse_if_possible(ICLKernel::window(), Window::DimZ);
+
+ Window slice_out = collapsed.first_slice_window_3D();
slice_out.set(Window::DimX, Window::Dimension(out_start_x, out_end_x, out_step_x));
slice_out.set(Window::DimY, Window::Dimension(out_start_y, out_end_y, out_step_y));
- Window slice_in = window.first_slice_window_2D();
+ Window slice_in = collapsed.first_slice_window_3D();
do
{
unsigned int idx = 0;
- add_2D_tensor_argument(idx, _input, slice_in);
- add_2D_tensor_argument(idx, _output, slice_out);
+ add_3D_tensor_argument(idx, _input, slice_in);
+ add_3D_tensor_argument(idx, _output, slice_out);
enqueue(queue, *this, slice_out);
}
- while(window.slide_window_slice_2D(slice_in) && window.slide_window_slice_2D(slice_out));
+ while(collapsed.slide_window_slice_3D(slice_in) && collapsed.slide_window_slice_3D(slice_out));
}