diff options
author | Iago Toral Quiroga <itoral@igalia.com> | 2017-10-16 12:43:52 +0200 |
---|---|---|
committer | Iago Toral Quiroga <itoral@igalia.com> | 2017-10-19 11:27:12 +0200 |
commit | 2d87caa279ea319fa89572fb8595a46c05a615c4 (patch) | |
tree | c608d2b2430506dfe9829c6ec77990a09fb1a911 /src/compiler/glsl/linker.cpp | |
parent | 16631ca30ea6d6eec8101f07d97a55b2210026e8 (diff) | |
download | mesa-2d87caa279ea319fa89572fb8595a46c05a615c4.tar.gz |
glsl/linker: produce error when invalid explicit locations are used
We only need to add a check to validate output locations here. For
inputs with invalid locations we will fail to link when we can't
find a matching output in the same (invalid) location.
v2: compute location slots properly depending on shader stage and
variable type / direction
Fixes:
KHR-GL45.enhanced_layouts.varying_location_limit
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Diffstat (limited to 'src/compiler/glsl/linker.cpp')
-rw-r--r-- | src/compiler/glsl/linker.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp index 03eb05bf637..37983096784 100644 --- a/src/compiler/glsl/linker.cpp +++ b/src/compiler/glsl/linker.cpp @@ -4929,7 +4929,7 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog) if (!prog->data->LinkStatus) goto done; - cross_validate_outputs_to_inputs(prog, + cross_validate_outputs_to_inputs(ctx, prog, prog->_LinkedShaders[prev], prog->_LinkedShaders[i]); if (!prog->data->LinkStatus) |