[Mesa-dev] [PATCH] nir: fix st_nir_assign_var_locations for patch variables

Timothy Arceri tarceri at itsqueeze.com
Sun Jan 7 02:16:59 UTC 2018


Thanks.

Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>

On 06/01/18 20:01, Karol Herbst wrote:
> Signed-off-by: Karol Herbst <kherbst at redhat.com>
> Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
> ---
>   src/mesa/state_tracker/st_glsl_to_nir.cpp | 8 ++++++--
>   1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/src/mesa/state_tracker/st_glsl_to_nir.cpp b/src/mesa/state_tracker/st_glsl_to_nir.cpp
> index 5683dfcccc..1c5de3d5de 100644
> --- a/src/mesa/state_tracker/st_glsl_to_nir.cpp
> +++ b/src/mesa/state_tracker/st_glsl_to_nir.cpp
> @@ -139,8 +139,12 @@ st_nir_assign_var_locations(struct exec_list *var_list, unsigned *size,
>         }
>   
>         bool processed = false;
> -      if (var->data.patch) {
> -         unsigned patch_loc = var->data.location - VARYING_SLOT_VAR0;
> +      if (var->data.patch &&
> +          var->data.location != VARYING_SLOT_TESS_LEVEL_INNER &&
> +          var->data.location != VARYING_SLOT_TESS_LEVEL_OUTER &&
> +          var->data.location != VARYING_SLOT_BOUNDING_BOX0 &&
> +          var->data.location != VARYING_SLOT_BOUNDING_BOX1) {
> +         unsigned patch_loc = var->data.location - VARYING_SLOT_PATCH0;
>            if (processed_patch_locs & (1 << patch_loc))
>               processed = true;
>   
> 


More information about the mesa-dev mailing list