From 1f378ee7639837601f5152ee9f185ee1a528d643 Mon Sep 17 00:00:00 2001 From: Georgios Pinitas Date: Fri, 27 Oct 2017 13:37:16 +0100 Subject: COMPMID-556: Static helper function for getting gws from window. Change-Id: I3e47385b2f7a7977c2c61272f2fb30e800f39406 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/93429 Tested-by: Kaizen Reviewed-by: Anthony Barbier --- src/core/CL/ICLKernel.cpp | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) (limited to 'src/core/CL/ICLKernel.cpp') diff --git a/src/core/CL/ICLKernel.cpp b/src/core/CL/ICLKernel.cpp index 17b58b727f..13037a771d 100644 --- a/src/core/CL/ICLKernel.cpp +++ b/src/core/CL/ICLKernel.cpp @@ -43,15 +43,14 @@ void arm_compute::enqueue(cl::CommandQueue &queue, ICLKernel &kernel, const Wind return; } - if((window.x().end() - window.x().start()) == 0 || (window.y().end() - window.y().start()) == 0) + cl::NDRange gws = ICLKernel::gws_from_window(window); + + // Check for empty NDRange + if(gws.dimensions() == 0) { return; } - cl::NDRange gws((window.x().end() - window.x().start()) / window.x().step(), - (window.y().end() - window.y().start()) / window.y().step(), - (window.z().end() - window.z().start()) / window.z().step()); - cl::NDRange valid_lws; if(lws_hint[0] * lws_hint[1] * lws_hint[2] > kernel.get_max_workgroup_size()) { @@ -182,3 +181,17 @@ size_t ICLKernel::get_max_workgroup_size() } return _max_workgroup_size; } + +cl::NDRange ICLKernel::gws_from_window(const Window &window) +{ + if((window.x().end() - window.x().start()) == 0 || (window.y().end() - window.y().start()) == 0) + { + return cl::NullRange; + } + + cl::NDRange gws((window.x().end() - window.x().start()) / window.x().step(), + (window.y().end() - window.y().start()) / window.y().step(), + (window.z().end() - window.z().start()) / window.z().step()); + + return gws; +} \ No newline at end of file -- cgit v1.2.1