glsl: Fix location bias for patch variables.

We need to subtract VARYING_SLOT_PATCH0, not VARYING_SLOT_VAR0.

Since "patch" only applies to inputs and outputs, we can just handle
this once outside the switch statement, rather than replicating the
check twice and complicating the earlier conditions.

Cc: mesa-stable@lists.freedesktop.org
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com>
This commit is contained in:
Kenneth Graunke 2016-06-24 00:09:00 -07:00
parent 1556f16e46
commit 398428f406
1 changed files with 3 additions and 0 deletions

View File

@ -3866,6 +3866,9 @@ add_interface_variables(struct gl_shader_program *shProg,
continue;
};
if (var->data.patch)
loc_bias = int(VARYING_SLOT_PATCH0);
/* Skip packed varyings, packed varyings are handled separately
* by add_packed_varyings.
*/