[Mesa-dev] [PATCH] glsl: add packed varyings for outputs with single stage program

Lofstedt, Marta marta.lofstedt at intel.com
Tue Jan 12 06:22:03 PST 2016


Reviewed-by: Marta Lofstedt <marta.lofstedt at intel.com>

> -----Original Message-----
> From: Palli, Tapani
> Sent: Tuesday, January 12, 2016 10:03 AM
> To: mesa-dev at lists.freedesktop.org
> Cc: Lofstedt, Marta; Palli, Tapani
> Subject: [PATCH] glsl: add packed varyings for outputs with single stage
> program
> 
> Commit 8926dc8 added a check where we add packed varyings of output
> stage only when we have multiple stages,  however duplicates are already
> handled by changes in commit 0508d950 and we want to add outputs also in
> case where we have only one stage.
> 
> Fixes regression caused by 8926dc8 for following test:
>    ES31-CTS.program_interface_query.separate-programs-vertex
> 
> Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
> ---
>  src/glsl/linker.cpp | 9 ++-------
>  1 file changed, 2 insertions(+), 7 deletions(-)
> 
> diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp index eb1bdc0..e8c0b98
> 100644
> --- a/src/glsl/linker.cpp
> +++ b/src/glsl/linker.cpp
> @@ -3753,13 +3753,8 @@ build_program_resource_list(struct
> gl_shader_program *shProg)
>        if (!add_packed_varyings(shProg, input_stage, GL_PROGRAM_INPUT))
>           return;
> 
> -      /* Only when dealing with multiple stages, otherwise we would have
> -       * duplicate gl_shader_variable entries.
> -       */
> -      if (input_stage != output_stage) {
> -         if (!add_packed_varyings(shProg, output_stage,
> GL_PROGRAM_OUTPUT))
> -            return;
> -      }
> +      if (!add_packed_varyings(shProg, output_stage,
> GL_PROGRAM_OUTPUT))
> +         return;
>     }
> 
>     if (!add_fragdata_arrays(shProg))
> --
> 2.5.0



More information about the mesa-dev mailing list