[Mesa-dev] [PATCH] mesa: Fix linker-assigned varying component counting since 8fb1e4a462
Brian Paul
brianp at vmware.com
Wed Nov 14 07:08:08 PST 2012
On 11/13/2012 04:22 PM, Eric Anholt wrote:
> The goal of that change was to skip counting things that aren't actually
> outputs from the VS to the FS. However, explicit_location isn't set in
> the case of linker-assigned locations (the common case), so basically
> varying component counting got disabled. At this stage of the linker,
> we've already ensured that var->location is set, so we can just look at
> it without worrying.
>
> Fixes i965 assertion failure with the new
> piglit glsl-max-varyings --exceed-limits.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=51545
> ---
> src/glsl/linker.cpp | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp
> index 86371b5..3b2ab96 100644
> --- a/src/glsl/linker.cpp
> +++ b/src/glsl/linker.cpp
> @@ -2010,8 +2010,7 @@ is_varying_var(GLenum shaderType, const ir_variable *var)
> {
> /* Only fragment shaders will take a varying variable as an input */
> if (shaderType == GL_FRAGMENT_SHADER&&
> - var->mode == ir_var_in&&
> - var->explicit_location) {
> + var->mode == ir_var_in) {
> switch (var->location) {
> case FRAG_ATTRIB_WPOS:
> case FRAG_ATTRIB_FACE:
Reviewed-by: Brian Paul <brianp at vmware.com>
More information about the mesa-dev
mailing list