From abd03cfc7ba96462bc5a1ca6f4faa9ca22792158 Mon Sep 17 00:00:00 2001 From: Joel Liang Date: Mon, 8 Jan 2018 15:20:48 +0800 Subject: APPBROWSER-298: Remove the old shader common code Remove token pasting operator support for GLES shader Remove cs_shdaers/helpers.h (The old GLES shader common code) Remove class BufferParam. We don't need to pass the buffer_data_type_shift to GLES shader. Change-Id: Ic4fa6b2fb7647b8f69759f6077ae4a5b483cc04d Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/115448 Tested-by: Jenkins Reviewed-by: Frank Lei Reviewed-by: Anthony Barbier --- .../kernels/GCDepthConcatenateLayerKernel.cpp | 17 ++----- .../kernels/GCDirectConvolutionLayerKernel.cpp | 58 ++-------------------- .../GLES_COMPUTE/kernels/GCDropoutLayerKernel.cpp | 8 +-- .../kernels/GCGEMMMatrixAccumulateBiasesKernel.cpp | 23 ++------- .../kernels/GCGEMMMatrixMultiplyKernel.cpp | 33 ++---------- .../GLES_COMPUTE/kernels/GCTransposeKernel.cpp | 23 ++------- 6 files changed, 23 insertions(+), 139 deletions(-) (limited to 'src/core/GLES_COMPUTE/kernels') diff --git a/src/core/GLES_COMPUTE/kernels/GCDepthConcatenateLayerKernel.cpp b/src/core/GLES_COMPUTE/kernels/GCDepthConcatenateLayerKernel.cpp index a6111782fd..1aac2502e7 100644 --- a/src/core/GLES_COMPUTE/kernels/GCDepthConcatenateLayerKernel.cpp +++ b/src/core/GLES_COMPUTE/kernels/GCDepthConcatenateLayerKernel.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 ARM Limited. + * Copyright (c) 2017, 2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -122,18 +122,9 @@ void GCDepthConcatenateLayerKernel::run(const Window &window) do { - if(_input->info()->data_type() == DataType::F32) - { - unsigned int idx = 0; - add_3D_tensor_argument(idx, _input, 1, slice); - add_3D_tensor_argument(idx, _output, 2, slice); - } - else if(_input->info()->data_type() == DataType::F16) - { - unsigned int idx = 0; - add_3D_tensor_argument(idx, _input, BufferParam(1, 3), slice); - add_3D_tensor_argument(idx, _output, BufferParam(2, 3), slice); - } + unsigned int idx = 0; + add_3D_tensor_argument(idx, _input, 1, slice); + add_3D_tensor_argument(idx, _output, 2, slice); _kernel.update_shader_params(); diff --git a/src/core/GLES_COMPUTE/kernels/GCDirectConvolutionLayerKernel.cpp b/src/core/GLES_COMPUTE/kernels/GCDirectConvolutionLayerKernel.cpp index 06f9bce498..77423fd8bc 100644 --- a/src/core/GLES_COMPUTE/kernels/GCDirectConvolutionLayerKernel.cpp +++ b/src/core/GLES_COMPUTE/kernels/GCDirectConvolutionLayerKernel.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 ARM Limited. + * Copyright (c) 2017, 2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -397,69 +397,21 @@ void GCDirectConvolutionLayerKernel::run(const Window &window) Window slice_in = win_in.first_slice_window_3D(); unsigned int idx1 = 2 * num_arguments_per_3D_tensor(); - add_3D_tensor_argument(idx1, _weights, BufferParam(3, 2), slice); + add_3D_tensor_argument(idx1, _weights, 3, slice); if(_bias != nullptr) { Window slice_bias; slice_bias.use_tensor_dimensions(_bias->info()->tensor_shape()); - add_1D_tensor_argument(idx1, _bias, BufferParam(4, 2), slice_bias); + add_1D_tensor_argument(idx1, _bias, 4, slice_bias); } do { unsigned int idx = 0; - switch(_input->info()->data_type()) - { - case DataType::F16: - switch(kernel_size) - { - case 1: - add_3D_tensor_argument(idx, _input, BufferParam(1, 4), slice_in); - add_3D_tensor_argument(idx, _output, BufferParam(2, 4), slice); - break; - - case 3: - add_3D_tensor_argument(idx, _input, BufferParam(1, 3), slice_in); - add_3D_tensor_argument(idx, _output, BufferParam(2, 3), slice); - break; - - case 5: - add_3D_tensor_argument(idx, _input, BufferParam(1, 3), slice_in); - add_3D_tensor_argument(idx, _output, BufferParam(2, 3), slice); - break; - - default: - ARM_COMPUTE_ERROR("Current kernel size %d is not supported", kernel_size); - break; - } - break; - - case DataType::F32: - switch(kernel_size) - { - case 1: - case 5: - add_3D_tensor_argument(idx, _input, BufferParam(1, 2), slice_in); - add_3D_tensor_argument(idx, _output, BufferParam(2, 2), slice); - break; - - case 3: - add_3D_tensor_argument(idx, _input, BufferParam(1, 4), slice_in); - add_3D_tensor_argument(idx, _output, BufferParam(2, 4), slice); - break; - - default: - ARM_COMPUTE_ERROR("Current kernel size %d is not supported", kernel_size); - break; - } - break; - - default: - ARM_COMPUTE_ERROR("Current data type is not supported"); - break; - } + add_3D_tensor_argument(idx, _input, 1, slice_in); + add_3D_tensor_argument(idx, _output, 2, slice); _kernel.update_shader_params(); enqueue(*this, slice, _lws); diff --git a/src/core/GLES_COMPUTE/kernels/GCDropoutLayerKernel.cpp b/src/core/GLES_COMPUTE/kernels/GCDropoutLayerKernel.cpp index e87c902281..cd06be2585 100644 --- a/src/core/GLES_COMPUTE/kernels/GCDropoutLayerKernel.cpp +++ b/src/core/GLES_COMPUTE/kernels/GCDropoutLayerKernel.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 ARM Limited. + * Copyright (c) 2017, 2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -96,9 +96,9 @@ void GCDropoutLayerKernel::run(const Window &window) { unsigned int idx = 0; - add_3D_tensor_argument(idx, _input, BufferParam(1, 2), slice); - add_3D_tensor_argument(idx, _mask, BufferParam(2, 2), slice); - add_3D_tensor_argument(idx, _output, BufferParam(3, 2), slice); + add_3D_tensor_argument(idx, _input, 1, slice); + add_3D_tensor_argument(idx, _mask, 2, slice); + add_3D_tensor_argument(idx, _output, 3, slice); _kernel.update_shader_params(); enqueue(*this, slice); diff --git a/src/core/GLES_COMPUTE/kernels/GCGEMMMatrixAccumulateBiasesKernel.cpp b/src/core/GLES_COMPUTE/kernels/GCGEMMMatrixAccumulateBiasesKernel.cpp index 944585daff..7ee39346f8 100644 --- a/src/core/GLES_COMPUTE/kernels/GCGEMMMatrixAccumulateBiasesKernel.cpp +++ b/src/core/GLES_COMPUTE/kernels/GCGEMMMatrixAccumulateBiasesKernel.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 ARM Limited. + * Copyright (c) 2017, 2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -117,26 +117,9 @@ void GCGEMMMatrixAccumulateBiasesKernel::run(const Window &window) { // Set arguments unsigned int idx = 0; - if(_accum->info()->data_type() == DataType::F32) - { - add_2D_tensor_argument(idx, _accum, 1, accum_slice); - add_1D_tensor_argument(idx, _biases, 2, biases_slice); - } - else if(_accum->info()->data_type() == DataType::F16) - { -#if defined(ACCUM_PROCESS_4X) - BufferParam param = { 1, 3 }; - add_2D_tensor_argument(idx, _accum, param, accum_slice); - param.binding_point = 2; - add_1D_tensor_argument(idx, _biases, param, biases_slice); -#elif defined(ACCUM_PROCESS_8X) /* ACCUM_PROCESS_4X */ - BufferParam param = { 1, 4 }; - add_2D_tensor_argument(idx, _accum, param, accum_slice); - param.binding_point = 2; - add_1D_tensor_argument(idx, _biases, param, biases_slice); -#endif /* ACCUM_PROCESS_4X */ - } + add_2D_tensor_argument(idx, _accum, 1, accum_slice); + add_1D_tensor_argument(idx, _biases, 2, biases_slice); _kernel.update_shader_params(); enqueue(*this, accum_slice, _lws); diff --git a/src/core/GLES_COMPUTE/kernels/GCGEMMMatrixMultiplyKernel.cpp b/src/core/GLES_COMPUTE/kernels/GCGEMMMatrixMultiplyKernel.cpp index baf1a9b85e..32fbbfeefb 100644 --- a/src/core/GLES_COMPUTE/kernels/GCGEMMMatrixMultiplyKernel.cpp +++ b/src/core/GLES_COMPUTE/kernels/GCGEMMMatrixMultiplyKernel.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 ARM Limited. + * Copyright (c) 2017, 2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -201,35 +201,10 @@ void GCGEMMMatrixMultiplyKernel::run(const Window &window) } unsigned int idx = 0; - switch(_input0->info()->data_type()) - { - case DataType::F16: -#if defined(MM_PROCESS_4X) - add_2D_tensor_argument(idx, _input0, BufferParam(1, 2), slice); - add_2D_tensor_argument(idx, _input1, BufferParam(2, 3), slice_b); - add_2D_tensor_argument(idx, _output, BufferParam(3, 3), slice); -#elif defined(MM_PROCESS_4X_OPTIMIZED) /* MM_PROCESS_4X */ - add_2D_tensor_argument(idx, _input0, BufferParam(1, 4), slice); - add_2D_tensor_argument(idx, _input1, BufferParam(2, 3), slice_b); - add_2D_tensor_argument(idx, _output, BufferParam(3, 3), slice); -#elif defined(MM_PROCESS_8X) /* MM_PROCESS_4X */ - add_2D_tensor_argument(idx, _input0, BufferParam(1, 4), slice); - add_2D_tensor_argument(idx, _input1, BufferParam(2, 4), slice_b); - add_2D_tensor_argument(idx, _output, BufferParam(3, 4), slice); -#endif /* MM_PROCESS_4X */ - break; - - case DataType::F32: - add_2D_tensor_argument(idx, _input0, BufferParam(1, 2), slice); - add_2D_tensor_argument(idx, _input1, BufferParam(2, 2), slice_b); - add_2D_tensor_argument(idx, _output, BufferParam(3, 2), slice); - break; - - default: - ARM_COMPUTE_ERROR("Current data type is not supported"); - break; - } + add_2D_tensor_argument(idx, _input0, 1, slice); + add_2D_tensor_argument(idx, _input1, 2, slice_b); + add_2D_tensor_argument(idx, _output, 3, slice); _kernel.update_shader_params(); enqueue(*this, slice); } diff --git a/src/core/GLES_COMPUTE/kernels/GCTransposeKernel.cpp b/src/core/GLES_COMPUTE/kernels/GCTransposeKernel.cpp index 5edc23b95e..b3a7a90931 100644 --- a/src/core/GLES_COMPUTE/kernels/GCTransposeKernel.cpp +++ b/src/core/GLES_COMPUTE/kernels/GCTransposeKernel.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 ARM Limited. + * Copyright (c) 2017, 2018 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -132,26 +132,9 @@ void GCTransposeKernel::run(const Window &window) do { unsigned int idx = 0; - if(_input->info()->data_type() == DataType::F32) - { - add_2D_tensor_argument(idx, _input, 1, slice); - add_2D_tensor_argument(idx, _output, 2, slice); - } - else if(_input->info()->data_type() == DataType::F16) - { -#if defined(TRANSPOSE_4X4) - BufferParam param = { 1, 3 }; - add_2D_tensor_argument(idx, _input, param, slice); - param.binding_point = 2; - add_2D_tensor_argument(idx, _output, param, slice); -#elif defined(TRANSPOSE_8X8) /* TRANSPOSE_4X4 */ - BufferParam param = { 1, 4 }; - add_2D_tensor_argument(idx, _input, param, slice); - param.binding_point = 2; - add_2D_tensor_argument(idx, _output, param, slice); -#endif /* TRANSPOSE_4X4 */ - } + add_2D_tensor_argument(idx, _input, 1, slice); + add_2D_tensor_argument(idx, _output, 2, slice); _kernel.update_shader_params(); enqueue(*this, slice, _lws_hint); } -- cgit v1.2.1