[Piglit] [PATCH V2 1/3] util: add infrastructure to look-up glMemoryBarrier() enums via names

Timothy Arceri t_arceri at yahoo.com.au
Thu Dec 10 14:46:05 PST 2015


On Fri, 2015-12-11 at 09:42 +1100, Timothy Arceri wrote:
> V2: make the existing piglit_get_gl_enum_from_name() function handle
> the
> memory barrier enums (Suggested by Jordan).
> 
> Cc: Jordan Justen <jordan.l.justen at intel.com>
> ---
>  tests/util/gen_dispatch.py  | 15 ++++++++++++++-
>  tests/util/piglit-util-gl.h |  3 +++
>  2 files changed, 17 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/util/gen_dispatch.py b/tests/util/gen_dispatch.py
> index 80099ad..708c1f8 100644
> --- a/tests/util/gen_dispatch.py
> +++ b/tests/util/gen_dispatch.py
> @@ -142,8 +142,11 @@ class EnumCode(object):
>      def emit(cls, out_dir, gl_registry):
>          assert isinstance(gl_registry, registry.gl.Registry)
>          enums = cls.get_enums_in_default_namespace(gl_registry)
> +        memory_barrier =
> cls.get_enums_in_memory_barrier_group(gl_registry)
> +        combined_enums = list(enums)
> +        combined_enums.extend(memory_barrier)
>          unique_enums = cls.get_unique_enums(enums)
> -        enums_by_name = cls.get_enums_by_name(enums)
> +        enums_by_name = cls.get_enums_by_name(combined_enums)
>          render_template(
>              cls.C_TEMPLATE,
>              out_dir,
> @@ -161,6 +164,16 @@ class EnumCode(object):
>          return enums
>  
>      @classmethod
> +    def get_enums_in_memory_barrier_group(cls, gl_registry):
> +        enums = []
> +        for enum_group in gl_registry.enum_groups:
> +            if enum_group.name == 'MemoryBarrierMask':
> +	        if enum_group.type == 'bitmask':
> +                    for enum in enum_group.enums:
> +                        enums.append(enum)
> +        return enums
> +
> +    @classmethod
>      def get_unique_enums(cls, enums):
>          def append_enum_if_new_value(enum_list, enum):
>              if enum_list[-1].num_value < enum.num_value:
> diff --git a/tests/util/piglit-util-gl.h b/tests/util/piglit-util
> -gl.h
> index 5a8c82b..4ba0aa3 100644
> --- a/tests/util/piglit-util-gl.h
> +++ b/tests/util/piglit-util-gl.h
> @@ -95,6 +95,9 @@ const char *piglit_get_gl_enum_name(GLenum param);
>   */
>  GLenum piglit_get_gl_enum_from_name(const char *name);
>  
> +GLenum
> +piglit_get_gl_memory_barrier_enum_from_name(const char *name);
> +

Whoops, I've removed this locally also.

>  /**
>   * \brief Convert a GL primitive type enum value to a string.
>   *


More information about the Piglit mailing list