[Mesa-dev] [PATCH] glsl: Disallow transform feedback varyings with compute shaders.

Timothy Arceri timothy.arceri at collabora.com
Tue Feb 9 10:21:49 UTC 2016


On Tue, 2016-02-09 at 02:12 -0800, Kenneth Graunke wrote:
> If the only stage is MESA_SHADER_COMPUTE, we should complain that
> there's nothing coming out of the geometry shader stage just as
> we would if the first stage were MESA_SHADER_FRAGMENT.
> 
> Also, it's valid for tessellation shaders to be the stage producing
> transform feedback varyings, so mention those in the compiler error.
> 
> Found by inspection.
> 
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>

Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>

> ---
>  src/compiler/glsl/linker.cpp | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/src/compiler/glsl/linker.cpp
> b/src/compiler/glsl/linker.cpp
> index f1ac53a..3f871ab 100644
> --- a/src/compiler/glsl/linker.cpp
> +++ b/src/compiler/glsl/linker.cpp
> @@ -4452,9 +4452,10 @@ link_shaders(struct gl_context *ctx, struct
> gl_shader_program *prog)
>         *     non-zero, but the program object has no vertex or
> geometry
>         *     shader;
>         */
> -      if (first == MESA_SHADER_FRAGMENT) {
> +      if (first >= MESA_SHADER_FRAGMENT) {
>           linker_error(prog, "Transform feedback varyings specified,
> but "
> -                      "no vertex or geometry shader is present.\n");
> +                      "no vertex, tessellation, or geometry shader
> is "
> +                      "present.\n");
>           goto done;
>        }
>  


More information about the mesa-dev mailing list