[Mesa-dev] [PATCH 12/26] glsl/shader_enums: Add the other two compute builtins

Jose Fonseca jfonseca at vmware.com
Mon Apr 11 21:50:51 UTC 2016


On 25/03/16 23:12, Jason Ekstrand wrote:
> These weren't added before because they are actually calculated values that
> are computed from other inputs.  However, in order to handle them in
> nir_lower_system_values, it's nice for them to have a cannonical locaiton.
> ---
>   src/compiler/shader_enums.c | 2 ++
>   src/compiler/shader_enums.h | 2 ++
>   2 files changed, 4 insertions(+)
>
> diff --git a/src/compiler/shader_enums.c b/src/compiler/shader_enums.c
> index 003ad3b..ff2f564 100644
> --- a/src/compiler/shader_enums.c
> +++ b/src/compiler/shader_enums.c
> @@ -215,6 +215,8 @@ gl_system_value_name(gl_system_value sysval)
>        ENUM(SYSTEM_VALUE_TESS_LEVEL_OUTER),
>        ENUM(SYSTEM_VALUE_TESS_LEVEL_INNER),
>        ENUM(SYSTEM_VALUE_LOCAL_INVOCATION_ID),
> +     ENUM(SYSTEM_VALUE_LOCAL_INVOCATION_INDEX),
> +     ENUM(SYSTEM_VALUE_GLOBAL_INVOCATION_ID),
>        ENUM(SYSTEM_VALUE_WORK_GROUP_ID),
>        ENUM(SYSTEM_VALUE_NUM_WORK_GROUPS),
>        ENUM(SYSTEM_VALUE_VERTEX_CNT),
> diff --git a/src/compiler/shader_enums.h b/src/compiler/shader_enums.h
> index 2ae129b..d44aabf 100644
> --- a/src/compiler/shader_enums.h
> +++ b/src/compiler/shader_enums.h
> @@ -459,6 +459,8 @@ typedef enum
>       */
>      /*@{*/
>      SYSTEM_VALUE_LOCAL_INVOCATION_ID,
> +   SYSTEM_VALUE_LOCAL_INVOCATION_INDEX,
> +   SYSTEM_VALUE_GLOBAL_INVOCATION_ID,
>      SYSTEM_VALUE_WORK_GROUP_ID,
>      SYSTEM_VALUE_NUM_WORK_GROUPS,
>      /*@}*/
>


This changes broke st_glsl_to_tgsi.c.

It seems that code assumes that the MESA and TGSI enums match 1:1.  I 
think it's a bad assumption to make, but it's not a trivial one liner fix.

Everything in gallium is busted without this (every single test is 
asserting).  But it's late for me here to tackle on this.  If there's no 
easy fix, could we revert it?  I can look into making st_glsl_to_tgsi.c 
more robust tomorrow if nobody beats me to it.

Jose


More information about the mesa-dev mailing list