From 96fc1d6582d17407bf5006419644ae278026924a Mon Sep 17 00:00:00 2001 From: Pablo Tello Date: Tue, 17 Jul 2018 17:10:59 +0100 Subject: COMPMID-1394: Fixed OCLGrind failures ColorConvert Change-Id: Ibf688e68205eac2dc07ce88c96498cc66c153cee Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/140440 Reviewed-by: Anthony Barbier Tested-by: Jenkins --- src/core/CL/kernels/CLColorConvertKernel.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/core/CL/kernels') diff --git a/src/core/CL/kernels/CLColorConvertKernel.cpp b/src/core/CL/kernels/CLColorConvertKernel.cpp index 52d9be9418..2b894989e1 100644 --- a/src/core/CL/kernels/CLColorConvertKernel.cpp +++ b/src/core/CL/kernels/CLColorConvertKernel.cpp @@ -198,6 +198,7 @@ void CLColorConvertKernel::configure(const ICLImage *input, ICLMultiImage *outpu ARM_COMPUTE_ERROR_ON(output == nullptr); unsigned int num_elems_processed_per_iteration = 0; + unsigned int num_elems_read_per_iteration_x = 0; bool has_two_planes = (output->info()->format() == Format::NV12) || (output->info()->format() == Format::NV21); float sub_sampling = (has_two_planes || (output->info()->format() == Format::IYUV)) ? 0.5f : 1; @@ -212,9 +213,11 @@ void CLColorConvertKernel::configure(const ICLImage *input, ICLMultiImage *outpu case Format::NV12: case Format::IYUV: num_elems_processed_per_iteration = 2; + num_elems_read_per_iteration_x = 8; break; case Format::YUV444: num_elems_processed_per_iteration = 4; + num_elems_read_per_iteration_x = 16; break; default: break; @@ -229,6 +232,7 @@ void CLColorConvertKernel::configure(const ICLImage *input, ICLMultiImage *outpu case Format::NV12: case Format::IYUV: num_elems_processed_per_iteration = 8; + num_elems_read_per_iteration_x = 8; break; default: break; @@ -238,6 +242,7 @@ void CLColorConvertKernel::configure(const ICLImage *input, ICLMultiImage *outpu default: break; } + ARM_COMPUTE_ERROR_ON_MSG(num_elems_processed_per_iteration == 0, "Conversion from %s to %s not supported", string_from_format(input->info()->format()).c_str(), string_from_format(output->info()->format()).c_str()); @@ -248,7 +253,6 @@ void CLColorConvertKernel::configure(const ICLImage *input, ICLMultiImage *outpu kernel_name << "_to_"; kernel_name << string_from_format(output->info()->format()); kernel_name << "_bt709"; - _input = input; _multi_output = output; @@ -267,8 +271,10 @@ void CLColorConvertKernel::configure(const ICLImage *input, ICLMultiImage *outpu AccessWindowRectangle output_plane2_access(has_two_planes ? nullptr : output->plane(2)->info(), 0, 0, num_elems_processed_per_iteration, 1, sub_sampling, sub_sampling); + AccessWindowHorizontal input_access(input->info(), 0, num_elems_read_per_iteration_x); + update_window_and_padding(win, - AccessWindowHorizontal(input->info(), 0, num_elems_processed_per_iteration), + input_access, output_plane0_access, output_plane1_access, output_plane2_access); -- cgit v1.2.1