[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