On Tue, Dec 4, 2012 at 7:31 PM, Tom Stellard <[email protected]> wrote: > On Mon, Dec 03, 2012 at 07:57:26PM -0600, Aaron Watry wrote: >> Move the kernel declarations into an include file and then create separate >> program_test files for char/uchar/short/ushort/int/uint/long/ulong/float. >> >> I'm not quite sure how to use #pragmas in a program_test configuration, so >> for >> now I'm leaving out half/double data types. > > #pragmas usually go in the source file right? Could you do something like: > > #pragma PRAGMA_DEF and then add -DPRAGMA_DEF to the build flags.
Generally, if you want to enable/require/disable an extension you can use a #pragma line. What I was really looking for was something like config.require_device_extensions as used/verified in piglit-framework-cl.c: bool check_device_extensions(cl_device_id device_id, char* extensions) We want to check if a device supports double/half (via cl_khr_fp[16|64]) before we attempt to run a test which uses those data types. Eventually, we can do the same with the cl_khr_byte_addressable_store and other extensions. > > This patch looks good and should really help increase the coverage. > > Reviewed-by: Tom Stellard <[email protected]> > >> --- >> .../program/execute/scalar-load-char.program_test | 27 +++++++++++++++ >> tests/cl/program/execute/scalar-load-float.cl | 34 >> ------------------- >> .../program/execute/scalar-load-float.program_test | 27 +++++++++++++++ >> .../program/execute/scalar-load-int.program_test | 27 +++++++++++++++ >> .../program/execute/scalar-load-long.program_test | 27 +++++++++++++++ >> .../program/execute/scalar-load-short.program_test | 27 +++++++++++++++ >> tests/cl/program/execute/scalar-load-uchar.cl | 35 >> -------------------- >> .../program/execute/scalar-load-uchar.program_test | 27 +++++++++++++++ >> .../program/execute/scalar-load-uint.program_test | 27 +++++++++++++++ >> .../program/execute/scalar-load-ulong.program_test | 27 +++++++++++++++ >> .../execute/scalar-load-ushort.program_test | 27 +++++++++++++++ >> tests/cl/program/execute/scalar-load.inc | 14 ++++++++ >> 12 files changed, 257 insertions(+), 69 deletions(-) >> create mode 100644 tests/cl/program/execute/scalar-load-char.program_test >> delete mode 100644 tests/cl/program/execute/scalar-load-float.cl >> create mode 100644 tests/cl/program/execute/scalar-load-float.program_test >> create mode 100644 tests/cl/program/execute/scalar-load-int.program_test >> create mode 100644 tests/cl/program/execute/scalar-load-long.program_test >> create mode 100644 tests/cl/program/execute/scalar-load-short.program_test >> delete mode 100644 tests/cl/program/execute/scalar-load-uchar.cl >> create mode 100644 tests/cl/program/execute/scalar-load-uchar.program_test >> create mode 100644 tests/cl/program/execute/scalar-load-uint.program_test >> create mode 100644 tests/cl/program/execute/scalar-load-ulong.program_test >> create mode 100644 tests/cl/program/execute/scalar-load-ushort.program_test >> create mode 100644 tests/cl/program/execute/scalar-load.inc >> >> diff --git a/tests/cl/program/execute/scalar-load-char.program_test >> b/tests/cl/program/execute/scalar-load-char.program_test >> new file mode 100644 >> index 0000000..a168875 >> --- /dev/null >> +++ b/tests/cl/program/execute/scalar-load-char.program_test >> @@ -0,0 +1,27 @@ >> +[config] >> +name: Scalar Data Type Load (char) >> + >> +program_source_file: scalar-load.inc >> +build_options: -D SCALAR_TYPE=char -D OUT_TYPE=int >> + >> +dimensions: 1 >> +global_size: 1 0 0 >> + >> +[test] >> +name: global address space >> +kernel_name: load_global >> +arg_out: 0 buffer int[1] -5 >> +arg_in: 1 buffer char[1] -5 >> + >> +[test] >> +name: parameter address space >> +kernel_name: load_param >> +arg_out: 0 buffer int[1] -6 >> +arg_in: 1 char -6 >> + >> +[test] >> +name: constant address space >> +kernel_name: load_constant >> +arg_out: 0 buffer int[1] -7 >> +arg_in: 1 buffer char[1] -7 >> + >> diff --git a/tests/cl/program/execute/scalar-load-float.cl >> b/tests/cl/program/execute/scalar-load-float.cl >> deleted file mode 100644 >> index 0df9862..0000000 >> --- a/tests/cl/program/execute/scalar-load-float.cl >> +++ /dev/null >> @@ -1,34 +0,0 @@ >> -/*! >> -[config] >> -name: Scalar load float >> - >> -[test] >> -kernel_name: load_global >> -name: global address space >> -arg_out: 0 buffer float[1] 3.5 >> -arg_in: 1 buffer float[1] 3.5 >> - >> -[test] >> -kernel_name: load_param >> -name: parameter address space >> -arg_out: 0 buffer float[1] 3.6 >> -arg_in: 1 float 3.6 >> - >> -[test] >> -kernel_name: load_constant >> -name: constant address space >> -arg_out: 0 buffer float[1] 3.7 >> -arg_in: 1 buffer float[1] 3.7 >> -!*/ >> - >> -kernel void load_global(global float *out, global float *in) { >> - out[0] = in[0]; >> -} >> - >> -kernel void load_param(global float *out, float in) { >> - out[0] = in; >> -} >> - >> -kernel void load_constant(global float *out, constant float *in) { >> - out[0] = in[0]; >> -} >> diff --git a/tests/cl/program/execute/scalar-load-float.program_test >> b/tests/cl/program/execute/scalar-load-float.program_test >> new file mode 100644 >> index 0000000..3e45847 >> --- /dev/null >> +++ b/tests/cl/program/execute/scalar-load-float.program_test >> @@ -0,0 +1,27 @@ >> +[config] >> +name: Scalar Data Type Load (float) >> + >> +program_source_file: scalar-load.inc >> +build_options: -D SCALAR_TYPE=float -D OUT_TYPE=float >> + >> +dimensions: 1 >> +global_size: 1 0 0 >> + >> +[test] >> +kernel_name: load_global >> +name: global address space >> +arg_out: 0 buffer float[1] 3.5 >> +arg_in: 1 buffer float[1] 3.5 >> + >> +[test] >> +kernel_name: load_param >> +name: parameter address space >> +arg_out: 0 buffer float[1] 3.6 >> +arg_in: 1 float 3.6 >> + >> +[test] >> +kernel_name: load_constant >> +name: constant address space >> +arg_out: 0 buffer float[1] 3.7 >> +arg_in: 1 buffer float[1] 3.7 >> + >> diff --git a/tests/cl/program/execute/scalar-load-int.program_test >> b/tests/cl/program/execute/scalar-load-int.program_test >> new file mode 100644 >> index 0000000..655e60f >> --- /dev/null >> +++ b/tests/cl/program/execute/scalar-load-int.program_test >> @@ -0,0 +1,27 @@ >> +[config] >> +name: Scalar Data Type Load (int) >> + >> +program_source_file: scalar-load.inc >> +build_options: -D SCALAR_TYPE=int -D OUT_TYPE=int >> + >> +dimensions: 1 >> +global_size: 1 0 0 >> + >> +[test] >> +name: global address space >> +kernel_name: load_global >> +arg_out: 0 buffer int[1] -5 >> +arg_in: 1 buffer int[1] -5 >> + >> +[test] >> +name: parameter address space >> +kernel_name: load_param >> +arg_out: 0 buffer int[1] -6 >> +arg_in: 1 int -6 >> + >> +[test] >> +name: constant address space >> +kernel_name: load_constant >> +arg_out: 0 buffer int[1] -7 >> +arg_in: 1 buffer int[1] -7 >> + >> diff --git a/tests/cl/program/execute/scalar-load-long.program_test >> b/tests/cl/program/execute/scalar-load-long.program_test >> new file mode 100644 >> index 0000000..d8c95fc >> --- /dev/null >> +++ b/tests/cl/program/execute/scalar-load-long.program_test >> @@ -0,0 +1,27 @@ >> +[config] >> +name: Scalar Data Type Load (long) >> + >> +program_source_file: scalar-load.inc >> +build_options: -D SCALAR_TYPE=long -D OUT_TYPE=long >> + >> +dimensions: 1 >> +global_size: 1 0 0 >> + >> +[test] >> +name: global address space >> +kernel_name: load_global >> +arg_out: 0 buffer long[1] -5 >> +arg_in: 1 buffer long[1] -5 >> + >> +[test] >> +name: parameter address space >> +kernel_name: load_param >> +arg_out: 0 buffer long[1] -6 >> +arg_in: 1 long -6 >> + >> +[test] >> +name: constant address space >> +kernel_name: load_constant >> +arg_out: 0 buffer long[1] -7 >> +arg_in: 1 buffer long[1] -7 >> + >> diff --git a/tests/cl/program/execute/scalar-load-short.program_test >> b/tests/cl/program/execute/scalar-load-short.program_test >> new file mode 100644 >> index 0000000..e1d52ea >> --- /dev/null >> +++ b/tests/cl/program/execute/scalar-load-short.program_test >> @@ -0,0 +1,27 @@ >> +[config] >> +name: Scalar Data Type Load (short) >> + >> +program_source_file: scalar-load.inc >> +build_options: -D SCALAR_TYPE=short -D OUT_TYPE=int >> + >> +dimensions: 1 >> +global_size: 1 0 0 >> + >> +[test] >> +name: global address space >> +kernel_name: load_global >> +arg_out: 0 buffer int[1] -5 >> +arg_in: 1 buffer short[1] -5 >> + >> +[test] >> +name: parameter address space >> +kernel_name: load_param >> +arg_out: 0 buffer int[1] -6 >> +arg_in: 1 short -6 >> + >> +[test] >> +name: constant address space >> +kernel_name: load_constant >> +arg_out: 0 buffer int[1] -7 >> +arg_in: 1 buffer short[1] -7 >> + >> diff --git a/tests/cl/program/execute/scalar-load-uchar.cl >> b/tests/cl/program/execute/scalar-load-uchar.cl >> deleted file mode 100644 >> index 3faa285..0000000 >> --- a/tests/cl/program/execute/scalar-load-uchar.cl >> +++ /dev/null >> @@ -1,35 +0,0 @@ >> -/*! >> -[config] >> -name: Scalar load uchar >> - >> -[test] >> -name: global address space >> -kernel_name: uchar_load_global >> -arg_out: 0 buffer uint[1] 5 >> -arg_in: 1 buffer uchar[1] 5 >> - >> -[test] >> -name: parameter address space >> -kernel_name: uchar_load_param >> -arg_out: 0 buffer uint[1] 6 >> -arg_in: 1 uchar 6 >> - >> -[test] >> -name: constant address space >> -kernel_name: uchar_load_constant >> -arg_out: 0 buffer uint[1] 7 >> -arg_in: 1 buffer uchar[1] 7 >> - >> -!*/ >> - >> -kernel void uchar_load_global(global uint *out, global uchar *in) { >> - out[0] = in[0]; >> -} >> - >> -kernel void uchar_load_param(global uint *out, uchar in) { >> - out[0] = in; >> -} >> - >> -kernel void uchar_load_constant(global uint *out, constant uchar *in) { >> - out[0] = in[0]; >> -} >> diff --git a/tests/cl/program/execute/scalar-load-uchar.program_test >> b/tests/cl/program/execute/scalar-load-uchar.program_test >> new file mode 100644 >> index 0000000..798bd53 >> --- /dev/null >> +++ b/tests/cl/program/execute/scalar-load-uchar.program_test >> @@ -0,0 +1,27 @@ >> +[config] >> +name: Scalar Data Type Load (uchar) >> + >> +program_source_file: scalar-load.inc >> +build_options: -D SCALAR_TYPE=uchar -D OUT_TYPE=uint >> + >> +dimensions: 1 >> +global_size: 1 0 0 >> + >> +[test] >> +name: global address space >> +kernel_name: load_global >> +arg_out: 0 buffer uint[1] 5 >> +arg_in: 1 buffer uchar[1] 5 >> + >> +[test] >> +name: parameter address space >> +kernel_name: load_param >> +arg_out: 0 buffer uint[1] 6 >> +arg_in: 1 uchar 6 >> + >> +[test] >> +name: constant address space >> +kernel_name: load_constant >> +arg_out: 0 buffer uint[1] 7 >> +arg_in: 1 buffer uchar[1] 7 >> + >> diff --git a/tests/cl/program/execute/scalar-load-uint.program_test >> b/tests/cl/program/execute/scalar-load-uint.program_test >> new file mode 100644 >> index 0000000..94b5993 >> --- /dev/null >> +++ b/tests/cl/program/execute/scalar-load-uint.program_test >> @@ -0,0 +1,27 @@ >> +[config] >> +name: Scalar Data Type Load (uint) >> + >> +program_source_file: scalar-load.inc >> +build_options: -D SCALAR_TYPE=uint -D OUT_TYPE=uint >> + >> +dimensions: 1 >> +global_size: 1 0 0 >> + >> +[test] >> +name: global address space >> +kernel_name: load_global >> +arg_out: 0 buffer uint[1] 5 >> +arg_in: 1 buffer uint[1] 5 >> + >> +[test] >> +name: parameter address space >> +kernel_name: load_param >> +arg_out: 0 buffer uint[1] 6 >> +arg_in: 1 uint 6 >> + >> +[test] >> +name: constant address space >> +kernel_name: load_constant >> +arg_out: 0 buffer uint[1] 7 >> +arg_in: 1 buffer uint[1] 7 >> + >> diff --git a/tests/cl/program/execute/scalar-load-ulong.program_test >> b/tests/cl/program/execute/scalar-load-ulong.program_test >> new file mode 100644 >> index 0000000..cbad644 >> --- /dev/null >> +++ b/tests/cl/program/execute/scalar-load-ulong.program_test >> @@ -0,0 +1,27 @@ >> +[config] >> +name: Scalar Data Type Load (ulong) >> + >> +program_source_file: scalar-load.inc >> +build_options: -D SCALAR_TYPE=ulong -D OUT_TYPE=ulong >> + >> +dimensions: 1 >> +global_size: 1 0 0 >> + >> +[test] >> +name: global address space >> +kernel_name: load_global >> +arg_out: 0 buffer ulong[1] 5 >> +arg_in: 1 buffer ulong[1] 5 >> + >> +[test] >> +name: parameter address space >> +kernel_name: load_param >> +arg_out: 0 buffer ulong[1] 6 >> +arg_in: 1 ulong 6 >> + >> +[test] >> +name: constant address space >> +kernel_name: load_constant >> +arg_out: 0 buffer ulong[1] 7 >> +arg_in: 1 buffer ulong[1] 7 >> + >> diff --git a/tests/cl/program/execute/scalar-load-ushort.program_test >> b/tests/cl/program/execute/scalar-load-ushort.program_test >> new file mode 100644 >> index 0000000..a929ed4 >> --- /dev/null >> +++ b/tests/cl/program/execute/scalar-load-ushort.program_test >> @@ -0,0 +1,27 @@ >> +[config] >> +name: Scalar Data Type Load (ushort) >> + >> +program_source_file: scalar-load.inc >> +build_options: -D SCALAR_TYPE=ushort -D OUT_TYPE=uint >> + >> +dimensions: 1 >> +global_size: 1 0 0 >> + >> +[test] >> +name: global address space >> +kernel_name: load_global >> +arg_out: 0 buffer uint[1] 5 >> +arg_in: 1 buffer ushort[1] 5 >> + >> +[test] >> +name: parameter address space >> +kernel_name: load_param >> +arg_out: 0 buffer uint[1] 6 >> +arg_in: 1 ushort 6 >> + >> +[test] >> +name: constant address space >> +kernel_name: load_constant >> +arg_out: 0 buffer uint[1] 7 >> +arg_in: 1 buffer ushort[1] 7 >> + >> diff --git a/tests/cl/program/execute/scalar-load.inc >> b/tests/cl/program/execute/scalar-load.inc >> new file mode 100644 >> index 0000000..5458847 >> --- /dev/null >> +++ b/tests/cl/program/execute/scalar-load.inc >> @@ -0,0 +1,14 @@ >> +typedef OUT_TYPE out_t; >> +typedef SCALAR_TYPE scalar_t; >> + >> +kernel void load_global(global out_t *out, global scalar_t *in) { >> + out[0] = in[0]; >> +} >> + >> +kernel void load_param(global out_t *out, scalar_t in) { >> + out[0] = in; >> +} >> + >> +kernel void load_constant(global out_t *out, constant scalar_t *in) { >> + out[0] = in[0]; >> +} >> -- >> 1.7.10.4 >> >> _______________________________________________ >> Piglit mailing list >> [email protected] >> http://lists.freedesktop.org/mailman/listinfo/piglit _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
