From f1f3ebd517089e934cf3f06e64d90619a395ad87 Mon Sep 17 00:00:00 2001 From: Joel Liang Date: Fri, 10 Nov 2017 09:59:19 +0800 Subject: APPBROWSER-298, APPBROWSER-306: Reimplement the common code of compute shader The new common code of compute shader is in file helpers_cs.h Rewrite the direct_convolution1x1.cs and softmax_layer.cs to use the new common code. It will also remove the dependence of the token pasting operator (##). We'll remove the "##" support after we rewrite all of the compute shader code. Change-Id: Icd8553ef6b61ad484a8507590ac8ed499bd47061 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/95455 Tested-by: Kaizen Reviewed-by: Georgios Pinitas Reviewed-by: Frank Lei (cherry picked from commit 0a4f83570d261f839d9866b68979efe8d7a95883) Reviewed-on: http://mpd-gerrit.cambridge.arm.com/95601 Reviewed-by: Jim He --- src/core/GLES_COMPUTE/kernels/GCFillBorderKernel.cpp | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'src/core/GLES_COMPUTE/kernels/GCFillBorderKernel.cpp') diff --git a/src/core/GLES_COMPUTE/kernels/GCFillBorderKernel.cpp b/src/core/GLES_COMPUTE/kernels/GCFillBorderKernel.cpp index 36742ef81e..b4efc0b9a0 100644 --- a/src/core/GLES_COMPUTE/kernels/GCFillBorderKernel.cpp +++ b/src/core/GLES_COMPUTE/kernels/GCFillBorderKernel.cpp @@ -54,7 +54,7 @@ void GCFillBorderKernel::set_constant_border(unsigned int idx, const PixelValue { T value; constant_border_value.get(value); - _kernel.set_params(idx, static_cast(value)); + _kernel.set_argument(idx, static_cast(value)); } void GCFillBorderKernel::configure(const IGCTensor *tensor, BorderSize border_size, BorderMode border_mode, const PixelValue &constant_border_value) @@ -112,8 +112,6 @@ void GCFillBorderKernel::configure(const IGCTensor *tensor, BorderSize border_si _kernel = static_cast(GCKernelLibrary::get().create_kernel(kernel_name, build_opts)); _tensor = tensor; - _kernel.clear_params(); - // Create static kernel arguments const unsigned int valid_width = tensor->info()->valid_region().shape[0]; const unsigned int valid_height = tensor->info()->valid_region().shape[1]; @@ -121,10 +119,10 @@ void GCFillBorderKernel::configure(const IGCTensor *tensor, BorderSize border_si // Set static kernel arguments unsigned int idx = num_arguments_per_3D_tensor(); //Skip the tensor parameters - _kernel.set_params(idx++, valid_width); - _kernel.set_params(idx++, valid_height); - _kernel.set_params(idx++, tensor->info()->valid_region().anchor[0]); - _kernel.set_params(idx++, tensor->info()->valid_region().anchor[1]); + _kernel.set_argument(idx++, valid_width); + _kernel.set_argument(idx++, valid_height); + _kernel.set_argument(idx++, tensor->info()->valid_region().anchor[0]); + _kernel.set_argument(idx++, tensor->info()->valid_region().anchor[1]); if(BorderMode::CONSTANT == border_mode) { @@ -137,8 +135,6 @@ void GCFillBorderKernel::configure(const IGCTensor *tensor, BorderSize border_si win.set(Window::DimY, Window::Dimension(0, 1, 1)); win.use_tensor_dimensions(tensor->info()->tensor_shape(), Window::DimZ); - _kernel.set_shader_params_binding_point(0); - IGCKernel::configure(win); } -- cgit v1.2.1