From: Ian Romanick Date: Sat, 6 Jan 2018 02:40:21 +0000 (-0800) Subject: glsl/linker: Mark no locations as invalid instead of marking all locations X-Git-Tag: upstream/18.1.0~2795 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0c9df36157aca1e725f037e5adc54100aa387bd3;p=platform%2Fupstream%2Fmesa.git glsl/linker: Mark no locations as invalid instead of marking all locations If max_index were ever 32, the linker would have marked all 32 locations as invalid instead of marking none of them as invalid. It's a good thing the maximum value actually set by any driver for MaxAttribs is 16. Found by inspection while investigating CID 1369628. Signed-off-by: Ian Romanick Reviewed-by: Alejandro PiƱeiro --- diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp index 6f9680a..d1f10ee 100644 --- a/src/compiler/glsl/linker.cpp +++ b/src/compiler/glsl/linker.cpp @@ -2583,7 +2583,7 @@ assign_attribute_or_color_locations(void *mem_ctx, /* Mark invalid locations as being used. */ unsigned used_locations = (max_index >= 32) - ? ~0 : ~((1 << max_index) - 1); + ? 0 : ~((1 << max_index) - 1); unsigned double_storage_locations = 0; assert((target_index == MESA_SHADER_VERTEX)