diff options
Diffstat (limited to 'src/glsl')
-rw-r--r-- | src/glsl/link_varyings.cpp | 2 | ||||
-rw-r--r-- | src/glsl/linker.cpp | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/glsl/link_varyings.cpp b/src/glsl/link_varyings.cpp index 4ba6d8a2057..c503645fda1 100644 --- a/src/glsl/link_varyings.cpp +++ b/src/glsl/link_varyings.cpp @@ -328,7 +328,7 @@ tfeedback_decl::assign_location(struct gl_context *ctx, const unsigned vector_elements = this->matched_candidate->type->fields.array->vector_elements; unsigned actual_array_size = this->is_clip_distance_mesa ? - prog->Vert.ClipDistanceArraySize : + prog->LastClipDistanceArraySize : this->matched_candidate->type->array_size(); if (this->is_subscripted) { diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp index b23c31a166b..d8f655c3939 100644 --- a/src/glsl/linker.cpp +++ b/src/glsl/linker.cpp @@ -2100,6 +2100,7 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog) validate_vertex_shader_executable(prog, sh); if (!prog->LinkStatus) goto done; + prog->LastClipDistanceArraySize = prog->Vert.ClipDistanceArraySize; _mesa_reference_shader(ctx, &prog->_LinkedShaders[MESA_SHADER_VERTEX], sh); @@ -2132,6 +2133,7 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog) validate_geometry_shader_executable(prog, sh); if (!prog->LinkStatus) goto done; + prog->LastClipDistanceArraySize = prog->Geom.ClipDistanceArraySize; _mesa_reference_shader(ctx, &prog->_LinkedShaders[MESA_SHADER_GEOMETRY], sh); |