[Piglit] [PATCH 2/7] piglit-cl-util: Add a helper for getting the alignment of vector types
Aaron Watry
awatry at gmail.com
Tue Oct 15 00:07:33 CEST 2013
On Mon, Sep 30, 2013 at 9:47 AM, Tom Stellard <tom at stellard.net> wrote:
> From: Tom Stellard <thomas.stellard at amd.com>
>
> ---
> tests/cl/program/program-tester.c | 2 +-
> tests/util/piglit-util-cl.c | 13 +++++++++++++
> tests/util/piglit-util-cl.h | 6 ++++++
> 3 files changed, 20 insertions(+), 1 deletion(-)
>
> diff --git a/tests/cl/program/program-tester.c b/tests/cl/program/program-tester.c
> index 1524db0..0071c2e 100644
> --- a/tests/cl/program/program-tester.c
> +++ b/tests/cl/program/program-tester.c
> @@ -969,7 +969,7 @@ get_test_arg(const char* src, struct test* test, bool arg_in)
> char* type_size_str;
> regex_get_str(&type_size_str, type, "[[:digit:]]+", 0, REG_NEWLINE);
> test_arg.vec_elements = get_int(type_size_str);
> - test_arg.vec_mem_elements = test_arg.vec_elements != 3 ? test_arg.vec_elements : 4; // test if we have type3
> + test_arg.vec_mem_elements = piglit_cl_get_num_mem_elements(test_arg.vec_elements);
> free(type_size_str);
> } else {
> test_arg.vec_elements = 1;
> diff --git a/tests/util/piglit-util-cl.c b/tests/util/piglit-util-cl.c
> index 5b4267f..85c7a5d 100644
> --- a/tests/util/piglit-util-cl.c
> +++ b/tests/util/piglit-util-cl.c
> @@ -25,6 +25,19 @@
>
> #include "piglit-util-cl.h"
>
> +unsigned
> +piglit_cl_get_num_mem_elements(unsigned num_elements)
This function takes unsigned, but the vec_mem_elements member of the
test_arg struct you're saving the return value in takes size_t.
--Aaron
> +{
> + /* The OpenCL spec requires that vec3 types use the same alignement
> + * as vec4 types.
> + */
> + if (num_elements == 3) {
> + return 4;
> + } else {
> + return num_elements;
> + }
> +}
> +
> bool
> piglit_cl_probe_integer(int64_t value, int64_t expect, uint64_t tolerance)
> {
> diff --git a/tests/util/piglit-util-cl.h b/tests/util/piglit-util-cl.h
> index 90d0cd2..c017495 100644
> --- a/tests/util/piglit-util-cl.h
> +++ b/tests/util/piglit-util-cl.h
> @@ -44,6 +44,12 @@
> extern "C" {
> #endif
>
> +/**
> + * \returns The number of elements this vector type has when stored in memory.
> + * The value returned the alignment in memory of the vector in units of
> + * vector elements.
> + */
> +unsigned piglit_cl_get_num_mem_elements(unsigned num_elements);
>
> /* Runtime independent */
>
> --
> 1.7.11.4
>
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/piglit
More information about the Piglit
mailing list