diff options
author | Ian Romanick <[email protected]> | 2013-09-10 12:00:34 -0500 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2013-10-07 09:59:23 -0700 |
commit | 42305fb50256c12b8e7a516115e72ae7089ccd1b (patch) | |
tree | 5017a6d92aeba57f0351c88beecee51e4822a010 /src/glsl/linker.cpp | |
parent | d4b5bc62af3e3e6652801bf1b6377fd46c11f59c (diff) |
glsl: Count shader inputs and outputs separately
Starting with OpenGL 3.2 input limits and output limits for stages may
not match. This means they need to be accounted separately.
No piglit regressions.
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Brian Paul <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
Reviewed-by: Paul Berry <[email protected]>
Diffstat (limited to 'src/glsl/linker.cpp')
-rw-r--r-- | src/glsl/linker.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp index c54b7049bbe..61904dc0ed5 100644 --- a/src/glsl/linker.cpp +++ b/src/glsl/linker.cpp @@ -2203,7 +2203,9 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog) ; /* This must be done after all dead varyings are eliminated. */ - if (!check_against_varying_limit(ctx, prog, sh_next)) + if (!check_against_output_limit(ctx, prog, sh_i)) + goto done; + if (!check_against_input_limit(ctx, prog, sh_next)) goto done; next = i; |