[Piglit] [PATCH 5/6] cl: Add gegl fir-get-mean-component-1D-CL.cl
Tom Stellard
tom at stellard.net
Wed Oct 3 10:02:11 PDT 2012
From: Tom Stellard <thomas.stellard at amd.com>
---
tests/all_cl.tests | 1 +
.../execute/gegl-fir-get-mean-component-1D-CL.cl | 58 ++++++++++++++++++++++
2 files changed, 59 insertions(+)
create mode 100644 tests/cl/program/execute/gegl-fir-get-mean-component-1D-CL.cl
diff --git a/tests/all_cl.tests b/tests/all_cl.tests
index 6994207..e613540 100644
--- a/tests/all_cl.tests
+++ b/tests/all_cl.tests
@@ -134,3 +134,4 @@ add_plain_program_tester_test(program_execute, 'get_global_id', 'execute/get-glo
add_plain_program_tester_test(program_execute, 'For loop', 'execute/for-loop.cl')
add_plain_program_tester_test(program_execute, 'GEGL gamma-2-2-to-linear', 'execute/gegl-gamma-2-2-to-linear.cl')
add_plain_program_tester_test(program_execute, 'GEGL rgb-gamma-u8-to-ragabaf', 'execute/gegl-rgb-gamma-u8-to-ragabaf.cl')
+add_plain_program_tester_test(program_execute, 'GEGL fir-get-mean-component-1D-CL', 'execute/gegl-fir-get-mean-component-1D-CL.cl')
diff --git a/tests/cl/program/execute/gegl-fir-get-mean-component-1D-CL.cl b/tests/cl/program/execute/gegl-fir-get-mean-component-1D-CL.cl
new file mode 100644
index 0000000..4198193
--- /dev/null
+++ b/tests/cl/program/execute/gegl-fir-get-mean-component-1D-CL.cl
@@ -0,0 +1,58 @@
+/* The OpenCL kernel comes from GEGL (www.gegl.org)
+ * File: gegl/operations/common/gaussian-blur.c
+ *
+ * This file is an image processing operation for GEGL
+ * GEGL is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * GEGL is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GEGL; if not, see <http://www.gnu.org/licenses/>.
+ *
+ * Copyright 2006 Dominik Ernst <dernst at gmx.de>
+ *
+ * Recursive Gauss IIR Filter as described by Young / van Vliet
+ * in "Signal Processing 44 (1995) 139 - 151"
+ *
+ */
+
+
+/*!
+[config]
+name: GEGL fir_get_mean_component_1D_CL
+clc_version_min: 10
+kernel_name: fir_get_mean_component_1D_CL
+
+[test]
+arg_in: 1 buffer float4[5] repeat 1.0
+arg_in: 2 int 0 #offset
+arg_in: 3 int 1 #delta_offset
+arg_in: 4 buffer float[5] 0.1 0.2 0.3 0.4 0.5
+arg_in: 5 int 5 #matrix_legnth
+
+arg_out: 0 buffer float4[1] repeat 1.5
+!*/
+
+kernel void fir_get_mean_component_1D_CL(global float4 *out,
+ const global float4 *buf,
+ int offset,
+ const int delta_offset,
+ constant float *cmatrix,
+ const int matrix_length)
+{
+ float4 acc = 0.0f;
+ int i;
+
+ for(i=0; i<matrix_length; i++)
+ {
+ acc += buf[offset] * cmatrix[i];
+ offset += delta_offset;
+ }
+ out[0] = acc;
+}
--
1.7.11.4
More information about the Piglit
mailing list