diff options
author | Marek Olšák <marek.olsak@amd.com> | 2014-10-04 00:13:42 +0200 |
---|---|---|
committer | Marek Olšák <marek.olsak@amd.com> | 2015-07-23 00:59:29 +0200 |
commit | 41acdae2e9eedb697a0f91815e201daf92d74ab4 (patch) | |
tree | 0b5af77a6517a307231b73d421e1d9fbeb7119f6 /src/glsl/link_varyings.cpp | |
parent | 3a4b87f26d6c8c12eb119d72bf46461a7a384ab9 (diff) | |
download | external_mesa3d-41acdae2e9eedb697a0f91815e201daf92d74ab4.zip external_mesa3d-41acdae2e9eedb697a0f91815e201daf92d74ab4.tar.gz external_mesa3d-41acdae2e9eedb697a0f91815e201daf92d74ab4.tar.bz2 |
glsl: don't demote tess control shader outputs
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Diffstat (limited to 'src/glsl/link_varyings.cpp')
-rw-r--r-- | src/glsl/link_varyings.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/glsl/link_varyings.cpp b/src/glsl/link_varyings.cpp index 30fce74..43245b8 100644 --- a/src/glsl/link_varyings.cpp +++ b/src/glsl/link_varyings.cpp @@ -1461,8 +1461,12 @@ assign_varying_locations(struct gl_context *ctx, /* If a matching input variable was found, add this ouptut (and the * input) to the set. If this is a separable program and there is no * consumer stage, add the output. + * + * Always add TCS outputs. They are shared by all invocations + * within a patch and can be used as shared memory. */ - if (input_var || (prog->SeparateShader && consumer == NULL)) { + if (input_var || (prog->SeparateShader && consumer == NULL) || + producer->Type == GL_TESS_CONTROL_SHADER) { matches.record(output_var, input_var); } |